Help! Installation problems!

undefined symbol: PyUnicodeUCS4_FromWideChar
That’s the error message ppython gives me when running.
On my windows partition it runs fine, but on my Mandriva 2007 Powerpack it gives problems.
I first tried the source package, it didn’t work because it couldn’t find the python SDK. This didn’t help me out.
So, I tried the Fedora 6 package. It couldn’t install because I didn’t got rtld(GNU_HASH) or somthing like that.
So, I tried the SuSe package. It installed fine, but whenever I try to run the GreetingCard using ppython (or any other .py file) it says:

I searched all over the internet for this error, but I didn’t find any information.
Can anybody help me plz?

Looks like Mandriva and SuSE don’t have the same python version.

The last time I tried to compile panda under Mandriva, I failed. The problem is that at the time, Mandriva didn’t provide basic tools like bison and flex. I spent almost a day trying to track down the missing tools, and eventually gave up. I don’t know if Mandriva 2007 is any better about providing basic development tools. I may look into it at some point, but given my previous experience, I’m not enthusiastic about it.

rpm.pbone.net/index.php3/stat/4/ … 6.rpm.html
and
rpm.pbone.net/index.php3/stat/4/ … 6.rpm.html
???

and how does that explain my “can’t find the python SDK” error?
By the way, I always use RPM’s, but I tried to download the .tar.gz python version from python.org, and it gave me a “gcc not found” error… but i DEFINATELY GOT gcc installed.
It would be wonderful if my panda3d worked on mandriva too, I got Windows installed too and there it works fine.

Well, do you have the python SDK installed? You need it to build panda from source.

You could probably find an RPM for that on pbone, too.

As for gcc not found, I don’t know. Makepanda doesn’t do anything fancy with gcc, it just invokes it. What happens when you type gcc at the command line?

bash: gcc: command not found…
When I download the gcc or the pythonSDK from pbone it says that I already got them…
my PATH is set fine and I searched for gcc on my computer but didn’t find it…
I downloaded the gcc4.1.1.tar.bz2 but it said i need a cc… but I can’t find ANY c compiler on the internet…
Can anybody help me? :angry:

Perhaps you could reinstall gcc and python using:
rpm -i --replacepkgs xyz.rpm

where you substitute xyz.rpm with the rpm filenames.

OK, gcc works now :slight_smile:
Firstly, I installed tcc (rpm)
Then I tried to install gcc (rpm) But it said: already installed.
So I installed the rpm in my console (at Laurens’ way)
Next I installed python2.5 (source)
These work correctly now, gcc too.
Now, I tried to run makepanda, but it still said I don’t got the python SDK.
I did install python but probably I don’t have the development files.
I googled for them but didn’t find them…

Or do I just have an unsupported wrong Python version(2.5)?

Well, this is exactly what I went through last time I tried to compile for mandriva. I gotta warn you — you aren’t even 5% of the way there. I spent literally all day trying to find the right SDKs. In the end, I failed. You guys are welcome to try again, but I’m going to sit this one out.

:smiley: I found them in 10 minutes… :wink:

on rpm.pbone.net I found an python-numeric-devel, tried to install that, It included the libpython-devel, just the one I couldn’t find!
It’s now building…

Tell you what: save those RPMs from pbone. If you succeed, you can send me the RPMs, and I can build a mandriva distribution.

:smiley: Great! Wise decision :wink: !

Now, makepanda runs fine, but it gives the following error:

When I still try to run ppython I get the following error:
[The weird thing is that this error is the same as I got before (see top of topic) with the SuSe rpm.]

[root@localhost GreetingCard]# ppython GreetingCard.py
DirectStart: Starting the game.
Traceback (most recent call last):
  File "GreetingCard.py", line 1, in ?
    import direct.directbase.DirectStart
  File "/usr/src/packages/BUILD/panda3d-1.3.2/BUILDROOT/usr/share/panda3d/direct/src/directbase/DirectStart.py", line 3, in ?
  File "/usr/src/packages/BUILD/panda3d-1.3.2/BUILDROOT/usr/share/panda3d/direct/src/showbase/ShowBase.py", line 10, in ?
  File "/usr/share/panda3d/pandac/PandaModules.py", line 1, in ?
    from libpandaexpressModules import *
  File "/usr/share/panda3d/pandac/libpandaexpressModules.py", line 1, in ?
    from extension_native_helpers import *
  File "/usr/share/panda3d/pandac/extension_native_helpers.py", line 20, in ?
    from libpandaexpress import *
ImportError: /usr/lib/python2.4/lib-dynload/libpandaexpress.so: undefined symbol: PyUnicodeUCS4_FromWideChar

Makepanda didn’t finish. It got a compiler error. When you run ppython, I don’t know what you’re running — probably, the old SuSE version you installed earlier.

It looks like you have a compiler error. Maybe an old version of the compiler? I don’t know.

Hmm, could be… I have gcc 3.3…
I’ll try if there’s any newer version of gcc at pbone…

EDIT: yep;) makepanda running…

nop… same error…
my gcc version:

[root@localhost panda3d-1.3.2]# gcc -v
Using built-in specs.
Target: i586-mandriva-linux-gnu
Configured with: ../configure --prefix=/usr --libexecdir=/usr/lib --with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --enable-languages=c,c++,ada,fortran,objc,obj-c++,java --host=i586-mandriva-linux-gnu --with-cpu=generic --with-system-zlib --enable-long-long --enable-__cxa_atexit --enable-clocale=gnu --disable-libunwind-exceptions --enable-java-awt=gtk --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --enable-gtk-cairo --enable-ssp --disable-libssp
Thread model: posix
gcc version 4.1.1 20060724 (prerelease) (4.1.1-3mdk)

I see what’s going on. You had an earlier error message - “cannot find evp.h”, or something like that. You need to always post all of the error messages.

The problem is that you don’t have the SSH development files.

SSH development files… where can I find them?
I installed OpenSSL and OpenSSH, but still same result.
By the way, here’s my full error message:

[root@localhost panda3d-1.3.2]# makepanda/./makepanda.py --everything
Checking for MAYA6
Checking for MAYA65
Checking for MAYA7

-------------------------------------------------------------------
Makepanda Initial Status Report
Makepanda: Compiler: LINUX
Makepanda: Optimize: 3
Makepanda: Keep Pkg: PYTHON ZLIB PNG JPEG TIFF VRPN FMODEX NVIDIACG NSPR OPENSSL FREETYPE FFTW BISON FLEX FFMPEG PANDATOOL PANDAAPP
Makepanda: Omit Pkg: MILES MAYA6 MAYA65 MAYA7 MAX6 MAX7 MAX8 DX8 DX9
Makepanda: Verbose vs. Quiet Level: 1
Makepanda: Don't generate API reference manual
Makepanda: Version ID: 1.3.0
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: 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: makepanda currently does not support miles sound system
Makepanda: I have automatically added this command-line option: --no-miles
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/prc_composite.o -I"/usr/include/python2.4" -Ithirdparty/linux-libs-a/nspr/include -Ibuilt/tmp -Idtool/src/prc -Ibuilt/include -O2 -DBUILDING_DTOOLCONFIG dtool/src/prc/prc_composite.cxx
In file included from dtool/src/prc/configPage.cxx:23,
                 from dtool/src/prc/prc_composite1.cxx:4,
                 from dtool/src/prc/prc_composite.cxx:1:
dtool/src/prc/prcKeyRegistry.h:31:25: error: openssl/evp.h: No such file or directory
In file included from dtool/src/prc/prc_composite2.cxx:11,
                 from dtool/src/prc/prc_composite.cxx:2:
dtool/src/prc/prcKeyRegistry.cxx:28:25: error: openssl/pem.h: No such file or directory
dtool/src/prc/prcKeyRegistry.h:60: error: ‘EVP_PKEY’ has not been declared
dtool/src/prc/prcKeyRegistry.h:63: error: ISO C++ forbids declaration of ‘EVP_PKEY’ with no type
dtool/src/prc/prcKeyRegistry.h:63: error: expected ‘;’ before ‘*’ token
dtool/src/prc/prcKeyRegistry.h:73: error: ISO C++ forbids declaration of ‘EVP_PKEY’ with no type
dtool/src/prc/prcKeyRegistry.h:73: error: expected ‘;’ before ‘*’ token
dtool/src/prc/configPage.cxx: In member function ‘bool ConfigPage::read_prc(std::istream&)’:
dtool/src/prc/configPage.cxx:142: error: expected type-specifier before ‘EVP_MD_CTX’
dtool/src/prc/configPage.cxx:142: error: expected `;' before ‘EVP_MD_CTX’
dtool/src/prc/configPage.cxx:144: error: ‘EVP_MD_CTX’ was not declared in this scope
dtool/src/prc/configPage.cxx:144: error: expected primary-expression before ‘)’ token
dtool/src/prc/configPage.cxx:144: error: ‘EVP_sha1’ was not declared in this scope
dtool/src/prc/configPage.cxx:144: error: ‘EVP_VerifyInit’ was not declared in this scope
dtool/src/prc/configPage.cxx:203: error: ‘EVP_PKEY’ was not declared in this scope
dtool/src/prc/configPage.cxx:203: error: ‘pkey’ was not declared in this scope
dtool/src/prc/configPage.cxx:203: error: ‘class PrcKeyRegistry’ has no member named ‘get_key’
dtool/src/prc/configPage.cxx:204: error: expected primary-expression before ‘)’ token
dtool/src/prc/configPage.cxx:204: error: expected `)' before ‘__null’
dtool/src/prc/configPage.cxx:206: error: expected primary-expression before ‘)’ token
dtool/src/prc/configPage.cxx:208: error: ‘EVP_VerifyFinal’ was not declared in this scope
dtool/src/prc/configPage.cxx:222: error: expected primary-expression before ‘)’ token
dtool/src/prc/configPage.cxx:222: error: expected `;' before ‘_md_ctx’
dtool/src/prc/configPage.cxx: In member function ‘void ConfigPage::read_prc_line(const std::string&)’:
dtool/src/prc/configPage.cxx:387: error: ‘EVP_MD_CTX’ was not declared in this scope
dtool/src/prc/configPage.cxx:387: error: expected primary-expression before ‘)’ token
dtool/src/prc/configPage.cxx:387: error: ‘EVP_VerifyUpdate’ was not declared in this scope
dtool/src/prc/prcKeyRegistry.cxx: In member function ‘void PrcKeyRegistry::record_keys(const PrcKeyRegistry::KeyDef*, int)’:
dtool/src/prc/prcKeyRegistry.cxx:74: error: ‘class PrcKeyRegistry::Key’ has no member named ‘_pkey’
dtool/src/prc/prcKeyRegistry.cxx:79: error: ‘class PrcKeyRegistry::Key’ has no member named ‘_pkey’
dtool/src/prc/prcKeyRegistry.cxx:79: error: ‘EVP_PKEY’ was not declared in this scope
dtool/src/prc/prcKeyRegistry.cxx:79: error: expected primary-expression before ‘)’ token
dtool/src/prc/prcKeyRegistry.cxx:79: error: expected `)' before ‘__null’
dtool/src/prc/prcKeyRegistry.cxx:80: error: ‘class PrcKeyRegistry::Key’ has no member named ‘_pkey’
dtool/src/prc/prcKeyRegistry.cxx:80: error: ‘EVP_PKEY_free’ was not declared in this scope
dtool/src/prc/prcKeyRegistry.cxx:81: error: ‘class PrcKeyRegistry::Key’ has no member named ‘_pkey’
dtool/src/prc/prcKeyRegistry.cxx: At global scope:
dtool/src/prc/prcKeyRegistry.cxx:100: error: ‘EVP_PKEY’ has not been declared
dtool/src/prc/prcKeyRegistry.cxx: In member function ‘void PrcKeyRegistry::set_key(int, int*, time_t)’:
dtool/src/prc/prcKeyRegistry.cxx:105: error: ‘class PrcKeyRegistry::Key’ has no member named ‘_pkey’
dtool/src/prc/prcKeyRegistry.cxx:110: error: ‘class PrcKeyRegistry::Key’ has no member named ‘_pkey’
dtool/src/prc/prcKeyRegistry.cxx:110: error: ‘EVP_PKEY’ was not declared in this scope
dtool/src/prc/prcKeyRegistry.cxx:110: error: expected primary-expression before ‘)’ token
dtool/src/prc/prcKeyRegistry.cxx:110: error: expected `)' before ‘__null’
dtool/src/prc/prcKeyRegistry.cxx:111: error: ‘class PrcKeyRegistry::Key’ has no member named ‘_pkey’
dtool/src/prc/prcKeyRegistry.cxx:111: error: ‘EVP_PKEY_free’ was not declared in this scope
dtool/src/prc/prcKeyRegistry.cxx:112: error: ‘class PrcKeyRegistry::Key’ has no member named ‘_pkey’
dtool/src/prc/prcKeyRegistry.cxx:114: error: ‘class PrcKeyRegistry::Key’ has no member named ‘_pkey’
dtool/src/prc/prcKeyRegistry.cxx: At global scope:
dtool/src/prc/prcKeyRegistry.cxx:137: error: expected constructor, destructor, or type conversion before ‘*’ token
Storing dependency cache.
Elapsed Time: 8 sec

[root@localhost panda3d-1.3.2]#  

Not a clue.

But you’re looking for the package that contains the header file “evp.h”. Maybe the search engines can search for a particular file in an RPM?

In Fedora there are packages called something-devel that contain these include files. Perhaps there is something similar for your distro. So I would look for openssh-devel and openssl-devel.

OK, found it.
I searched for RPMS containing evp.h and it found libopenssl-devel [sic, ssl, not ssh]. Now it’s building… (sloooooow)
As soon as I finish building and testing I’ll send the files to you, Josh.

EDIT: after a looong, loooooooong build it said it couldn’t find png.h… I’m now downloading that one (libpng3-devel). I hope this will be the last package it can’t find…
I downloaded libjpeg-devel and libtiff-devel as well, just to be sure…

Nop…
Now this error… I can’t find out what’s missing right now…

(...)
g++ -shared -o built/lib/libp3glstuff.so -Lbuilt/lib -L/usr/X11R6/lib built/tmp/glstuff_glpure.o -lpanda -lpandafx -lpandaexpress -lp3dtoolconfig -lp3dtool -Lthirdparty/nvidiacg/lib  -lCgGL -lCg -Lthirdparty/linux-libs-a/nspr/lib -lpandanspr4 -lGL -lGLU
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
Storing dependency cache.
Elapsed Time: 11 min 9 sec

What am I missing right now?
And does anyone have a list of all the libraries needed in Panda3D?