Opened 4 years ago

Closed 3 years ago

Last modified 3 years ago

#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: newassigned

comment:2 Changed 4 years ago by chrstphrchvz (Christopher Chavez)

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 the R 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).

comment:3 Changed 4 years ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added

comment:4 Changed 4 years ago by kencu (Ken)

Once we open up the openmp issue, we have to follow wherever it leads. The issue has been that software that leaves openmp flags behind in pkgconfig files, etc, needs to always force an openmp compiler to be used with anything that might access those pkgconfig files, and we have no mechanism in place at present for one port to force another to do that.

And because no Apple clang compilers can use the openmp flags (when last I tested), they all fail.

Last edited 3 years ago by kencu (Ken) (previous) (diff)

comment:6 Changed 3 years ago by essandess (Steve Smith)

Resolution: fixed
Status: assignedclosed

In b4aa8b2166a93b177815077c912a3df9d0d58d0d/macports-ports (master):

py-rpy2: Update to version 3.4.5, Remove Python 35, Add Python 39, Bugfix

  • Update to version 3.4.5
  • Remove Python 35
  • Add Python 39
  • Fixes: #61327
Note: See TracTickets for help on using tickets.