[MacPorts] #35443: py26-pynifti
#35443: py26-pynifti -----------------------------+---------------------------------------------- Reporter: ns358@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Keywords: | Port: -----------------------------+---------------------------------------------- Failure to install. I've tried sudo port install py26-pynifti configure.compiler=llvm-gcc-4.2 sudo port install py26-pynifti configure.compiler=apple-gcc-4.2 configure.cxx=g++-apple-4.2 and the patch from Ticket #32268 has been applied. -- Ticket URL: <https://trac.macports.org/ticket/35443> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35443: py25-pynifti, py26-pynifti: ld: unknown option: --no-undefined -----------------------------+---------------------------------------------- Reporter: ns358@… | Owner: jameskyle@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Keywords: clang | Port: py25-pynifti, py26-pynifti -----------------------------+---------------------------------------------- Changes (by ryandesign@…): * owner: macports-tickets@… => jameskyle@… * keywords: => clang * port: => py25-pynifti, py26-pynifti Old description:
Failure to install.
I've tried sudo port install py26-pynifti configure.compiler=llvm-gcc-4.2 sudo port install py26-pynifti configure.compiler=apple-gcc-4.2 configure.cxx=g++-apple-4.2 and the patch from Ticket #32268 has been applied.
New description: Failure to install. I've tried {{{ sudo port install py26-pynifti configure.compiler=llvm-gcc-4.2 sudo port install py26-pynifti configure.compiler=apple-gcc-4.2 configure.cxx=g++-apple-4.2 }}} and the patch from Ticket #32268 has been applied. -- Comment: Sounds like the project contains a typo: "--no-undefined" should be "-no- undefined" (one leading hyphen, not two). Sounds like that's what #32268 was supposed to have fixed. Maybe there's more than one occurrence of the problem. Python modules (e.g. py26-pynifti) ignore configure.compiler and instead use the compiler that was used to compile the corresponding python port (e.g. python26) so manually overriding configure.compiler when building a python module has no effect. Manually adding configure.cxx when setting the compiler to apple-gcc-4.2 has not been necessary since the release of MacPorts 2.0.4; if we still have documentation somewhere saying this is necessary, please let us know where so that we can correct it. -- Ticket URL: <https://trac.macports.org/ticket/35443#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35443: py25-pynifti, py26-pynifti: ld: unknown option: --no-undefined -----------------------------+---------------------------------------------- Reporter: ns358@… | Owner: jameskyle@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Keywords: clang | Port: py25-pynifti, py26-pynifti -----------------------------+---------------------------------------------- Comment(by ns358@…): Replying to [comment:1 ryandesign@…]:
Sounds like the project contains a typo: "--no-undefined" should be "-no-undefined" (one leading hyphen, not two). Sounds like that's what #32268 was supposed to have fixed. Maybe there's more than one occurrence of the problem.
Python modules (e.g. py26-pynifti) ignore configure.compiler and instead use the compiler that was used to compile the corresponding python port (e.g. python26) so manually overriding configure.compiler when building a python module has no effect.
Manually adding configure.cxx when setting the compiler to apple-gcc-4.2 has not been necessary since the release of MacPorts 2.0.4; if we still have documentation somewhere saying this is necessary, please let us know where so that we can correct it.
Thanks. I have removed the extra '-' from patch-setup-py.diff but still get the error (see below). Am I missing something? The suggestion of the configure.compliers etc was from the previous ticket. --- setup.py.orig 2009-03-04 03:13:23.000000000 +1100 +++ setup.py 2012-06-25 12:54:38.000000000 +1000 @@ -21,7 +21,7 @@ # Common configuration # ######################## -extra_link_args = ['--Wl,-no-undefined'] +extra_link_args = ['-Wl,-no-undefined'] include_dirs = [] library_dirs = [] defines = [] @@ -45,11 +45,8 @@ else: # try to look for nifticlibs in some place if not sys.platform.startswith('win'): - include_dirs += ['/usr/include/nifti', - '/usr/include/nifticlibs', - '/usr/local/include/nifti', - '/usr/local/include/nifticlibs', - '/usr/local/include'] + include_dirs += ['@@PREFIX@@/include/nifti'] + library_dirs.append('@@PREFIX@@/lib') else: # no clue on windows pass -- Ticket URL: <https://trac.macports.org/ticket/35443#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35443: py25-pynifti, py26-pynifti: ld: unknown option: --no-undefined -----------------------------------------+------------------------- Reporter: ns358@… | Owner: jameskyle@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Resolution: | Keywords: clang Port: py25-pynifti, py26-pynifti | -----------------------------------------+------------------------- Comment (by jmr@…): Replying to [comment:1 ryandesign@…]:
Python modules (e.g. py26-pynifti) ignore configure.compiler and instead use the compiler that was used to compile the corresponding python port (e.g. python26) so manually overriding configure.compiler when building a python module has no effect.
This is not true in general. -- Ticket URL: <https://trac.macports.org/ticket/35443#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35443: py25-pynifti, py26-pynifti: ld: unknown option: --no-undefined -----------------------------------------+------------------------- Reporter: ns358@… | Owner: jameskyle@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Resolution: | Keywords: Port: py25-pynifti, py26-pynifti | -----------------------------------------+------------------------- Changes (by jmr@…): * keywords: clang => Comment: Besides which, the log clearly shows llvm-gcc-4.2 being used. -- Ticket URL: <https://trac.macports.org/ticket/35443#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35443: py25-pynifti, py26-pynifti: ld: unknown option: --no-undefined -----------------------------------------+------------------------- Reporter: ns358@… | Owner: jameskyle@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Resolution: fixed | Keywords: Port: py25-pynifti, py26-pynifti | -----------------------------------------+------------------------- Changes (by ryandesign@…): * status: new => closed * cc: ryandesign@… (added) * resolution: => fixed Comment: Ok yes, I confirm that even if we fix setup.py to use "`extra_link_args = ['-Wl,-no-undefined']`" we still get the error: {{{ /usr/bin/clang -isysroot / -L/opt/local/lib -bundle -undefined dynamic_lookup -m64 build/temp.macosx-10.8-x86_64-2.6/build/src.macosx-10.8-x86_64-2.6/nifti/clib_wrap.o -L/opt/local/lib -lniftiio -o build/lib.macosx-10.8-x86_64-2.6/nifti/_clib.so -Wl,-no-undefined -bundle ld: unknown option: -no-undefined }}} I think `ld` is getting confused because we're asking for both "`-undefined dynamic_lookup`" (comes from python's config/Makefile) and "`-no-undefined`" (comes from pynifti's setup.py). I also see "`-bundle`" is specified twice, once from each, which is unnecessary. I think it's safe to remove the duplicate and conflicting options from pynifti's setup.py and just use the options python sets. Done with some other changes in r98768. -- Ticket URL: <https://trac.macports.org/ticket/35443#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts