Hey,
I'm trying to compile an application (peekabot) from source on a clean install of 10.10 (this is under VirtualBox on OS X, but I don't think that this is a problem). When it performs a linking step it fails because of a missing static library:
libtool: link: cannot find the library `/usr/lib/libgdk_pixbuf-2.0.la' or unhandled argument `/usr/lib/libgdk_pixbuf-2.0.la'
I have libgdk-pixbuf2.0-dev installed, hence the worry.
The reference to the library appears to have been added as a dependency of libgtkglextmm and libgdkglextmm:
grep "libgdk_pixbuf-2.0.la" /usr/lib/*.la
/usr/lib/libgdkglextmm-x11-1.2.la:dependency_libs=' /usr/lib/libgdkglext-x11-1.0.la /usr/lib/libgdk-x11-2.0.la /usr/lib/libgdk_pixbuf-2.0.la /usr/lib/libpangocairo-1.0.la /usr/lib/libgio-2.0.la /usr/lib/libpangox-1.0.la /usr/lib/libpango-1.0.la /usr/lib/libgobject-2.0.la /usr/lib/libgmodule-2.0.la /usr/lib/libglib-2.0.la -lGLU -lXmu -lXt -lSM -lICE /usr/lib/libgdkmm-2.4.la /usr/lib/libpangomm-1.4.la /usr/lib/libglibmm-2.4.la /usr/lib/libcairomm-1.0.la /usr/lib/libcairo.la -lfreetype -lz -lfontconfig -lpng12 -lxcb-render-util -lXrender -lX11 -lpixman-1 /usr/lib/libsigc-2.0.la'
/usr/lib/libgtkglextmm-x11-1.2.la:dependency_libs=' /usr/lib/libgdkglextmm-x11-1.2.la /usr/lib/libgtkglext-x11-1.0.la /usr/lib/libgdkglext-x11-1.0.la /usr/lib/libgtk-x11-2.0.la /usr/lib/libatk-1.0.la /usr/lib/libpangoft2-1.0.la /usr/lib/libfreetype.la /usr/lib/libgdk-x11-2.0.la /usr/lib/libgdk_pixbuf-2.0.la /usr/lib/libpangocairo-1.0.la /usr/lib/libgio-2.0.la /usr/lib/libpangox-1.0.la /usr/lib/libpango-1.0.la /usr/lib/libgobject-2.0.la /usr/lib/libgmodule-2.0.la /usr/lib/libglib-2.0.la -lGLU -lXmu -lXt -lSM -lICE /usr/lib/libgtkmm-2.4.la /usr/lib/libgiomm-2.4.la /usr/lib/libgdkmm-2.4.la /usr/lib/libatkmm-1.6.la /usr/lib/libpangomm-1.4.la /usr/lib/libcairomm-1.0.la /usr/lib/libcairo.la -lfreetype -lpng12 -lxcb-render-util -lXrender -lX11 -lpixman-1 /usr/lib/libglibmm-2.4.la /usr/lib/libsigc-2.0.la -lz -lfontconfig'
But the referenced static library is missing from my system. So, is there a way to get this library that I'm missing, or is there some other workaround I can use?
thanks, Nick
-
You probably need libgdk-pixbuf2.0-dev
When I am missing a library I take whatever it's complaining about and do an apt-cache search on it. For example in this is what I did in order to find the library:
jorge@lowgirl:~$ apt-cache search libgdk pixbuf libgdk-pixbuf2.0-0 - GDK Pixbuf library libgdk-pixbuf2.0-dev - GDK Pixbuf library (development files) libgdk-pixbuf2.0-doc - GDK Pixbuf library (documentation) libg3d-plugin-gdkpixbuf - plugin for the LibG3D library libgdk-pixbuf2-ruby - Gdk-Pixbuf 2 bindings for the Ruby language libgdk-pixbuf2-ruby1.8 - Gdk-Pixbuf 2 bindings for the Ruby language libgdk-pixbuf2-ruby1.8-dbg - Gdk-Pixbuf 2 bindings for the Ruby language libgdkcutter-pixbuf-dev - Cutter Gdk-pixbuf support (Development files) libgdkcutter-pixbuf0 - Cutter Gdk-pixbuf support (Shared library)
Packages ending in -dev are what you need, then you just kind of pick the right one from the names.
For a machine that I know I will be using to build stuff on I "cheat" by using the
apt-get build-dep
command to pull in libraries that I will probably need. So for example if I want to build an upstream version of say, nautilus, I do anapt-get build-dep nautilus
, this will bring in all the libraries I will need, unless upstream added a new dep than what's in the release this will handle most cases.Nick Hawes : Sorry, I should've been more explicit in the question: libgdk-pixbuf2.0-dev is present, but the library is still missing.Jorge Castro : Please edit your question and add this information, then I will edit my answer appropriately. Thanks!Nick Hawes : Done, sorry, and I should've said thanks in my first comment too, so thanks again! ;)From Jorge Castro -
Are you building a 32-bit application on 64-bit by chance? This question reminds me of this bug which I'm not 100% sure we fixed this cycle.
Nick Hawes : This is a 32-bit install of Ubuntu and I have not set any arch flags for the build. I assume that this means the above isn't the problem, unless something nefarious is going on under the hood.From Scott Ritchie
0 comments:
Post a Comment