On Thu, Oct 22, 2009 at 2:00 PM, Erez David <int...@gmail.com> wrote:
> As you can see all the library files are extended with .0
> If I rename this files and remove the .0  (E.g: libwx_baseu-2.8.so.0
> -> libwx_baseu-2.8.so ...) it works fine and doesn't generate the error...
> I hope this will help for debuging the problem.


Hmm, unfortunately the .0 extension should be "correct", since this
should equal the internal "soname" of the shared library.
You can check this:

$ readelf -d /your/installed/libwx_gtk2u_richtext-2.8.so.0 | grep SONAME
0x000000000000000e (SONAME)             Library soname:
[libwx_gtk2u_richtext-2.8.so.0]

My guess is that some misconfigured software uses the names without
the extension. It works on the machine where you packed your program,
because it probably has symlinks libwx_gtk2u_richtext-2.8.so ->
libwx_gtk2u_richtext-2.8.so.0
installed (the symlink without .0 usually comes from a "development" package and
is only needed if you want to build software that uses the wx libs).

Unzip the packed executable into a temp directory and grep for e.g.
libwx_gtk2u_richtext-2.8.so

$ unzip .../installer
$ grep -rl libwx_gtk2u_richtext-2.8.so .

Then examine all listed files whether they contain the string
"libwx_gtk2u_richtext-2.8.so"
without a trailing ".0" (for binary files, run them thru "strings -a ...").
On my machine, the prime suspect is Wx/Mini.pm which contains

 $Wx::dlls = $VAR1 = {
          'base' => 'libwx_baseu-2.8.so',
          'richtext' => 'libwx_gtk2u_richtext-2.8.so',
          ...
};

This hash is referenced in sub _load_dll in Wx.pm which indeed tries to
Wx::_load_file the hash values. Note that I don't have Wx::Perl::Packager
installed, hence YMMV.

Cheers, Roderich

Reply via email to