Re: [modwsgi] Error when using make for mod_wsgi 3.3

192 views
Skip to first unread message

Graham Dumpleton

unread,
Aug 31, 2012, 1:34:07 AM8/31/12
to mod...@googlegroups.com
I already provided my response at:

http://stackoverflow.com/questions/12200323/error-when-using-make-for-mod-wsgi-3-3

Looks to be something wrong with your Python installation.

This used to only occur on MacOSX with older Python versions which
didn't support fat binaries with multiple architectures. Apple
provided their own patched version which fixed it, but original Python
distro would give this until it was somehow fixed.

You should post what configure options you use when building that
custom Python version and compare it to option used for standard
distro version.

Configure flags can be found in lib/pythonX.Y/config/Makefile of where
ever Python is installed.

You may have to replicate configure options that correctly installed
version uses.

Graham

On 31 August 2012 01:19, ldavidson <lemard...@gmail.com> wrote:
> Hi,
>
> I am getting the following error when trying to run "make" on mod_wsgi 3.3
> compilation on CentOS x86_64:
>
> /usr/local/include/python2.6/pyport.h:694:2: error: #error "LONG_BIT
> definition appears wrong for platform (bad gcc/glibc config?)."
>
>
> Setup Info:
>
> My configure script:
>
> ./configure --prefix=/usr/local --with-python=/usr/local/bin/python2.6
> --with-apxs=/usr/sbin/apxs
>
> make:
>
> LD_RUN_PATH=/usr/local/lib make
>
>
> file /usr/local/bin/python2.6:
> /usr/local/bin/python2.6: ELF 64-bit LSB executable, AMD x86-64, version 1
> (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), not
> stripped
>
> file /usr/sbin/httpd:
> /usr/sbin/httpd: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV),
> for GNU/Linux 2.6.9, stripped
>
>
>
> Please help.
>
> Thanks alot.
>
> --
> You received this message because you are subscribed to the Google Groups
> "modwsgi" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/modwsgi/-/EYr7tyiaznMJ.
> To post to this group, send email to mod...@googlegroups.com.
> To unsubscribe from this group, send email to
> modwsgi+u...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/modwsgi?hl=en.

ldavidson

unread,
Aug 31, 2012, 2:55:36 PM8/31/12
to mod...@googlegroups.com

Thanks alot for your help.

I have been using this configure script, part of which is from linuxfromscratch.com:

sed -i "s/ndbm_libs = \[\]/ndbm_libs = ['gdbm', 'gdbm_compat']/" setup.py && ./configure --prefix=/usr/local --enable-shared --with-threads       

I am running 64 bit apache.  Should I be adding an flag/option for 64 bit in my configure script for python?  If yes, do you know what those options are? 

Graham Dumpleton

unread,
Aug 31, 2012, 11:45:31 PM8/31/12
to mod...@googlegroups.com
Go look at how a standard Python installation on your platform is
built to work out what options you perhaps should use to configure for
Python.

On my system where Python 2.6 is the default, I can look in:

/usr/lib/python2.6/config/Makefile

and then find:

# configure script arguments
CONFIG_ARGS= '--prefix=/usr' '--mandir=/usr/share/man'
'--infodir=/usr/share/info' '--disable-dependency-tracking'
'--enable-ipv6' '--with-threads'
'--enable-framework=/System/Library/Frameworks'
'--enable-toolbox-glue' '--enable-dtrace' '--with-system-ffi'
'--with-gcc=gcc-4.2' 'CC=gcc-4.2' 'CXX=g++-4.2' 'CFLAGS=-g -Os -pipe
-fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd
-I/usr/include/ffi -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall
-Wstrict-prototypes -Wshorten-64-to-32' 'LDFLAGS=-Wl,-F.'

This shows me how system wide Python was built.

Find the same for system wide Python on your system and use it as a
guide to work out whether there are any specific options you need to
supply.

Don't copy it blindly though as installation paths aren't going to be
what you want because you will overwrite your system Python then.

Graham
> --
> You received this message because you are subscribed to the Google Groups
> "modwsgi" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/modwsgi/-/bcPgJlCMjDkJ.

ldavidson

unread,
Sep 4, 2012, 12:26:42 PM9/4/12
to mod...@googlegroups.com
Thanks.  I was able to re-install python with these system wide options.  I noticed that the system wide options don't appear to be for 64 bit but the compile did still work (though my system is x86_64).  So for some reason, I still am getting that "LONG BIT" error even when I build/make mod_wsgi against the newly installed python.  Here are the "system wide" options that I used for installing python 2.7.3 (system already had 2.6):

'--build=i386-redhat-linux-gnu' '--host=i386-redhat-linux-gnu' '--target=i386-redhat-linux-gnu' '--progra
m-prefix=' '--prefix=/usr/local' '--exec-prefix=/usr/local' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--
sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/us
r/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/s
hare/info' '--enable-ipv6' '--enable-unicode=ucs4' '--enable-shared' '--with-valgrind' '--with-system-exp
at' 'CC=gcc' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ss
p-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -I/usr/k
erberos/include  ' 'LDFLAGS= -L/usr/kerberos/lib  ' 'build_alias=i386-redhat-linux-gnu' 'host_alias=i386-
redhat-linux-gnu' 'target_alias=i386-redhat-linux-gnu'


And here are the configure options I used for mod_wsgi:

./configure --prefix=/usr/local  --with-python=/usr/local/bin/python2.7 --with-apxs=/usr/sbin/apxs


And here is the error that I am getting when I try to make mod_wsgi:

make
/usr/sbin/apxs -c -I/usr/local/include/python2.7 -DNDEBUG   mod_wsgi.c -L/usr/local/lib -L/usr/local/lib/python2.7/config  -lpython2.7 -lpthread -ldl  -lutil -lm
/usr/lib/apr-1/build/libtool --silent --mode=compile gcc -prefer-pic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing  -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -pthread -I/usr/include/httpd  -I/usr/include/apr-1   -I/usr/include/apr-1  -I/usr/local/include/python2.7 -DNDEBUG  -c -o mod_wsgi.lo mod_wsgi.c && touch mod_wsgi.slo
In file included from /usr/local/include/python2.7/Python.h:58,
                 from mod_wsgi.c:135:
/usr/local/include/python2.7/pyport.h:849:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
mod_wsgi.c: In function 'wsgi_server_group':
mod_wsgi.c:949: warning: unused variable 'value'
mod_wsgi.c: In function 'Log_isatty':
mod_wsgi.c:1606: warning: unused variable 'result'
mod_wsgi.c: In function 'Log_writelines':
mod_wsgi.c:1743: warning: unused variable 'msg'
mod_wsgi.c: In function 'Adapter_output':
mod_wsgi.c:3022: warning: unused variable 'n'
mod_wsgi.c: In function 'Adapter_file_wrapper':
mod_wsgi.c:4036: warning: unused variable 'result'
mod_wsgi.c: In function 'wsgi_python_term':
mod_wsgi.c:5643: warning: unused variable 'tstate'
mod_wsgi.c:5642: warning: unused variable 'interp'
mod_wsgi.c: In function 'wsgi_python_child_init':
mod_wsgi.c:6792: warning: unused variable 'l'
mod_wsgi.c:6690: warning: unused variable 'interp'
mod_wsgi.c: In function 'wsgi_add_import_script':
mod_wsgi.c:7443: warning: unused variable 'error'
mod_wsgi.c: In function 'wsgi_add_handler_script':
mod_wsgi.c:7891: warning: unused variable 'dconfig'
mod_wsgi.c:7890: warning: unused variable 'sconfig'
mod_wsgi.c: In function 'wsgi_hook_handler':
mod_wsgi.c:8937: warning: suggest parentheses around assignment used as truth value
mod_wsgi.c:8939: warning: suggest parentheses around assignment used as truth value
mod_wsgi.c:8941: warning: suggest parentheses around assignment used as truth value
mod_wsgi.c:8945: warning: suggest parentheses around assignment used as truth value
mod_wsgi.c:8965: warning: suggest parentheses around assignment used as truth value
mod_wsgi.c:8967: warning: suggest parentheses around assignment used as truth value
mod_wsgi.c:8970: warning: suggest parentheses around assignment used as truth value
mod_wsgi.c: In function 'wsgi_daemon_worker':
mod_wsgi.c:10279: warning: unused variable 'duration'
mod_wsgi.c:10278: warning: unused variable 'start'
mod_wsgi.c: In function 'wsgi_hook_daemon_handler':
mod_wsgi.c:12499: warning: unused variable 'i'
mod_wsgi.c:12497: warning: unused variable 'elts'
mod_wsgi.c:12496: warning: unused variable 'head'
apxs:Error: Command failed with rc=65536
.
make: *** [mod_wsgi.la] Error 1






Please help again if/when you can.

Thanks.

Graham Dumpleton

unread,
Sep 5, 2012, 6:41:07 PM9/5/12
to mod...@googlegroups.com
Are you using system gcc or a self installed one?

Running out of ideas here. As I think I said before, previously only
seen this on MacOS X.

Graham
> https://groups.google.com/d/msg/modwsgi/-/oSanrr0jsu8J.

ldavidson

unread,
Sep 14, 2012, 10:33:08 AM9/14/12
to mod...@googlegroups.com
I think I am going to move from CentOS 5.8 to Red Hat for this project. Thanks for all your help.
Reply all
Reply to author
Forward
0 new messages