Distutils gcc error

B

Brian Victor

I am attempting to distribute my wxPython program with the aid of
distutils. I have one C++ module that needs to built on the user's
machine. When I run "./setup.py build", the following appears on the
terminal:

gcc -DNDEBUG -DNDEBUG -g -O3 -Wall -Wstrict-prototypes
-fno-strict-aliasing -fPIC -Isrc -I/usr/include/python2.2 -c src/bwaa.cc
-o build/temp.linux-ppc-2.2/bwaa.o -I/usr/local/lib/wx/include/gtk-2.4
-DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES
[snip]
/usr/local/include/wx/setup.h:15: #error No __WXxxx__ define set! Please
define one of
__WXBASE__,__WXGTK__,__WXMSW__,__WXMOTIF__,__WXMAC__,__WXQT__,__WXPM__,__WXSTUBS__

That error message is consistent with failure to define __WXGTK__.
However, that macro is clearly defined on the command line, and copying
and pasting that line into the terminal causes the build to succeed.
Why would that be?

This is how I have the extention defined in my setup.py file:

wxlibs = commands.getoutput("wx-config --libs")
wxcxxflags = commands.getoutput("wx-config --cxxflags")

bwaaext = Extension("bwaascalec", ["src/bwaa.cc", "src/bwaascale.cc"],
include_dirs=["src"],
extra_link_args=[wxlibs],
extra_compile_args=[wxcxxflags])
[snip]
ext_modules=[bwaaext])

If anyone can point me to a fix, I would appreciate it. Thanks in advance!
 
B

Brian Victor

Following up to myself for googling purposes.

Brian said:
wxlibs = commands.getoutput("wx-config --libs")
wxcxxflags = commands.getoutput("wx-config --cxxflags")

bwaaext = Extension("bwaascalec", ["src/bwaa.cc", "src/bwaascale.cc"],
include_dirs=["src"],
extra_link_args=[wxlibs],
extra_compile_args=[wxcxxflags])

The compiler was taking the chunk of arguments returned by wx-config as
one large, nonsensical argument. This is solved by using:

extra_link_args=wxlibs.split(),
extra_compile_args=wxcxxflags.split())
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top