ddollar / heroku-buildpack-apt

120 stars 327 forks source link

.so locations #15

Closed mbustosorg closed 8 years ago

mbustosorg commented 9 years ago

Hi,

I'm having trouble with the locations of shared libraries. Here is an example from this morning where I was installing libcairo2-dev. The static library and .so link is being created but the link source is not in the /app/.apt/usr/lib location. It's in the standard /usr/lib location. Because of this, the link can't find the shared library, falls back to the static library and fails.

~ $ ls -lah .apt/usr/lib/libcairo*
-rw------- 1 u7292 7292 989K Feb 25  2010 .apt/usr/lib/libcairo.a
-rw------- 1 u7292 7292  951 Feb 25  2010 .apt/usr/lib/libcairo.la
lrwxrwxrwx 1 u7292 7292   22 Jan 14 22:31 .apt/usr/lib/libcairo.so -> libcairo.so.2.10800.10
~ $ ls -lah /usr/lib/libcairo*
lrwxrwxrwx 1 root root   22 Jan 14 09:26 /usr/lib/libcairo.so.2 -> libcairo.so.2.10800.10
-rw-r--r-- 1 root root 521K Feb 25  2010 /usr/lib/libcairo.so.2.10800.10

I'm a bit new to apt-get and trying to do as much research as I can. I've looked in the pkgconfig:

~/.apt/usr/lib/pkgconfig $ more cairo-xlib.pc 
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: cairo-xlib
Description: Xlib surface backend for cairo graphics library
Version: 1.8.10

Requires: cairo x11
Libs: 
Cflags: -I${includedir}/cairo 

Is the 'prefix' variable what's preventing the .so files from being made available in the .apt?

Thanks, mauricio

calvingiles commented 9 years ago

I appear to be getting the same issue with libtdsodbc.ini.

mbustosorg commented 9 years ago

I created a pull request that will resolve the so links that target files found in /usr/lib. This set of changes resolved the issues I was encountering with my collection of ~15 symbolic links.