Opened 13 years ago

Closed 12 years ago

#27647 closed defect (fixed)

python32: undefined symbols ___moddi3 ___divdi3

Reported by: nonstop.server@… Owned by: jyrkiwahlstedt
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: silas.baronda@…, lang@…, glingle@…, tahall256@…, chicagotripp (Altoine Barker)
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 (5)

macports_python32_install.log (200.7 KB) - added by nonstop.server@… 13 years ago.
tty output
main.log (111.6 KB) - added by nonstop.server@… 13 years ago.
macports log
main_v3.2b2_0.log (112.9 KB) - added by nonstop.server@… 13 years ago.
macports_python32v3.2b2_0_install.log (101.5 KB) - added by nonstop.server@… 13 years ago.
main.2.log (112.0 KB) - added by silas.baronda@… 13 years ago.

Download all attachments as: .zip

Change History (19)

Changed 13 years ago by nonstop.server@…

tty output

Changed 13 years ago by nonstop.server@…

Attachment: main.log added

macports log

comment:1 Changed 13 years ago by mf2k (Frank Schima)

Cc: jwa@… removed
Keywords: lang removed
Owner: changed from macports-tickets@… to jwa@…

comment:2 Changed 13 years ago by jmroot (Joshua Root)

Does this still happen with 3.2b2?

comment:3 in reply to:  2 Changed 13 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.

Changed 13 years ago by nonstop.server@…

Attachment: main_v3.2b2_0.log added

Changed 13 years ago by nonstop.server@…

Changed 13 years ago by silas.baronda@…

Attachment: main.2.log added

comment:4 Changed 13 years ago by silas.baronda@…

I think this also applies to PPC architecture.

I attached my main.2.log file.

comment:5 Changed 13 years ago by silas.baronda@…

Cc: silas.baronda@… added

Cc Me!

comment:6 Changed 13 years ago by yaseppochi (Stephen J. Turnbull)

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:7 Changed 13 years ago by lang@…

Cc: lang@… added

Cc Me!

comment:8 Changed 13 years ago by glingle@…

Cc: glingle@… added

Cc Me!

comment:9 Changed 13 years ago by tahall256@…

Cc: tahall256@… added

Cc Me!

comment:10 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: python32 3.2a4 fails to build.python32: undefined symbols ___moddi3 ___divdi3

comment:11 Changed 13 years ago by chicagotripp (Altoine Barker)

Cc: nDiScReEt@… added

Cc Me!

comment:12 Changed 13 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 13 years ago by ned-deily (Ned Deily)

This was fixed upstream in Python 3.2.1 with the fixes for http://bugs.python.org/issue1099

comment:14 Changed 12 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.