Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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

share|improve this question
    
The developer of peekabot has now filed this as a bug: bugs.launchpad.net/ubuntu/+source/gtkglextmm/+bug/662572 –  Nick Hawes Oct 18 '10 at 14:29
    
In the end I worked around this but editing the .la files to change the linkage to libgdk_pixbuf-2.0 to be a dynamic link rather than static. –  Nick Hawes Oct 18 '10 at 14:30
add comment

2 Answers

up vote 2 down vote accepted

My fix for this was to open the files

/usr/lib/libgtkglextmm-x11-1.2.la
 /usr/lib/libgdkglextmm-x11-1.2.la  

and replace any occurrences of

 /usr/lib/libgdk_pixbuf-2.0.la

with

-lgdk_pixbuf-2.0

However, the bug should now be fixed properly:

https://bugs.launchpad.net/ubuntu/+source/gtkglextmm/+bug/662572

share|improve this answer
add comment

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.

share|improve this answer
    
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. –  Nick Hawes Oct 18 '10 at 8:52
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.