[egenix-users] Error compiling egenix-mx-base (again)

M.-A. Lemburg mal at egenix.com
Sat Aug 18 00:56:05 CEST 2012

eonardo Santagada wrote:
> On Fri, Aug 10, 2012 at 6:51 PM, M.-A. Lemburg <mal at egenix.com> wrote:
>> Leonardo Santagada wrote:
>>> didn't work http://pastebin.com/59uiaH3s
>> Are you sure you have Xcode installed on that machine ?
>> """
>> Compiling with an SDK that doesn't seem to exist: /Developer/SDKs/MacOSX10.6.sdk
>> Please check your Xcode installation
>> """
> pretty much, it is how I compile everything from homebrew. the
> /Developer dir doesn't exist anymore on the newer xcode. Strangely I
> can compile other python extensions on this python, and also I did
> install a homebrew python and even egenix was pip installed.

I've had a closer look at the transcript you sent

The problem is that setup.py first detects that you have a working
libm in the system:

clang -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -DHAVE_STRPTIME=1 -DMAL_DEBUG
-I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/usr/local/include
-I/Library/Frameworks/Python.framework/Versions/2.7/include -c _configtest.c -o _configtest.o
clang _configtest.o -L/usr/local/lib -L/Library/Frameworks/Python.framework/Versions/2.7/lib -lm -o
removing: _configtest.c _configtest.o _configtest
found optional library 'm' -- defining HAVE_M_LIB

but the linker then fails when trying to link the mxDateTime shared
lib using a dual-architecture link step:

clang -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -DUSE_FAST_GETCURRENTTIME
-Imx/DateTime/mxDateTime -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
-I/usr/local/include -I/Library/Frameworks/Python.framework/Versions/2.7/include -c
mx/DateTime/mxDateTime/mxDateTime.c -o
clang -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -isysroot
/Developer/SDKs/MacOSX10.6.sdk -isysroot /Developer/SDKs/MacOSX10.6.sdk -g -arch i386 -arch x86_64
-L/usr/local/lib -L/Library/Frameworks/Python.framework/Versions/2.7/lib -lm -o
ld: library not found for -lm

This suggests that the libm is not available for one of the architectures
or the SDK 10.6 in general.

I am a bit surprised that the SDK settings are only pulled in during
the link step.  I double checked this with Python 2.6 and 2.5. 2.6
also doesn't compile with SDK settings, but 2.5 does. We'll have to
investigate this some more.

Could you try compiling with this environment variable set to 1:

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Aug 17 2012)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
2012-08-25: FrOSCon, St. Augustin, Germany ...              8 days to go

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611

More information about the egenix-users mailing list