Problem compiling both 1.3.2 and 1.4.0 on Slackware

Ah, this is a bug that’s been fixed on the trunk, but which hasn’t made it under the 1.4.x series tag. For your purposes, just comment out or delete the line in question (line 61 of config_nativenet.cxx).

David

It built, but none of the samples work.
It cant find direct
I added the built/lib to /etc/ld.so.conf
but still no luck
Also, where should ppython be? I cant find it anywhere.

Tried to compile again and I got this:

/usr/lib/libpanda.so: undefined reference to `SSWriter::send_datagram(Datagram const&)'
/usr/lib/libpanda.so: undefined reference to `HashVal::hash_buffer(char const*, int)'
/usr/lib/libpanda.so: undefined reference to `Dtool_SocketStream'
/usr/lib/libpanda.so: undefined reference to `SSReader::do_receive_datagram(Datagram&)'
collect2: ld returned 1 exit status
Storing dependency cache.

I tried to get the latest from the svn, but theres no pandamake module.

Never mind the last posts, I got the CVS version fine but it hangs up at openal
ERROR:

g++ -shared -o built/lib/libp3openal_audio.so -Lbuilt/lib -L/usr/X11R6/lib built/tmp/openal_audio_openal_audio_composite.o -lpanda -lpandaexpress -lp3dtoolconfig -lp3dtool -Lthirdparty/linux-libs-a/openal/lib -lpandaopenal --lpthread -ldl
/usr/lib/gcc/i486-slackware-linux/4.1.2/../../../../i486-slackware-linux/bin/ld: cannot find -lpandaopenal
collect2: ld returned 1 exit status
Storing dependency cache.

By now, you’ve encountered all the difficuties in version 1.4.0, and all the difficulties associated with the CVS head, and all the difficulties associated with ppremake, and all the difficulties of makepanda - you’ve quadrupled your workload by trying every different version of panda and every different build method.

To answer your latest question - the 1.4.0 version of panda goes with the 1.4.0 version of the thirdparty libraries. The CVS head version of panda goes with the CVS head version of the thirdparty libraries. You’ve mixed and matched, and that won’t work.

Well, I cant find the thirdparty module in CVS at all. Or at Walgreens.
I searched these forums and found that the thirdparty files arent in CVS?

Thanks for your patience

The CVS for the thirdparty libraries is not public. So you should compile a version of panda from the website.

Alright Josh, I went with 1.4.0.
Lets compile this asshole. WE CAN DO IT. You can do ANYTHING if you believe in yourself.

g++ -o built/bin/p3dcparse -Lbuilt/lib -L/usr/X11R6/lib built/tmp/dcparse_dcparse.o -lp3direct -lpandaexpress -lp3dtoolconfig -lp3dtool -lp3pystub -lpthread -ldl
/usr/lib/libpanda.so: undefined reference to `SSWriter::send_datagram(Datagram const&)'
/usr/lib/libpanda.so: undefined reference to `HashVal::hash_buffer(char const*, int)'
/usr/lib/libpanda.so: undefined reference to `Dtool_SocketStream'
/usr/lib/libpanda.so: undefined reference to `SSReader::do_receive_datagram(Datagram&)'
collect2: ld returned 1 exit status
Storing dependency cache.
Elapsed Time: 17 min 38 sec

We are getting closer my friend. I can almost smell success, the stench of a built 3d game engine. WE CAN DO THIS.

PS. You missed my Walgreen’s joke.

That error doesn’t look familiar. I’m going to build panda3d 1.4.0 myself, using makepanda --everything --no-openssl, to see if I get the same error. This will take a little while.

I took a clean copy of panda3d 1.4.0, and made two changes:

  1. in makepanda, changed -lpthread to -lpthread -ldl
  2. commented out line 61 of config_nativenet.cxx

Then, I compiled using:

makepanda/makepanda.py --everything --no-openssl

I did not get that SSWriter error.

I suspect that the copy of panda you compiled was not a clean copy.

I tried again and did not get that error but now it cant find pzip:

g++ -o built/bin/indexify -Lbuilt/lib -L/usr/X11R6/lib built/tmp/indexify_default_index_icons.o built/tmp/indexify_default_font.o built/tmp/indexify_indexImage.o built/tmp/indexify_indexParameters.o built/tmp/indexify_indexify.o built/tmp/indexify_photo.o built/tmp/indexify_rollDirectory.o -lpanda -lpandaexpress -lp3dtool -lp3dtoolconfig built/lib/libprogbase.a built/lib/libpandatoolbase.a -lp3pystub -lfreetype -lpthread -ldl
Copying "dmodels/src/misc/Dirlight.egg" --> "built/models/misc/Dirlight.egg"
built/bin/pzip built/models/misc/Dirlight.egg
sh: built/bin/pzip: No such file or directory
Storing dependency cache.
Elapsed Time: 21 min 41 sec

I can’t imagine what the heck is going on.

If it’s compiling Dirlight, it’s 99% done. But if it’s 99% done, it should have built pzip a long time ago. Somehow, it skipped the compilation of a file? That doesn’t make any sense at all. I hate to say it, but I’m stumped.

I have pzip in /usr/bin, although I am assuming it is different in someway from the version that ships w/ panda (?)
Anyways, Josh, I believe in you. And I believe in myself. Do you believe in me? I believe we can do this.
Have you seen Star Wars Episode V, Josh? I assume you have because you are posting on a 3D game engine forum.
Regardless, do you remember what Master Yoda told Luke as he was giving up? As he lifted up the X wing?
Luke said, “I don’t believe it”.
Master Yoda then said, “That is why you fail”.
This goofy compile has been tainted by the dark side. But only light can drive out darkness my friend. Tomorrow I am going to compile this so hard. If it doesn’t, I may have to piledrive it.
Master Yelon, May the Force and g++ be with you.

Well, go ahead and build again, from scratch, this time logging everything. I want to see you type the command that untar’s the tar file, I want to see the edits you make to makepanda and config_nativenet, I want to see the command you type to get it to compile, and I want to see all the output from makepanda. Once you’re done, send the log to me: jyelon@gmail.com

I copied /usr/bin/pzip to …/built/bin/ and then compiled again overnight and it worked.
If you still want the log I can send it to you.

No, I figured it out. Glad you got panda to compile.

I’ll be fixing makepanda so that it works better with --no-openssl.

Although it compiled, I cant get any of the samples to work. I added the built/lib directory to my LD_LIBRARY_PATH but I still get the import Direct error. This is with using ppython.

The built directory and the built/lib directory both need to be in your PYTHONPATH as well.

HOUSTON WE HAVE LIFT OFF
Thank you for your continued assistance, I really appreciate it.

I am trying to compile panda3d in slackware as well. I makepanda.py --everything --no-ssl and previously commented line 61 in the cxx file and made the change to makepanda.py, but…
After 48 minutes, I got this:

g++ -o built/bin/indexify -Lbuilt/lib -L/usr/X11R6/lib built/tmp/indexify_default_index_icons.o built/tmp/indexify_default_font.o built/tmp/indexify_indexImage.o built/tmp/indexify_indexParameters.o built/tmp/indexify_indexify.o built/tmp/indexify_photo.o built/tmp/indexify_rollDirectory.o -lpanda -lpandaexpress -lp3dtool -lp3dtoolconfig built/lib/libprogbase.a built/lib/libpandatoolbase.a -lp3pystub -lfreetype -lpthread -ldl
Copying "dmodels/src/misc/Dirlight.egg" --> "built/models/misc/Dirlight.egg"
built/bin/pzip built/models/misc/Dirlight.egg
sh: built/bin/pzip: No such file or directory
Storing dependency cache.

What program should have created build/bin/pzip? how can I install it independently? (I don’t have it in my /usr/bin)
any clues?

thank you.