Compile problem on SUSE10 AMD64

Thanks for the help with the cvs before. Downloaded the whole thing this time :wink:

Ran makepanda with --nothing and get…

Im not too worried about the above, just thought I would point it out.

Next I tried --everything and it compiles a little until it hits a small snag. I ran it again and the output is smaller, so I pasted it below.

Any ideas greatly appreciated.

Im silly, I should have looked at the other thread first :frowning:

Im getting a little furthur. I modified the makepanda.py file to show g++ -fPIC and it compiles ok until the third party tools which are pre-compiled as 32bit.

So I tried with this to avoid the nspr for a start…

But I get the same error as in previous post…

def EnqueueBison(ipath=0,opts=0,pre=0,obj=0,dsth=0,src=0):
    if ((ipath==0)|(opts==0)|(pre==0)|(obj==0)|(dsth==0)|(src==0)):
        exit("syntax error in EnqueueBison directive")
    if (COMPILER=="MSVC7"):
        wobj="built/tmp/"+obj
        fn = CompileBisonMSVC7
    if (COMPILER=="LINUXA"):
        wobj="built/tmp/"+obj[:-4]+".o"
        fn = CompileBisonLINUXA
    if (SLAVEBUILD!=0) and (SLAVEBUILD!=wobj): return
    ipath = ["built/tmp"] + ipath + ["built/include"]
    fullsrc = CxxFindSource(src, ipath)
    if (OMIT.count("BISON")):
        dir = os.path.dirname(fullsrc)
        CopyFile("built/tmp/"+dstc, dir+"/"+dstc+".prebuilt") # Its this line
        CopyFile("built/tmp/"+dsth, dir+"/"+dsth+".prebuilt")
        EnqueueCxx(ipath=ipath,opts=opts,obj=obj,src=dstc)
        return()
    dstc=obj[:-4]+".cxx"
    if (fullsrc == 0): exit("Cannot find source file "+src)
    dstc="built/tmp/"+dstc
    dsth="built/include/"+dsth
    DependencyQueue(fn, [pre,dsth,dstc,wobj,ipath,opts,fullsrc], [wobj, dsth], [fullsrc], [])

I can see why it complains, but Im not sure what the fix would be.

Any advice greatly appreciated.

–P.S.
If anyone knows how to compile the third-party tools for panda, Ill do this and share the 64bit versions to help everyone else who has an AMD64.

Found something very interesting.

Add compile flag

-m32

after

gcc

and

g++

and it compiles furthur than before and no need for

-fPIC

. As its compiling in 32bit mode, the 3rd party libs should no longer be a problem.

Now Im stuck on this bit…

Ive downloaded openSSL, but Im a little confused as to which directory its looking for the folder openssl.

Any advice greatly appreciated.

I think Im getting closer ( or perhaps barking up the wrong tree )

Ive installed Python 2.4.2, got panda 1.0.5 source tarball. Downloaded dtool from cvs (as version in 1.0.5 does not like gcc Im using) and replaced that in the 1.0.5 package. Put -m32 into the compile lines and I now get alot futhur with makepanda.py --no-ssl.

But it cant find Python.h. I have it in ‘usr/include/python/Python.h’.

I added /usr/include/python to PATH but still no good. Not sure what to do now.

I got even furthur, and now Im deeply confused :slight_smile:

-------------------------------------------------------------------
Makepanda Initial Status Report
Makepanda: Prefix Directory: built
Makepanda: Compiler: LINUXA
Makepanda: Optimize: 3
Makepanda: Keep Pkg: 
Makepanda: Omit Pkg: PYTHON ZLIB PNG JPEG TIFF VRPN FMOD NVIDIACG HELIX NSPR SSL FREETYPE FFTW MILES MAYA5 MAYA6 MAYA65 MAX5 MAX6 MAX7 
Makepanda: Thirdparty dir: thirdparty
Makepanda: DirectX SDK dir: None
Makepanda: Verbose vs. Quiet Level: 1
Makepanda: Don't generate API reference manual
Makepanda: Version ID: 0.0.0
Makepanda: Caution: the built/lib directory is not in LD_LIBRARY_PATH
Makepanda: or /etc/ld.so.conf.  You must add it before using panda.
-------------------------------------------------------------------

Starting compile in "dtool/src/dtoolbase" (0 sec):
Starting compile in "dtool/src/dtoolutil" (0 sec):
Starting compile in "dtool/src/cppparser" (3 sec):
CAUTION: header file openssl/evp.h cannot be found.
CAUTION: header file openssl/evp.h cannot be found.

Starting compile in "dtool/src/prc" (20 sec):
Starting compile in "dtool/src/dconfig" (26 sec):
Starting compile in "dtool/src/interrogatedb" (26 sec):
Starting compile in "dtool/metalibs/dtoolconfig" (34 sec):
Starting compile in "dtool/src/pystub" (34 sec):
CAUTION: header file structmember.h cannot be found.
CAUTION: header file map cannot be found.
CAUTION: header file set cannot be found.
CAUTION: header file vector cannot be found.
CAUTION: header file algorithm cannot be found.

Starting compile in "dtool/src/interrogate" (35 sec):
g++ -m32 -I/usr/include/python -ftemplate-depth-30 -c -o built/tmp/interrogate_composite1.o -Ibuilt/tmp -Idtool/src/interrogate -Idtool/src/cppparser -Idtool/src/interrogatedb -Ibuilt/include -O2 dtool/src/interrogate/interrogate_composite1.cxx
g++ -m32 -I/usr/include/python -ftemplate-depth-30 -c -o built/tmp/interrogate_composite2.o -Ibuilt/tmp -Idtool/src/interrogate -Idtool/src/cppparser -Idtool/src/interrogatedb -Ibuilt/include -O2 dtool/src/interrogate/interrogate_composite2.cxx
g++ -m32 -I/usr/include/python -o built/bin/interrogate -Lbuilt/lib -L/usr/X11R6/lib built/tmp/interrogate_composite1.o built/tmp/interrogate_composite2.o built/tmp/libcppParser.a -lpystub -ldtoolconfig -ldtool
built/tmp/interrogate_composite1.o: In function `InterrogateBuilder::make_module_def(int)':
interrogate_composite1.cxx:(.text+0x22f0): undefined reference to `global_operator_new'
built/tmp/interrogate_composite1.o: In function `InterfaceMaker::Object::~Object()':
interrogate_composite1.cxx:(.text+0x2390): undefined reference to `global_operator_delete'
interrogate_composite1.cxx:(.text+0x23b9): undefined reference to `global_operator_delete'
interrogate_composite1.cxx:(.text+0x23ee): undefined reference to `global_operator_delete'
built/tmp/interrogate_composite1.o: In function `InterfaceMaker::Object::~Object()':

A few cautions and then it goes nuts over these global_operator_foo.

Any ideas greatly appreciated.