Re: GdkPixbuf-WARNING **: Cannot open pixbuf loader module file

Akos Maroy wrote:

this might be a bit off-topic to this list, as the bug seems to be GTK+
specific, not GTK--, but anyway:

I have the following scenario: I compile all the GTK+ and GTK--
libraries myself, and install them under, say the mydir/usr directory.
so I have mydir/lib, mydir/include, etc. etc.

I compile all my applications referring to this directory, using the
LD_LIBRARY_PATH environment variable and -Lmydir/lib for the linker to
find the libraries.

so far, so good. in this setup, everything runs fine.

then, I'd like to package my application, for which I copy some files
over to an installation directory, among others mydir/lib to
installdir/lib, and set LD_LIBRARY_PATH accordingly.

now, if I remove mydir, I can't any more start my application, because
it gives me the following error:

GdkPixbuf-WARNING **: Cannot open pixbuf loader module file
'mydir/etc/gtk-2.0/gdk-pixbuf.loaders': No such file or directory

first of all, how come these libraries have paths hard-coded into them?

second, when I look at these files under mydir/etc, and it seems they
have a loads of hard-coded paths as well, pointing to the original
locations of the libraries, like:

"wbmp" 4 "gtk20" "The WBMP image format"
"image/vnd.wap.wbmp" ""
"wbmp" ""
" " "z" 1

which is very strange indeed. how would I package binary GTK+ then, to
work properly from a directory of my choice?

gtkmm-list mailing list
gtkmm-list gnome org


I'll stick my toe into this snakepit: The way I understand it is that most linux opsys distros come with all the needed libraries installed in set paths like /usr/local or /opt/gnome. If, when compiling your newest versions of these packages, you use --prefix='/usr/local' or --prefix='/opt/gnome' when you run ./configure and then are also sure to use pkg-config in your compile and link command lines for all the packages to which you're linking in your own applications, your applications should run on all similar opsys distros. However, if you are telling your applications to look in a specific directory of your own making that may not exist on some other machine for those libraries, then your applications will indeed fail to run.

Guys, this is how I understand this; but if I'm being naive here, please correct me.

Bob Caryl

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]