Ticket #27647 (closed defect: fixed)
python32: undefined symbols ___moddi3 ___divdi3
| Reported by: | nonstop.server@… | Owned by: | jwa@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.9.2 |
| Keywords: | Cc: | silas.baronda@…, lang@…, glingle@…, tahall256@…, nDiScReEt@… | |
| Port: | python32 |
Description
Port python32 @3.2a4 fail to build.
Summary of error messages from the build:
checking LIBRARY... libpython$(VERSION)$(ABIFLAGS).a
./configure: line 4716: VERSION: command not found
Undefined symbols for architecture i386:
"___moddi3", referenced from:
_PyThread_acquire_lock_timed in libpython3.2m.a(thread.o)
"___divdi3", referenced from:
_PyThread_acquire_lock_timed in libpython3.2m.a(thread.o)
ld: symbol(s) not found for architecture i386
/usr/bin/libtool: internal link edit command failed
make: *** [Python.framework/Versions/3.2/Python] Error 1
shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python32/work/Python-3.2a4" && /usr/bin/make -j2 all MAKE="/usr/bin/make CC=/usr/bin/gcc-4.0" " returned error 2
Error: Target org.macports.build returned: shell command failed (see log for details)
DEBUG: Backtrace: shell command failed (see log for details)
while executing
"command_exec build"
(procedure "portbuild::build_main" line 8)
invoked from within
"$procedure $targetname"
Warning: the following items did not execute (for python32): org.macports.activate org.macports.build org.macports.destroot org.macports.install
Log for python32 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python32/main.log
Error: Status 1 encountered during processing.
OS version:
Darwin 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
Xcode version:
Xcode 3.1.4
Component versions: DevToolsCore-1204.0; DevToolsSupport-1186.0
BuildVersion: 9M2809
Please see the attached log files for a complete list of error messages.
PS The stable version, port python31 @3.1.2, Revision 2, builds just fine.
Attachments
Change History
Changed 4 years ago by nonstop.server@…
- Attachment macports_python32_install.log added
comment:1 Changed 4 years ago by macsforever2000@…
- Owner changed from macports-tickets@… to jwa@…
- Keywords lang removed
- Cc jwa@… removed
comment:3 in reply to: ↑ 2 Changed 4 years ago by nonstop.server@…
Replying to jmr@…:
Does this still happen with 3.2b2?
Unfortunately yes, this also happened when installing version @3.2b2_0 of python32.
Undefined symbols for architecture i386:
"___moddi3", referenced from:
_PyThread_acquire_lock_timed in libpython3.2m.a(thread.o)
_acquire_timed in libpython3.2m.a(_threadmodule.o)
"___divdi3", referenced from:
_PyThread_acquire_lock_timed in libpython3.2m.a(thread.o)
_acquire_timed in libpython3.2m.a(_threadmodule.o)
ld: symbol(s) not found for architecture i386
/usr/bin/libtool: internal link edit command failed
make: *** [Python.framework/Versions/3.2/Python] Error 1
shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python32/work/Python-3.2b2" && /usr/bin/make -j2 all MAKE="/usr/bin/make CC=/usr/bin/gcc-4.0" " returned error 2
Error: Target org.macports.build returned: shell command failed (see log for details)
DEBUG: Backtrace: shell command failed (see log for details)
while executing
"command_exec build"
(procedure "portbuild::build_main" line 8)
invoked from within
"$procedure $targetname"
Warning: the following items did not execute (for python32): org.macports.activate org.macports.build org.macports.destroot org.macports.install
Log for python32 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python32/main.log
Error: Status 1 encountered during processing.
Please see the newly attached log files for a complete list of error messages.
PS My OS and Xcode versions have not changed in the meantime.
comment:4 Changed 4 years ago by silas.baronda@…
I think this also applies to PPC architecture.
I attached my main.2.log file.
comment:6 Changed 4 years ago by stephen@…
This seems to have something to do with use of frameworks, and probably is an upstream problem. A vanilla upstream-style build (just ./configure; make) and a non-framework build using most of the settings of the MacPorts default variants configure, then make and make install both work. Specifically,
CPPFLAGS='-I/opt/local/include -I/opt/local/include/ncurses' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_Users_steve_src_MacPorts_dports_lang_python32/work/.CC_PRINT_OPTIONS' LDFLAGS='-L/opt/local/lib' INSTALL='/usr/bin/install -c' CC_PRINT_OPTIONS='YES' sudo ./configure --prefix=/usr/local --enable-ipv6 --with-computed-gotos make make install
builds, and works fine in light usage so far, but
./configure --prefix=/opt/local --enable-framework=/opt/local/Library/Frameworks --enable-ipv6 --with-computed-gotos make
fails to build in a way very similar to the above logs, with an identical error about __moddi3 etc not provided for the platform. Host data:
python32 @3.2 (lang) svn r77076 (Portfile last changed in r76409) MacBook Pro 2.4 GHz Intel Core 2 Duo Mac OS X version 10.5.8 MacPorts 1.9.99 (svn r68694)
comment:10 Changed 4 years ago by ryandesign@…
- Summary changed from python32 3.2a4 fails to build. to python32: undefined symbols ___moddi3 ___divdi3
comment:12 Changed 4 years ago by nonstop.server@…
I was able to build and install python32 @3.2.1_0.
% port installed name:python32 The following ports are currently installed: python32 @3.2.1_0 (active) % /opt/local/bin/python3.2 Python 3.2.1 (default, Jul 13 2011, 22:43:07) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
Thank you very much for the upgrade!
comment:13 Changed 4 years ago by nad@…
This was fixed upstream in Python 3.2.1 with the fixes for http://bugs.python.org/issue1099


tty output