#61327 closed defect (fixed)
py-rpy2 build fails with clang: error: unsupported option '-fopenmp'
Reported by: | essandess (Steve Smith) | Owned by: | stromnov (Andrey Stromnov) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.3 |
Keywords: | Cc: | chrstphrchvz (Christopher Chavez) | |
Port: | py-rpy2 |
Description
Build of py-rp2 is passing a bad flag to clang:
:info:build /usr/bin/clang -bundle -undefined dynamic_lookup -L/opt/local/lib -W l,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineToo ls/SDKs/MacOSX10.15.sdk -isysroot/Applications/Xcode.app/Contents/Developer/Plat forms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk build/temp.macosx-10.15-x86 _64-3.7/build/temp.macosx-10.15-x86_64-3.7/_rinterface_cffi_api.o -L/opt/local/l ib -L/opt/local/lib -lpcre2-8 -llzma -lbz2 -lz -ldl -lm -liconv -licuuc -licui18 n -o build/lib.macosx-10.15-x86_64-3.7/_rinterface_cffi_api.abi3.so -fopenmp -Wl ,-headerpad_max_install_names -Wl,-syslibroot,/Applications/Xcode.app/Contents/D eveloper/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -arch x86_64 - F/opt/local/Library/Frameworks/R.framework/.. -framework R :info:build clang: error: unsupported option '-fopenmp'
While we're at it, this could use a version bump, and delete obsolete python versions:
port livecheck py-rpy2 py-rpy2 seems to have been updated (port version: 3.3.5, new version: 3.3.6)
Change History (6)
comment:1 Changed 4 years ago by mf2k (Frank Schima)
Cc: | stromnov removed |
---|---|
Owner: | set to stromnov |
Status: | new → assigned |
comment:2 Changed 4 years ago by chrstphrchvz (Christopher Chavez)
comment:3 Changed 4 years ago by chrstphrchvz (Christopher Chavez)
Cc: | chrstphrchvz added |
---|
comment:4 Changed 4 years ago by kencu (Ken)
Here we go. Once we open up the openmp can of worms, we have to follow whereever it all leads. This means sorting out that anything that leaves flags behind in pkgconfig files, etc, needs to somehow always force an openmp compiler to be used with anything that might ever access those pkgconfig files, and we have no such mechanism in place at present.
And because no Apple clang compilers can use the openmp flags, they all fail.
And Ryan has made it clear he does not want every build to be forced to a macports clang compiler as that causes the drives on the buildbots to die prematurely due to all the installing and uninstalling of macports-clang-9.0 (or whichever is the head of the line at that time).
And this is indeed how we came to disable openmp in virtually all builds, until Apple clangs supported openmp (which we all thought might happen before now, but has not happened).
I would suggest we go back to disabling openmp for 99.99% of cases, unless people can sort this out for a specific lonely build, in a specific case, that can affect no other software.
comment:5 Changed 3 years ago by essandess (Steve Smith)
comment:6 Changed 3 years ago by essandess (Steve Smith)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
I don't see in rpy2 source code where it uses OpenMP, so I'm not sure whether it should be forced to use an OpenMP-capable compiler (by setting
compiler.openmp_version
). I wonder if this is due to the+openmp
variant recently added and made default in theR
port (#61256) and if that is leaving behind-fopenmp
as a flag for R extensions to compile with (possibly assuming that extensions will be compiled using the same compiler as R itself).