msg70935 - (view) |
Author: Barry Alan Scott (barry-scott) * |
Date: 2008-08-09 16:45 |
I wanted to use Py_DEBUG build to help debug a problem with ref counts in a C++ extension. I cannot find eprintf in the sources of python where does this symbol come from? How do I fix the build to define it? $ sw_vers ProductName: Mac OS X ProductVersion: 10.4.11 BuildVersion: 8S165 $ ./configure --enable-framework --enable-debug --with-pydebug $ make ... /usr/bin/install -c -d -m 755 Python.framework/Versions/3.0 if test ""; then \ gcc -o Python.framework/Versions/3.0/Python -dynamiclib \ -isysroot "" \ -all_load libpython3.0.a -Wl,-single_module \ -install_name /Library/Frameworks/Python.framework/Versions/3.0/Python \ -compatibility_version 3.0 \ -current_version 3.0; \ else \ /usr/bin/libtool -o Python.framework/Versions/3.0/Python -dynamic libpython3.0.a \ -lSystem -lSystemStubs -arch_only ppc -install_name /Library/Frameworks/Python.framework/Versions/3.0/Python -compatibility_version 3.0 -current_version 3.0 ;\ fi ld: Undefined symbols: ___eprintf /usr/bin/libtool: internal link edit command failed make: *** [Python.framework/Versions/3.0/Python] Error 1 |
|
|
msg70942 - (view) |
Author: Martin v. Löwis (loewis) *  |
Date: 2008-08-09 17:31 |
Are you sure you are using the correct compiler (i.e. from the XCode release relevant for your operating system version)? |
|
|
msg70951 - (view) |
Author: Barry Alan Scott (barry-scott) * |
Date: 2008-08-09 19:02 |
As far as I know I'm using the Xcode compiler. Does this match your expectations? $ which gcc /usr/bin/gcc $ gcc -v Using built-in specs. Target: powerpc-apple-darwin8 Configured with: /private/var/tmp/gcc/gcc-5341.obj~1/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8 --target=powerpc-apple-darwin8 Thread model: posix gcc version 4.0.1 (Apple Computer, Inc. build 5341) |
|
|
msg70963 - (view) |
Author: Martin v. Löwis (loewis) *  |
Date: 2008-08-10 07:11 |
This might be a duplicate of issue 1099. Can you try building with --enable-universalsdk ? __eprintf should have been defined in libgcc, or else assert() should not call it. To investigate this further, you should determine how many copies of assert.h you have, whether they all refer to __eprintf, how many copies of libgcc you have, whether they all define __eprintf, and which header file and which library gets used. |
|
|
msg70983 - (view) |
Author: Barry Alan Scott (barry-scott) * |
Date: 2008-08-10 15:54 |
I have Xcode 2.3 which is quite old. Simple program to test assert works with my current setup. I'm going to update to Xcode 2.5 and see what happens. I'll report back once I've installed and rebuild python. |
|
|
msg70984 - (view) |
Author: Barry Alan Scott (barry-scott) * |
Date: 2008-08-10 17:20 |
Xcode 2.5 solves the build issue. I suspect you can close the 1099 saying use Xcode 2.5. I think you can only get 2.5 by login in to the Apple developer site. |
|
|
msg70995 - (view) |
Author: Barry Alan Scott (barry-scott) * |
Date: 2008-08-10 19:40 |
Grr... this problem is a pain... I have the __eprint undefined back... I tried to get readline going as well and rebuilt. Couldn't get that working then rebuilt without readline stuff and got the __eprintf. I'm goint to have to give up on devleoping this on Mac and move to linux. I don't have the spare time to get to the bottom of this problem. |
|
|