|
Hans-Joachim Ehlers
HansJoachim.Ehlers at eumetsat.int
Tue Jan 10 05:18:15 EST 2006
First sorry for Top posting. I have to use an &GR() novell email client
Next Error:
"tableobject.c", line 1057.5: 1506-196 (E) Initialization between types
"void(*)(void*)" and "void(*)(struct _object*)" is not allowed.
apxs:Error: Command failed with rc=65536
Changed : "tableobject.c", line 1057.5
from
(destructor)table_dealloc, /* tp_free */
to
(void(*)(void*))table_dealloc, /* tp_free */
Changed: "serverobject.c", line 335.5:
from
(destructor)server_dealloc, /* tp_free */
to
(void(*)(void*))server_dealloc, /* tp_free */
...
1)
so all /* tp_free */ lines has been changed to (void(*)(void*))
instead of (destructor)
No further problems with Code sofar.
2)
Under AIX the Compilation of python is somehow quite uncommon
Just see the out from from the mod_python make:
/usr/local/apache2/build/libtool --silent --mode=link xlc_r -o
mod_python.la -rpath /usr/local/apache2/modules -module -avoid-version
-Wl,-brtl hlistobject.lo hlist.lo filterobject.lo connobject.lo
serverobject.lo util.lo tableobject.lo requestobject.lo _apachemodule.lo
mod_python.lo -L/usr/local/lib/python2.4/config
-Wl,-bE:Modules/python.exp -lld -L/opt/freeware/lib -ltk8.3 -ltcl8.3 -lm
-lpython2.4 -ldl -lm
ld: 0706-004 Cannot find or read export file: Modules/python.exp
These ./python.exp can be found as
/usr/local/lib/python2.4/config/python.exp in the installed python
distribution
So the Makefile for Modpython should have a Section for AIX where the
makefile does the following:
Get the python installation directory ( in my case
/usr/local/lib/python2.4 )
Create a Subdirectory in ./src for Modules ( mkdir Modules )
Creates a Link in ./src/Modules to
/usr/local/lib/python2.4/config/python.exp
OR
just makes mkdir ./src/Modules && touch ./src/Modules/python.exp
I have tested both without problems but i would prefer the first one.
After that i get from a make:
xlc_r -O -Isrc/include -I/usr/local/include/python2.4 -c
src/_pspmodule.c -o build/temp.aix-5.1-2.4/src/_pspmodule.o
"src/_pspmodule.c", line 32.61: 1506-137 (E) Declaration must declare
at least one declarator, tag, or the members of an enumeration.
but still compiles
A make install will pass with out any error
I would like to provide a patch file for the Makefile but i am a totaly
newbe to C programming and building so i hope the above information will
help
No runtime testing has been done yet
With kind regards
Hajo
>>> "Graham Dumpleton" <grahamd at dscpl.com.au> 09/01/06 22:38 >>>
Seems to be some quirk with xlc compiler. Never liked that compiler,
always did strange things.
Try hacking the code so that instead of:
(destructor)request_dealloc, /* tp_free */
it says:
(void(*)(void*))request_dealloc, /* tp_free */
Try a typedef for the function pointer if I got the cast wrong or it
doesn't want to accept that.
Graham
Hans-Joachim Ehlers wrote ..
> Hi folk,
> i am trying to build mod-python 3.1.4 on AIX 5.1 with xlc
> During the gmake i get the following error: .... 1506-196 (E)
> Initialization between types "void(*)(void*)" and "void(*)(struct
> _object*)" is not allowed
>
> any Tips ?
> tai
> Hajo
>
> For details see below
>
> given:
> AIX 5.1
> vac 6.0 ( IBM xlc)
> mod-python 3.1.4
> Python 2.4.2 build as shared Lib application
> Apache 2.0.55
>
> $ ./configure CC=xlc_r \
> --with-thread \
> --with-python=/usr/local/bin/python \
> --with-apxs=/usr/local/apache2/bin/apxs
>
>
> $ gmake[1]: Entering directory
> `/homespace/hjehlers/workbench/modpython/mod_python-3.1.4/src'
>
> Compiling for DSO.
>
> /usr/local/apache2/bin/apxs
>
-I/homespace/hjehlers/workbench/modpython/mod_python-3.1.4/src/include
> -I/usr/local/apache2/include -I/usr/local/include/python2.4 -c
> mod_python.c _apachemodule.c requestobject.c tableobject.c util.c
> serverobject.c connobject.c filterobject.c hlist.c hlistobject.c
> -L/usr/local/lib/python2.4/config -Wl,-bE:Modules/python.exp -lld
> -L/opt/freeware/lib -ltk8.3 -ltcl8.3 -lm -lpython2.4 -ldl
-lm
> /usr/local/apache2/build/libtool --silent --mode=compile xlc_r
> -prefer-pic -U__STR__ -D_THREAD_SAFE -D_USE_IRS -DAP_DEBUG -g
-qHALT=E
> -qfullpath -qinitauto=FE -qcheck=all -qinfo=pro
> -I/usr/local/apache2/include -I/usr/local/apache2/include
> -I/usr/local/apache2/include
>
-I/homespace/hjehlers/workbench/modpython/mod_python-3.1.4/src/include
> -I/usr/local/apache2/include -I/usr/local/include/python2.4 -c -o
> mod_python.lo mod_python.c && touch mod_python.slo
> /usr/local/apache2/build/libtool --silent --mode=compile xlc_r
> -prefer-pic -U__STR__ -D_THREAD_SAFE -D_USE_IRS -DAP_DEBUG -g
-qHALT=E
> -qfullpath -qinitauto=FE -qcheck=all -qinfo=pro
> -I/usr/local/apache2/include -I/usr/local/apache2/include
> -I/usr/local/apache2/include
>
-I/homespace/hjehlers/workbench/modpython/mod_python-3.1.4/src/include
> -I/usr/local/apache2/include -I/usr/local/include/python2.4 -c -o
> _apachemodule.lo _apachemodule.c && touch _apachemodule.slo
> /usr/local/apache2/build/libtool --silent --mode=compile xlc_r
> -prefer-pic -U__STR__ -D_THREAD_SAFE -D_USE_IRS -DAP_DEBUG -g
-qHALT=E
> -qfullpath -qinitauto=FE -qcheck=all -qinfo=pro
> -I/usr/local/apache2/include -I/usr/local/apache2/include
> -I/usr/local/apache2/include
>
-I/homespace/hjehlers/workbench/modpython/mod_python-3.1.4/src/include
> -I/usr/local/apache2/include -I/usr/local/include/python2.4 -c -o
> requestobject.lo requestobject.c && touch requestobject.slo
> "requestobject.c", line 1381.5: 1506-196 (E) Initialization between
> types "void(*)(void*)" and "void(*)(struct _object*)" is not
allowed.
> apxs:Error: Command failed with rc=65536
> .
> gmake[1]: *** [mod_python.so] Error 1
> gmake[1]: Leaving directory
> `/homespace/hjehlers/workbench/modpython/mod_python-3.1.4/src'
> gmake: *** [do_dso] Error 2
>
> _______________________________________________
> Mod_python mailing list
> Mod_python at modpython.org
> http://mailman.modpython.org/mailman/listinfo/mod_python
|