1.42 not compiling in mandriva 2008

Hi fellow panda users,

I am having trouble with the tar.gz of 1.42 compiling here in mandriva 2008 with the following error and thx for any help on this :wink:

g++ -ftemplate-depth-30 -fPIC -c -o built/tmp/dtoolbase_composite1.o -I"/usr/include/python2.5" -Ibuilt/tmp -Idtool/src/dtoolbase -Ibuilt/include -O2 -DBUILDING_DTOOL dtool/src/dtoolbase/dtoolbase_composite1.cxx
In file included from dtool/src/dtoolbase/dtoolbase_composite1.cxx:8:
dtool/src/dtoolbase/memoryHook.cxx: In member function Ć¢ā‚¬Ėœvirtual void* MemoryHook::heap_alloc_single(size_t)Ć¢ā‚¬ā„¢:
dtool/src/dtoolbase/memoryHook.cxx:184: error: Ć¢ā‚¬ĖœabortĆ¢ā‚¬ā„¢ was not declared in this scope
dtool/src/dtoolbase/memoryHook.cxx: In member function Ć¢ā‚¬Ėœvirtual void* MemoryHook::heap_alloc_array(size_t)Ć¢ā‚¬ā„¢:
dtool/src/dtoolbase/memoryHook.cxx:232: error: Ć¢ā‚¬ĖœabortĆ¢ā‚¬ā„¢ was not declared in this scope
dtool/src/dtoolbase/memoryHook.cxx: In member function Ć¢ā‚¬Ėœvirtual void* MemoryHook::heap_realloc_array(void*, size_t)Ć¢ā‚¬ā„¢:
dtool/src/dtoolbase/memoryHook.cxx:257: error: Ć¢ā‚¬ĖœabortĆ¢ā‚¬ā„¢ was not declared in this scope
dtool/src/dtoolbase/memoryHook.cxx: In member function Ć¢ā‚¬Ėœvirtual void* MemoryHook::mmap_alloc(size_t, bool)Ć¢ā‚¬ā„¢:
dtool/src/dtoolbase/memoryHook.cxx:377: error: Ć¢ā‚¬ĖœabortĆ¢ā‚¬ā„¢ was not declared in this scope
Storing dependency cache.
Elapsed Time: 6 sec

thx
nl

Try adding the line:

#include <stdlib.h>

to the beginning of memoryHook.cxx.

Davod

Hi there david and thx,

Okay thats fixed so lets move on:

built/bin/genpycode
Importing code library: libpandaexpress
Found extensions for class: Ramfile
Found extensions for class: StreamReader
Found extensions for class: HTTPChannel
Importing code library: libpanda
Found extensions for class: NodePath
Found extensions for class: Mat3
Found extensions for class: NodePathCollection
Found extensions for class: VBase3
Found extensions for class: VBase4
Importing code library: libpandaphysics
Importing code library: libpandafx
Importing code library: libp3direct
Found extensions for class: CInterval
Importing code library: libpandaskel
Importing code library: libpandaegg
Found extensions for class: EggPrimitive
Found extensions for class: EggGroupNode
Storing dependency cache.
Elapsed Time: 41 min 5 sec
Cannot read built/tmp/architecture.txt
[neighborlee@localhost makepanda]$

cheers
nl

I have no idea what this is. Maybe this is a makepanda thing? Josh?

David

Makepandaā€™s code to build a linux DEB or RPM installer looks like this:

if (os.path.exists("/usr/bin/dpkg-deb")):
    oscmd("dpkg --print-architecture > built/tmp/architecture.txt")
if (os.path.exists("/usr/bin/rpmbuild")):
    oscmd("rpm -E '%_target_cpu' > built/tmp/architecture.txt")

If your system doesnā€™t support either DEB or RPM packages, or if the tools to build these packages arenā€™t installed in the usual locations, this code will fail. Looks like thatā€™s whatā€™s happening. Since I donā€™t know how mandriva does package management, thereā€™s not much I can do to fix it.

ok I verified onlineā€¦mandriva 2008 uses rpmbuild, its just in rpm-build package LOL

recompiling :wink:

cheers
nl

well wellā€¦I suspect you guys ared tired of trying to get this working too and if so ill accept defeat and just change to a distro maybe that is workingā€¦opensuse binaries dont work nor do fedora so im out of options nowā€¦

anyway this is the result now after 5 recompiles:

chmod -R 555 linuxroot/usr/share/panda3d
rpmbuild --define ā€˜_rpmdir /home/neighborlee/panda3d-1.4.2ā€™ -bb panda3d.spec
Processing files: panda3d-1.4.2-1
error: File not found: /var/tmp/panda3d-1.4.2-1-buildroot/etc/Confauto.prc
error: File not found: /var/tmp/panda3d-1.4.2-1-buildroot/etc/Config.prc
error: File not found: /var/tmp/panda3d-1.4.2-1-buildroot/usr/share/panda3d
error: File not found: /var/tmp/panda3d-1.4.2-1-buildroot/etc/ld.so.conf.d/panda3d.conf
error: File not found: /var/tmp/panda3d-1.4.2-1-buildroot/usr/bin
error: File not found: /var/tmp/panda3d-1.4.2-1-buildroot/usr/lib
error: File not found: /var/tmp/panda3d-1.4.2-1-buildroot/usr/include/panda3d

RPM build errors:
File not found: /var/tmp/panda3d-1.4.2-1-buildroot/etc/Confauto.prc
File not found: /var/tmp/panda3d-1.4.2-1-buildroot/etc/Config.prc
File not found: /var/tmp/panda3d-1.4.2-1-buildroot/usr/share/panda3d
File not found: /var/tmp/panda3d-1.4.2-1-buildroot/etc/ld.so.conf.d/panda3d.conf
File not found: /var/tmp/panda3d-1.4.2-1-buildroot/usr/bin
File not found: /var/tmp/panda3d-1.4.2-1-buildroot/usr/lib
File not found: /var/tmp/panda3d-1.4.2-1-buildroot/usr/include/panda3d
Storing dependency cache.
Elapsed Time: 43 min 30 sec

You have already successfully build panda. You just didnā€™t build a DEB or RPM. But you donā€™t need that, technically. You can install it manually just by moving the files. See the instructions in doc/INSTALL-MK

ah ok I was wondeing as I wasnā€™t seeing any files in /usr/share

alrigh thx ill check

nl

well and the sage continues :wink:

I followed directions in install-mk and did the ld.so.conf stuff and bin path and allā€¦still I get:

[neighborlee@localhost Sample-Programsā€“Roaming-Ralph] python Tut*.py Traceback (most recent call last): File "Tut-Roaming-Ralph.py", line 11, in <module> import direct.directbase.DirectStart ImportError: No module named direct.directbase.DirectStart [neighborlee@localhost Sample-Programs--Roaming-Ralph]

sorry for the hastles but Iā€™d hoped at least to get a rpm built to help another mand* user but alas not even that worksā€¦I just get alolt of erros saying it canā€™t find Release and several other files of similar type you would see at TOP Of spec file.

cheers
nl

Ah, crap. Looks like the instructions in INSTALL-MK donā€™t work any more. Itā€™s missing the part about creating a panda.pth file inside your python site-packages directory. Thatā€™s why python canā€™t find the ā€œdirectā€ code.

But as for why the RPM build process isnā€™t working - honestly, I donā€™t know. Building RPMs seems to be some sort of black art that I donā€™t quite get. Back in the day I managed to get it working, somehow, but it was mostly by trial and error.

This is weird, though:

rpmbuild --define ā€˜_rpmdir /home/neighborlee/panda3d-1.4.2ā€™ etc etcā€¦
Processing files: panda3d-1.4.2-1
error: File not found: /var/tmp/panda3d-1.4.2-1-buildroot/etc/Confauto.prc

Why the heck is it looking in /var/tmp? It says right on the command line to look in /home/neighborlee. I canā€™t explain that.

Sounds like something in rpmbuild. Perhaps it needs to run as root? Have you tried running makepanda as root to build an installer?

Okay I just manually created the /var/tmp pathing and the rpm built just fineā€¦oddness but oh well

I verified it and it installs just fine into /usr/share and samples work fine.

Now to get file to youā€¦

cheers
nl

Itā€™s not so useful to send the file, since it will be invalidated as soon as I release the next version. Instead, Iā€™d rather have the magic formula for how to build panda under mandriva. All the steps for obtaining the necessary packages and so forth.

Hi there Josh :wink:

Do you remember the time I built Panda3D at Mandriva? Anyway, the magic formula neighborlee used was right there in that post. I had uploaded an archive containing all the necessary packages for a succesful Panda3D build and uploaded it somewhere, and in exchange you would make an RPM and upload it. (though you probably forgot it, since you didnā€™t reply and at the next releases still no RPM appeared.)
Anyway, hereā€™s the link to the archive again if you need it:
bin.pro-rsoft.com/Archive.tar.gz

OK, I have the archive of mandriva tools. These are for mandriva one 2008? If so, Iā€™ll install that OS later today.

I also need a list of ā€œspecialā€ steps needed, ie:

  • Create /var/tmp
  • Add ā€œrpm-buildā€ as an alias for ā€œrpmbuildā€
  • What else?

PS. Iā€™m in the process of adding debian lenny, ubuntu gutsy, suse 10.3, and fedora 8 as well.

Also, Iā€™m dropping support for ubuntu dapper, suse 10.1, and fedora 5.

OK, Iā€™m running into the same problems with mandriva that I did last time: basically, it doesnā€™t seem to supply the software I need.

Step 1, to transfer an initial set of files into the virtual machine, I need smbclient. It doesnā€™t seem to be installed, and I canā€™t find it in the software installation utility either. Whatā€™s the trick?

Step 2. It seems to be missing ā€˜sudo,ā€™ too. Thatā€™s kinda fundamentalā€¦ whatā€™s the deal?

Update: It turns out the only software listed in the installer is software thatā€™s on the CD. If you want to access the repository, you have to dork around with the options menu in rpmdrake. I found the two packages above.

Oh yes, I forgot to include sudo indeed. Sorry about that. I donā€™t know about smbclient ā€“ I canā€™t recall I had to install thatā€¦
Indeed, the packaging system of Mandriva really sucks. And they donā€™t have much packages installed by default.
If you need more packages, I found an excellent site for RPM downloads: rpm.pbone.net/ it supplied all the RPMā€™s I needed.

Well, you probably wouldnā€™t need smbclient for your work. I only need it because itā€™s the easiest way I can transfer files into and out of my virtual machines. (The host machine is a windows box).

I got a long way toward successfully compiling panda3d on mandriva yesterday. I think Iā€™m going to succeed this time.