Help! Installation problems!


#1

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?


#2

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.


#3

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.


#4

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?


#5

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:


#6

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

where you substitute xyz.rpm with the rpm filenames.


#7

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)?


#8

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.


#9

: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…


#10

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


#11

: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

#12

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.


#13

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…


#14

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)

#15

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.


#16

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]#  

#17

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?


#18

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.


#19

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…


#20

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?