Installing panda3d on fedora 9 with pandamake

I’m having trouble installing panda3d on fedora 9 with pandamake. I get this error :


[root@localhost panda3d-1.5.2]# python makepanda/makepanda.py --everything


Makepanda Initial Status Report
Makepanda: Compiler: LINUX
Makepanda: Optimize: 3
Makepanda: Keep Pkg: PYTHON ZLIB PNG JPEG TIFF VRPN FMOD FMODEX OPENAL NVIDIACG OPENSSL FREETYPE FFTW ARTOOLKIT FFMPEG PANDATOOL PANDAAPP
Makepanda: Omit Pkg: MAYA6 MAYA65 MAYA7 MAYA8 MAYA85 MAYA2008 MAX6 MAX7 MAX8 MAX9 DX8 DX9 DIRECTCAM
Makepanda: Verbose vs. Quiet Level: 1
Makepanda: Don’t generate API reference manual
Makepanda: Version ID: 1.5.2
Makepanda: I cannot locate SDK for DX8
Makepanda: I have automatically added this command-line option: --no-dx8
Makepanda: I cannot locate SDK for DX9
Makepanda: I have automatically added this command-line option: --no-dx9
Makepanda: I cannot locate SDK for DIRECTCAM
Makepanda: I have automatically added this command-line option: --no-directcam
Makepanda: MAYA6 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya6
Makepanda: MAYA65 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya65
Makepanda: MAYA7 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya7
Makepanda: MAYA8 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya8
Makepanda: MAYA85 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya85
Makepanda: MAYA2008 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya2008
Makepanda: MAX6 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max6
Makepanda: MAX7 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max7
Makepanda: MAX8 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max8
Makepanda: MAX9 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max9
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.

Generating dependencies…
g++ -ftemplate-depth-30 -fPIC -c -o built/tmp/dtoolbase_composite2.o -I"/usr/include/python2.5" -I"built/tmp" -I"built/include" -Idtool/src/dtoolbase -O2 -DBUILDING_DTOOL dtool/src/dtoolbase/dtoolbase_composite2.cxx
In file included from dtool/src/dtoolbase/dtoolbase_composite2.cxx:9:
dtool/src/dtoolbase/typeRegistryNode.cxx: In constructor ‘TypeRegistryNode::TypeRegistryNode(TypeHandle, const std::string&, TypeHandle&)’:
dtool/src/dtoolbase/typeRegistryNode.cxx:36: error: ‘memset’ was not declared in this scope
Storing dependency cache.
Elapsed Time: 3 sec


Has anyone any idea of what i need to do?

it seems that there are some headers files left to include, I’m currently trying to edit the necessary for getting it compiling, when I have it I’ll post a patch

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.

try :

export LD_LIBRARY_PATH='pathToYourP3Dsource/built/lib'

ynjh_jo, sorry, that totally makes no sense.
1), You don’t need to set the LD_LIBRARY_PATH at all. It might look confusing in the message, but makepanda automatically adds a linker path to built/lib.
2), This is not a linker error, but a compile error. What would have the ld library path have to do with a compile error?

arikel, this error is really interesting. I’m not getting it on the tagged 1.5.3 version, can you try 1.5.3 instead?
Download the source here: bin.pro-rsoft.com/panda3d-1.5.3.tar.gz

I’m really sorry about posting the question twice. I’ve been on some other forums before, and i know this is one of the serious crimes… As i stated, i hadn’t seen the installation forum, and i surely would have been confused anyway, since installing panda means compiling its sources for me, there must be a difference i miss (and i guess it’s because i’m not on windows) which explains why the two forums… My apologies to the community for the confusion and waste of time.

Anyway, i tried with the sources for panda 1.5.3, and it gave the same results (or, once again, there is a difference i didn’t get, in that case i paste the result i got with this latest version) :


[root@localhost panda3d-1.5.3]# python makepanda/makepanda.py --everything


Makepanda Initial Status Report
Makepanda: Compiler: LINUX
Makepanda: Optimize: 3
Makepanda: Keep Pkg: PYTHON ZLIB PNG JPEG TIFF VRPN FMOD FMODEX OPENAL NVIDIACG OPENSSL FREETYPE FFTW ARTOOLKIT ODE FFMPEG PANDATOOL PANDAAPP
Makepanda: Omit Pkg: MAYA6 MAYA65 MAYA7 MAYA8 MAYA85 MAYA2008 MAX6 MAX7 MAX8 MAX9 DX8 DX9 DIRECTCAM
Makepanda: Verbose vs. Quiet Level: 1
Makepanda: Don’t generate API reference manual
Makepanda: Version ID: 1.5.3
Makepanda: I cannot locate SDK for DX8
Makepanda: I have automatically added this command-line option: --no-dx8
Makepanda: I cannot locate SDK for DX9
Makepanda: I have automatically added this command-line option: --no-dx9
Makepanda: I cannot locate SDK for DIRECTCAM
Makepanda: I have automatically added this command-line option: --no-directcam
Makepanda: MAYA6 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya6
Makepanda: MAYA65 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya65
Makepanda: MAYA7 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya7
Makepanda: MAYA8 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya8
Makepanda: MAYA85 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya85
Makepanda: MAYA2008 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya2008
Makepanda: MAX6 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max6
Makepanda: MAX7 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max7
Makepanda: MAX8 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max8
Makepanda: MAX9 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max9
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.

Generating dependencies…
g++ -ftemplate-depth-30 -fPIC -c -o built/tmp/dtoolbase_composite2.o -I"/usr/include/python2.5" -I"built/tmp" -I"built/include" -Idtool/src/dtoolbase -O2 -DBUILDING_DTOOL dtool/src/dtoolbase/dtoolbase_composite2.cxx
In file included from dtool/src/dtoolbase/dtoolbase_composite2.cxx:9:
dtool/src/dtoolbase/typeRegistryNode.cxx: In constructor ‘TypeRegistryNode::TypeRegistryNode(TypeHandle, const std::string&, TypeHandle&)’:
dtool/src/dtoolbase/typeRegistryNode.cxx:36: error: ‘memset’ was not declared in this scope
Storing dependency cache.
Elapsed Time: 5 sec


I don’t know who built the rpms for the fedora 6, 7, and 8, but i’d be really grateful if he (or she, we’re in the XXIst century after all) could build one for fedora 9, or even better provide a src.rpm which would allow anyone to build the actual rpm for his system.

As i already told pro-rsoft, i came to panda3d first because of its ease of installation on my system (on fedora 8, the rpm worked perfect, and five minutes after i installed it i was amazed to see a panda running in the bamboo field).

Arikel

It’s not that serious a crime, don’t worry :wink:

‘memset’ is a function in a system header, string.h.
This is not part of panda at all, but sounds more like you have some kernel system headers missing.
I don’t know how Fedora deals with it – maybe you have to install a development package or so somewhere?

PS. Most likely, the Fedora 8 RPM also works on Fedora 9 – have you tried it?
If not, you can add the --installer option to makepanda, and if it succeeds, it will automatically create a .rpm.

Of course, i optimistically tried to install the fedora 6/7/8 rpms on my fedora 9, but the yum or rpm commands complained about missing dependencies : libraries provided by OpenSSL seem to have changed names on Fedora 9 or something… Here’s the error message :


[root@localhost panda3d]# yum install panda3d-1.5.2-fedora8.i386.rpm
Setting up Install Process
Parsing package install arguments
Examining panda3d-1.5.2-fedora8.i386.rpm: panda3d-1.5.2-1.i386
Marking panda3d-1.5.2-fedora8.i386.rpm to be installed
Resolving Dependencies
–> Running transaction check
—> Package panda3d.i386 0:1.5.2-1 set to be updated
–> Processing Dependency: libcrypto.so.6 for package: panda3d
–> Processing Dependency: libssl.so.6 for package: panda3d
–> Finished Dependency Resolution
panda3d-1.5.2-1.i386 from panda3d-1.5.2-fedora8.i386.rpm has depsolving problems
–> Missing Dependency: libcrypto.so.6 is needed by package panda3d-1.5.2-1.i386 (panda3d-1.5.2-fedora8.i386.rpm)
panda3d-1.5.2-1.i386 from panda3d-1.5.2-fedora8.i386.rpm has depsolving problems
–> Missing Dependency: libssl.so.6 is needed by package panda3d-1.5.2-1.i386 (panda3d-1.5.2-fedora8.i386.rpm)
Error: Missing Dependency: libcrypto.so.6 is needed by package panda3d-1.5.2-1.i386 (panda3d-1.5.2-fedora8.i386.rpm)
Error: Missing Dependency: libssl.so.6 is needed by package panda3d-1.5.2-1.i386 (panda3d-1.5.2-fedora8.i386.rpm)


Note : the result is the same with yum localinstall, rpm -ivh, and so on, and i also tried the previous rpms for panda3d (fedora 6 and 7).

I’m sure i have a later version of these libssl.so.6 and libcrypto.so.6, since i have OpenSSL installed, but i have no clue about the way to explain this to my rpm installer. It seems also that i won’t be able to get these missing libraries on fedora 9 :

[root@localhost panda3d]# rpm --query --whatprovides libssl.so.6
no package provides libssl.so.6
[root@localhost panda3d]# rpm --query --whatprovides libcrypto.so.6
no package provides libcrypto.so.6

Of course, one solution would be to downgrade to fedora 8, but i still hope to find another way soon. Meanwhile, thanks to you pro-rsoft, ynjh_jo, and ornitorrincos, for giving it a try.

Arikel

with gcc 4.3 at least you must put #include <string.h> and sometime stdlib.h in all the files that use some function of all of them (and specify the location of Python.h at least that happens to me…

Both 1.5.2 and 1.5.3 compiles well on my gentoo-x86 with gcc 4.2.4, but with gcc 4.3.1 i’ve got error described by arikel.

To fix this, i modified panda3d-1.5.x/dtool/src/dtoolbase/dtoolbase.h

Find

#ifdef __GNUC__
// Large file >2GB support
// this needs be be before systypes.h and other C headers
#define _FILE_OFFSET_BITS 64
#define _LARGEFILE_SOURCE 1
#endif

and replace with

#ifdef __GNUC__
#include <string.h>
#include <stdlib.h>
#include <limits.h>
// Large file >2GB support
// this needs be be before systypes.h and other C headers
#define _FILE_OFFSET_BITS 64
#define _LARGEFILE_SOURCE 1
#endif

Now everything should compile without problems.

(limits.h was included because i got error with undefined INT_MAX - it looks like gcc 4.3 bug, gcc 4.2 defines INT_MAX and INT_MIN without any additional includes)

Thanks a lot tjdx, with the changes you suggested, it seemed to compile fine. However, i’m not sure it did :

After i copied the built directory to my /usr/local/panda and making my python path point to it, it looked like i could import “direct” functions, but not pandac…
Looking in, i saw only an ‘input’ directory within the ‘/usr/local/panda/built/pandac’ directory, which was filled with *.in files. Is it how it’s supposed to be? (the ‘/usr/local/panda/built/direct’ directory has its init.py file, i thought the pandac directory would have one too).

I also got only ‘interrogate interrogate_module make-prc-key parse_file test_interrogate’ in the ‘bin’ directory, i don’t know if this is how it’s supposed to be, i expected to find ‘pview’, ‘x2egg’ and the others there.

I don’t know if i miss files because of a compilation failure.

The compilation took about 24 minutes, and complained a lot about “deprecated conversion from string constant to ‘char*’”, i don’t know if that may matter.

Anyway, here’s what i can get in a python console these days :

Python 2.5.1 (r251:54863, Apr 8 2008, 01:20:16)
[GCC 4.3.0 20080404 (Red Hat 4.3.0-6)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.

import sys
print sys.path
[‘’, ‘/usr/local/panda/built’, ‘/usr/lib/python25.zip’, ‘/usr/lib/python2.5’, ‘/usr/lib/python2.5/plat-linux2’, ‘/usr/lib/python2.5/lib-tk’, ‘/usr/lib/python2.5/lib-dynload’, ‘/usr/lib/python2.5/site-packages’, ‘/usr/lib/python2.5/site-packages/Numeric’, ‘/usr/lib/python2.5/site-packages/gst-0.10’, ‘/usr/lib/python2.5/site-packages/gtk-2.0’]
import direct
import pandac
Traceback (most recent call last):
File “”, line 1, in
ImportError: No module named pandac

I have no idea what to do now (except wait for the rpm maybe, which doesn’t suit me much)

Arikel

PS : i also tried to reinstall a fedora 8, to take advantage of the rpm, but after installing the new kernel, livna nvidia driver, and panda3d rpm (and for once, everything seemed to turn ok, i got blender working perfect real quick), i kept getting huge cryptic nvidia errors while trying to run any panda program (but everything else was working ok, couldn’t get what was happening).

Don’t manually copy files! Add the --installer option when calling makepanda, which will automatically create a .rpm for you to install.

title - “Installing panda3d on fedora 9 with pandamake”
i dont think pandamake has – installer optoin

EDIT:
i oh i thought pandamake was ppremake … sorry yeah it has the installer option

It has. Supports .exe, .deb and .rpm, really.
Just append --installer to your option list of makepanda.

I tried this --installer option to compile, but it didn’t make any rpm anywhere.

I still don’t know if the compilation went ok, nor what i’m supposed to get in the pandac directory under built after a successful compilation…

I doubt it will generate something in the pandac directory at all.
You should be finding a .rpm file in the source root when compiling with the --installer option. If not, something went terribly wrong.
Did you get a “Final Status Report”? Can you post the last, say, 25 lines of the output?

Here are the last lines of the output when i try a :
python makepanda/makepanda.py --everything --installer

built/tmp/libpgui_igate.cxx: At global scope:
built/tmp/libpgui_igate.cxx:15145: warning: deprecated conversion from string constant to ‘char’
built/tmp/libpgui_igate.cxx: In function ‘PyObject
Dtool_PGWaitBar_set_range_242(PyObject*, PyObject*, PyObject*)’:
built/tmp/libpgui_igate.cxx:15165: warning: deprecated conversion from string constant to ‘char’
built/tmp/libpgui_igate.cxx: At global scope:
built/tmp/libpgui_igate.cxx:15228: warning: deprecated conversion from string constant to ‘char
’
built/tmp/libpgui_igate.cxx:15289: warning: deprecated conversion from string constant to ‘char’
built/tmp/libpgui_igate.cxx: In function ‘PyObject
Dtool_PGWaitBar_set_value_244(PyObject*, PyObject*, PyObject*)’:
built/tmp/libpgui_igate.cxx:15309: warning: deprecated conversion from string constant to ‘char’
built/tmp/libpgui_igate.cxx: At global scope:
built/tmp/libpgui_igate.cxx:15356: warning: deprecated conversion from string constant to ‘char
’
built/tmp/libpgui_igate.cxx:15417: warning: deprecated conversion from string constant to ‘char’
built/tmp/libpgui_igate.cxx:15478: warning: deprecated conversion from string constant to ‘char
’
built/tmp/libpgui_igate.cxx: In function ‘PyObject* Dtool_PGWaitBar_set_bar_style_247(PyObject*, PyObject*, PyObject*)’:
built/tmp/libpgui_igate.cxx:15498: warning: deprecated conversion from string constant to ‘char’
built/tmp/libpgui_igate.cxx: At global scope:
built/tmp/libpgui_igate.cxx:15550: warning: deprecated conversion from string constant to ‘char
’
built/tmp/libpgui_igate.cxx:15618: warning: deprecated conversion from string constant to ‘char’
built/tmp/libpgui_igate.cxx:15668: warning: deprecated conversion from string constant to ‘char
’
built/tmp/libpgui_igate.cxx: In function ‘int Dtool_Init_PGWaitBar(PyObject*, PyObject*, PyObject*)’:
built/tmp/libpgui_igate.cxx:15719: warning: deprecated conversion from string constant to ‘char’
g++ -ftemplate-depth-30 -fPIC -c -o built/tmp/pnmimagetypes_composite.o -I"/usr/include/python2.5" -I"built/tmp" -I"built/include" -Ipanda/src/pnmimagetypes -Ipanda/src/pnmimage -O2 -DBUILDING_PANDA panda/src/pnmimagetypes/pnmimagetypes_composite.cxx
In file included from panda/src/pnmimagetypes/config_pnmimagetypes.cxx:26,
from panda/src/pnmimagetypes/pnmimagetypes_composite1.cxx:1,
from panda/src/pnmimagetypes/pnmimagetypes_composite.cxx:1:
panda/src/pnmimagetypes/pnmFileTypeJPG.h:45:21: error: jpeglib.h: No such file or directory
In file included from panda/src/pnmimagetypes/pnmimagetypes_composite1.cxx:8,
from panda/src/pnmimagetypes/pnmimagetypes_composite.cxx:1:
panda/src/pnmimagetypes/pnmFileTypeJPGReader.cxx:51:20: error: jerror.h: No such file or directory
In file included from panda/src/pnmimagetypes/pnmimagetypes_composite2.cxx:2,
from panda/src/pnmimagetypes/pnmimagetypes_composite.cxx:2:
panda/src/pnmimagetypes/pnmFileTypeTIFF.cxx:36:18: error: tiff.h: No such file or directory
panda/src/pnmimagetypes/pnmFileTypeTIFF.cxx:37:20: error: tiffio.h: No such file or directory
In file included from panda/src/pnmimagetypes/config_pnmimagetypes.cxx:26,
from panda/src/pnmimagetypes/pnmimagetypes_composite1.cxx:1,
from panda/src/pnmimagetypes/pnmimagetypes_composite.cxx:1:
panda/src/pnmimagetypes/pnmFileTypeJPG.h:80: error: field ‘_cinfo’ has incomplete type
panda/src/pnmimagetypes/pnmFileTypeJPG.h:82: error: field ‘pub’ has incomplete type
In file included from panda/src/pnmimagetypes/pnmimagetypes_composite1.cxx:3,
from panda/src/pnmimagetypes/pnmimagetypes_composite.cxx:1:
panda/src/pnmimagetypes/pnmFileTypeBMPReader.cxx: In function ‘int BMPreadrow(std::istream
, long unsigned int*, pixel*, long unsigned int, short unsigned int, int, pixval*, pixval*, pixval*)’:
panda/src/pnmimagetypes/pnmFileTypeBMPReader.cxx:324: warning: deprecated conversion from string constant to ‘char’
In file included from panda/src/pnmimagetypes/pnmimagetypes_composite1.cxx:4,
from panda/src/pnmimagetypes/pnmimagetypes_composite.cxx:1:
panda/src/pnmimagetypes/pnmFileTypeBMPWriter.cxx: In function ‘int BMPwriterow(std::ostream
, pixel*, long unsigned int, short unsigned int, int, colorhist_list_item**, xelval)’:
panda/src/pnmimagetypes/pnmFileTypeBMPWriter.cxx:281: warning: deprecated conversion from string constant to ‘char’
In file included from panda/src/pnmimagetypes/pnmimagetypes_composite1.cxx:8,
from panda/src/pnmimagetypes/pnmimagetypes_composite.cxx:1:
panda/src/pnmimagetypes/pnmFileTypeJPGReader.cxx: At global scope:
panda/src/pnmimagetypes/pnmFileTypeJPGReader.cxx:58: error: field ‘pub’ has incomplete type
panda/src/pnmimagetypes/pnmFileTypeJPGReader.cxx:61: error: ISO C++ forbids declaration of ‘JOCTET’ with no type
panda/src/pnmimagetypes/pnmFileTypeJPGReader.cxx:61: error: expected ‘;’ before ‘
’ token
panda/src/pnmimagetypes/pnmFileTypeJPGReader.cxx:62: error: ‘boolean’ does not name a type
panda/src/pnmimagetypes/pnmFileTypeJPGReader.cxx:76: error: expected constructor, destructor, or type conversion before ‘init_source’
panda/src/pnmimagetypes/pnmFileTypeJPGReader.cxx:121: error: expected constructor, destructor, or type conversion before ‘(’ token
Storing dependency cache.
Elapsed Time: 13 min 57 sec

That’s an error. It means you forgot to install the development packages of libjpeg and libtiff.

Thanks a lot pro-rsoft, i just didn’t know these libs had to be installed, so, after yum-installing libjpeg-devel and libtiff-devel (and some mesa packages that seemed to be missing too), i ran pandamake again, and it worked a lot better.
I got an rpm package i could install, and it made the libraries appear under /usr/share/panda3d
Now, the problem is everytime i try to run any panda3d script, it fails with the same error :

DirectStart: Starting the game.
Warning: DirectNotify: category ‘Interval’ already exists
Known pipe types:
glxGraphicsPipe
(all display modules loaded.)
Segmentation fault

I hope i’m not far from having it working, does anyone know what’s left to do?

Here’s the final status report i got, if it may help in any way :


Makepanda Final Status Report
Makepanda: Compiler: LINUX
Makepanda: Optimize: 3
Makepanda: Keep Pkg: PYTHON ZLIB PNG JPEG TIFF VRPN FMOD FMODEX OPENAL NVIDIACG OPENSSL FREETYPE FFTW ARTOOLKIT FFMPEG PANDATOOL PANDAAPP
Makepanda: Omit Pkg: MAYA6 MAYA65 MAYA7 MAYA8 MAYA85 MAYA2008 MAX6 MAX7 MAX8 MAX9 DX8 DX9 DIRECTCAM
Makepanda: Verbose vs. Quiet Level: 1
Makepanda: Don’t generate API reference manual
Makepanda: Version ID: 1.5.2
Makepanda: I cannot locate SDK for DX8
Makepanda: I have automatically added this command-line option: --no-dx8
Makepanda: I cannot locate SDK for DX9
Makepanda: I have automatically added this command-line option: --no-dx9
Makepanda: I cannot locate SDK for DIRECTCAM
Makepanda: I have automatically added this command-line option: --no-directcam
Makepanda: MAYA6 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya6
Makepanda: MAYA65 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya65
Makepanda: MAYA7 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya7
Makepanda: MAYA8 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya8
Makepanda: MAYA85 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya85
Makepanda: MAYA2008 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya2008
Makepanda: MAX6 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max6
Makepanda: MAX7 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max7
Makepanda: MAX8 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max8
Makepanda: MAX9 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max9
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.
Makepanda: Elapsed Time: 32 min 57 sec

Arikel

My apologies, i forgot to check for this unrelated problem on this same forum, and the problem had already been mentionned and solved.

Now everything seems to work fine. I can tell you i was happy to see that panda walk again! Thanks a lot to everyone there for taking the time to help, in particular tjdx and pro-rsoft, you’ve been a great help!

Arikel

[quote=“rdb”]
It’s not that serious a crime, don’t worry :wink:

‘memset’ is a function in a system header, string.h.

[end quote]

– For C, yes, but for C++, not any more.

– For C programs to use ‘memset’:
#include <string.h>

– But for C++ programs:
#include
– This is because C++ developed its own string library, which is different

– I’ve had similar problems compiling in Fedora 9 with gcc(-g++) 4.3.0-8
(i.e., memcpy, strtod, other common C functions not defined). This is Panda 1.5.2.

– The problem seems to be that a number of Panda source files don’t have the #include directives – either old- or new-style, though for my compiler, only new-style will work.

– I’ve solved the problem by adding the #include directives, as revealed
here by the ‘grep’ command – the ‘// gdw’ is just a comment to remind me
that I’ve changed the source code:

[root@squirrel panda3d-1.5.2]# grep -nH -e ‘// gdw’ -R .
./built/include/typeRegistryNode.h:30:#include // gdw
./built/include/filename.h:29:#include // gdw
./built/include/cppPreprocessor.h:36:#include // gdw
./built/include/cppPreprocessor.h:37:#include // gdw
./built/include/config_prc.h:25:#include // gdw
./built/include/config_prc.h:26:#include // gdw
./panda/src/pnmimagetypes/pnmFileTypePNM.cxx:19:#include // gdw
./dtool/src/dtoolutil/filename.h:29:#include // gdw
./dtool/src/cppparser/cppPreprocessor.h:36:#include // gdw
./dtool/src/cppparser/cppPreprocessor.h:37:#include // gdw
./dtool/src/dtoolbase/typeRegistryNode.h:30:#include // gdw
./dtool/src/interrogate/interrogate_module.cxx:40:#include // gdw
./dtool/src/prc/config_prc.h:25:#include // gdw
./dtool/src/prc/config_prc.h:26:#include // gdw

– I suspect that the changes I’ve made are not in the optimal locations, but they do work – in particular, changes in the “built” directory perhaps should be made somewhere else in files that are copied into built.