Date: Sun, 03 Oct 2021 11:27:21 +0000 From: bugzilla-noreply@freebsd.org To: ports-bugs@FreeBSD.org Subject: [Bug 258887] math/R: fails to build with clang/openmp 13 due to old mgcv Message-ID: <bug-258887-7788@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D258887 Bug ID: 258887 Summary: math/R: fails to build with clang/openmp 13 due to old mgcv Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: jrm@freebsd.org Reporter: dim@FreeBSD.org Assignee: jrm@freebsd.org Flags: maintainer-feedback?(jrm@freebsd.org) During an exp-run for llvm 13 (see bug 258209), it turned out that math/R f= ails to build with clang 13 (http://gohan04.nyi.freebsd.org/data/mainamd64PR258209-default/2021-09-30_0= 6h20m28s/logs/errors/R-4.1.1_1.log): begin installing recommended package mgcv * installing *source* package =E2=80=98mgcv=E2=80=99 ... ** package =E2=80=98mgcv=E2=80=99 successfully unpacked and MD5 sums checked ** using non-staged installation ** libs gmake[4]: Entering directory '/tmp/RtmpJN7T4d/R.INSTALLb1494371d851/mgcv/sr= c' cc -I"/wrkdirs/usr/ports/math/R/work/R-4.1.1/include" -DNDEBUG=20=20 -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fopenmp -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -c coxph.c -o coxph.o cc -I"/wrkdirs/usr/ports/math/R/work/R-4.1.1/include" -DNDEBUG=20=20 -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fopenmp -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -c davies.c -o davies.o cc -I"/wrkdirs/usr/ports/math/R/work/R-4.1.1/include" -DNDEBUG=20=20 -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fopenmp -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -c discrete.c -o discrete.o In file included from discrete.c:28: /usr/include/omp.h:484:39: error: expected 'match' clause on 'omp declare variant' directive #pragma omp begin declare variant match(device=3D{kind(host)}) ^ /wrkdirs/usr/ports/math/R/work/R-4.1.1/include/Rinternals.h:1640:17: note: expanded from macro 'match' #define match Rf_match ^ In file included from discrete.c:28: /usr/include/omp.h:487:39: error: expected 'match' clause on 'omp declare variant' directive #pragma omp begin declare variant match(device=3D{kind(nohost)}) ^ /wrkdirs/usr/ports/math/R/work/R-4.1.1/include/Rinternals.h:1640:17: note: expanded from macro 'match' #define match Rf_match ^ 2 errors generated. What happens here is that the mgcv package includes <omp.h> *after* includi= ng <R.h>, which causes the conflict between the "#define match" and the openm pragma line which uses match(). This problem was fixed in mgcv 1.8-37 (https://cran.r-project.org/web/packages/mgcv/ChangeLog) with the small mention: > 1.8-37 >=20 > * minor update for clang compatibility. basically, in most of the .c files, "#include <omp.h>" was moved before "#include <R.h>". Locally, I was able to 'fix' it by replacing /wrkdirs/usr/ports/math/R/work/R-4.1.1/src/library/Recommended/mgcv.tgz wit= h a copy of https://cran.r-project.org/src/contrib/mgcv_1.8-37.tar.gz, but I am unsure how this can be done more correctly for the math/R port. Maybe the mgcv_1.8-37.tar.gz file can be added as an additional distfile, a= nd added to the port Makefile, somehow? Any ideas are welcome. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-258887-7788>