Compile error with panda3d-1.0.4 on Debian GNU/Linux

Hi, I get the following error when running “makepanda/ --version 1.0.4 --everything”:

Starting compile in “pandatool/src/vrml” (1 min 16 sec):

g++ -ftemplate-depth-30 -c -o built/tmp/pvrml_vrmlLexer.o -I"/usr/include/python2.3" -Ithirdparty/linux-libs-a/nspr/include -Ibuilt/tmp -Ipandatool/src/vrml -Ibuilt/include -O2 built/tmp/vrmlLexer.cxx

vrmlLexer.lxx:64: error: redefinition of int vrmlyy_flex_debug' lex.yy.c:2612: error:int vrmlyy_flex_debug’ previously defined here

Sounds like an incompatibility between debian’s version of “flex” and panda. Fortunately, we ship files that are already flexed. Do this:

cp pandatool/src/vrml/vrmlLexer.cxx.prebuilt built/tmp/vrmlLexer.cxx
touch built/tmp/vrmlLexer.cxx

Then, resume the compilation by typing:

makepanda/ --version 1.0.4 --everything

again. You may have to do this for two or three other flex-related files as well.

Later this week, I’ll try to install debian over here and find a more long-term fix.

That did the trick. Thanks for the quick reply.

Hello there, got another error to add to the mix. =)

cd built/tmp ; flex    -Pdcyy -olex.yy.c dcLexer.lxx
flex: could not create lex.yy.c

Running Debian Unstable.

Hope to hear from you soon,

It’s not clear why you’re getting that error–some permission problem generating the output file?–but the same workaround that Josh suggested above should also work for you.


slaps himself in the face

Yup, it was a permission problem.