#18618 closed defect (invalid)
Python-2.6.1 +universal Installation Error - symbol not found during staging
Reported by: | griff.rees@… | Owned by: | blb@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.7.0 |
Keywords: | python26 64bit | Cc: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
Port: | python26 |
Description
Hi, I'm trying to build +universal to make use of my intel quad core. I'm on Leopard 10.5.6
staging python26 into destroot Error: Target org.macports.destroot returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/Python-2.6.1" && make frameworkinstall maninstall MAKE="make CC=/usr/bin/gcc-4.0" DESTDIR=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/destroot " returned error 2 Command output: cd PythonLauncher && make install DESTDIR=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/destroot test -d "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/destroot/Applications/MacPorts/Python 2.6" || mkdir -p "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/destroot/Applications/MacPorts/Python 2.6" test -d "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/destroot/Applications/MacPorts/Python 2.6/Python Launcher.app" && rm -r "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/destroot/Applications/MacPorts/Python 2.6/Python Launcher.app" cp -r "Python Launcher.app" "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/destroot/Applications/MacPorts/Python 2.6" touch "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/destroot/Applications/MacPorts/Python 2.6/Python Launcher.app" cd IDLE && make install rm -fr IDLE.app DYLD_FRAMEWORK_PATH=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/Python-2.6.1: arch -ppc -i386 ../../python.exe ./../../Lib/plat-mac/bundlebuilder.py \ --builddir=. \ --name=IDLE \ --link-exec \ --plist=Info.plist \ --mainprogram=./idlemain.py \ --iconfile=./../Icons/IDLE.icns \ --resource=./../Icons/PythonSource.icns \ --resource=./../Icons/PythonCompiled.icns \ --python=/opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python`test -f "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python-32" && echo "-32"` \ build Traceback (most recent call last): File "./../../Lib/plat-mac/bundlebuilder.py", line 40, in <module> from plistlib import Plist File "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/Python-2.6.1/Lib/plistlib.py", line 61, in <module> import binascii ImportError: dlopen(/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/Python-2.6.1/build/lib.macosx-10.5-fat-2.6/binascii.so, 2): Symbol not found: _crc32 Referenced from: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python26/work/Python-2.6.1/build/lib.macosx-10.5-fat-2.6/binascii.so Expected in: dynamic lookup make[2]: *** [IDLE.app] Error 1 make[1]: *** [install_IDLE] Error 2 make: *** [frameworkinstallapps] Error 2 Error: Status 1 encountered
Change History (10)
comment:1 Changed 16 years ago by mf2k (Frank Schima)
Cc: | mcalhoun@… added |
---|---|
Owner: | changed from macports-tickets@… to blb@… |
Port: | +universal removed |
comment:2 Changed 16 years ago by blb@…
comment:3 follow-up: 4 Changed 16 years ago by griff.rees@…
mmm. Will check. I'm trying to build for 64bit-ness as per #16349, which claims that it's "fixed" for python2.6. Since there's no 64bit variant and it's supposedly "fixed" I guessed the universal build was what I wanted (and that os x would choose the "right" one for my proc).
Am I right in now guessing that to benefit from the changes to #16349 I will need to run macports svn, or manually alter the portfile?
Thanks,
-griff
comment:4 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Replying to griff.rees@…:
Am I right in now guessing that to benefit from the changes to #16349 I will need to run macports svn, or manually alter the portfile?
No, that should not be necessary.
There is a configuration file called
macports.conf
which allows you to specify what is meant by "universal."
To include 64-bit intel binaries in the universal build, then you should append x86_64 to the universal_archs variable.
The default is i386 ppc.
Each library pythnon links to (look at the dependencies) must also be built as universal with the same
universal_archs value.
Unfortunately, there is no way at this time for MacPorts to check this for you.
That is why comment 2 suggested that perhaps zlib had not been build as a universal.
comment:5 follow-up: 6 Changed 16 years ago by griff.rees@…
Cool. Thanks very much. Would there be any downside to me switching my universal build to _just_ 64_bit, and then rebuilding my whole system that way (thus just using the universal variant as a proxy for 64_bit)?
It matters most for python though... I will look into rebuilding zlib etc.
Thanks very much for your help
comment:6 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Replying to griff.rees@…:
Cool. Thanks very much. Would there be any downside to me switching my universal build to _just_ 64_bit, and then rebuilding my whole system that way (thus just using the universal variant as a proxy for 64_bit)?
Unfortunately, the answer depends on which ports your want to install.
Some support universal builds and some do not.
There is the additional wrinkle that special code gets invoked when there is just one architecture in the universal build.
I am not sure what the motivation for it was, but it has caused problems at least
once before.
For this reason, I would suggest that perhaps i386/x86_64 universal is a safer bet.
Setting +universal in variants.conf might make it easier to build everything as a universal.
comment:7 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Have the previous suggestions solved this problem?
comment:8 follow-up: 9 Changed 16 years ago by griff.rees@…
Sorry yes, recompiling most of the dependencies did fix the problem. Sorry didn't get back to you sooner. Thanks very much for the help.
comment:9 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → invalid |
---|---|
Status: | new → closed |
Replying to griff.rees@…:
Sorry yes, recompiling most of the dependencies did fix the problem. Sorry didn't get back to you sooner. Thanks very much for the help.
Glad to hear it worked.
crc32 comes from zlib, so is your zlib port also installed +universal?
Also,
+universal means to build for PowerPC and Intel so building without +universal should only build for your Intel CPU.
If it's 64bit-ness you're looking for, that's ticket #16349.