Linking to libvips.so.42 #3026
Replies: 3 comments
-
|
Additional: # find . -name libvips.*
./.linuxbrew/Cellar/vips/8.12.2_1/share/gtk-doc/html/libvips/libvips.devhelp2
./.linuxbrew/Cellar/vips/8.12.2_1/lib/libvips.so.42
./.linuxbrew/Cellar/vips/8.12.2_1/lib/libvips.so.42.14.2
./.linuxbrew/Cellar/vips/8.12.2_1/lib/libvips.so
./.linuxbrew/Cellar/vips/8.12.2_1/lib/libvips.a
./.linuxbrew/lib/libvips.so.42
./.linuxbrew/lib/libvips.so.42.14.2
./.linuxbrew/lib/libvips.so
./.linuxbrew/lib/libvips.aAdding /home/linuxbrew/.linuxbrew/lib to /etc/ld.so.conf.d/linuxbrew.conf and running ldconfig yields: # ldconfig -p | grep vips
libvips.so.42 (libc6,x86-64) => /home/linuxbrew/.linuxbrew/lib/libvips.so.42
libvips.so (libc6,x86-64) => /home/linuxbrew/.linuxbrew/lib/libvips.so
libvips-cpp.so.42 (libc6,x86-64) => /home/linuxbrew/.linuxbrew/lib/libvips-cpp.so.42
libvips-cpp.so (libc6,x86-64) => /home/linuxbrew/.linuxbrew/lib/libvips-cpp.soBut still get this after FFI tries to use the libvips: LoadError: Could not open library 'vips.so.42': vips.so.42: cannot open shared object file: No such file or directory.
Could not open library 'libvips.so.42': /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/linuxbrew/.linuxbrew/lib/libjxl.so.0.6)I'd like to understand this so I can use homebrew for all my backporting needs. ;-) What am I missing? |
Beta Was this translation helpful? Give feedback.
-
|
Adding # ldconfig -p | grep libstdc
libstdc++.so.6 (libc6,x86-64) => /home/linuxbrew/.linuxbrew/Cellar/gcc/11.2.0_3/lib/gcc/11/libstdc++.so.6
libstdc++.so.6 (libc6,x86-64) => /lib/x86_64-linux-gnu/libstdc++.so.6
libstdc++.so (libc6,x86-64) => /home/linuxbrew/.linuxbrew/Cellar/gcc/11.2.0_3/lib/gcc/11/libstdc++.soI discovered this by: /home/linuxbrew# find . -name libstdc*
./.linuxbrew/Cellar/gcc/11.2.0_3/share/gcc-11/python/libstdcxx
./.linuxbrew/Cellar/gcc/11.2.0_3/lib/gcc/11/libstdc++.so.6
./.linuxbrew/Cellar/gcc/11.2.0_3/lib/gcc/11/libstdc++.so.6.0.29-gdb.py
./.linuxbrew/Cellar/gcc/11.2.0_3/lib/gcc/11/libstdc++.so
./.linuxbrew/Cellar/gcc/11.2.0_3/lib/gcc/11/libstdc++.a
./.linuxbrew/Cellar/gcc/11.2.0_3/lib/gcc/11/libstdc++.so.6.0.29
./.linuxbrew/Cellar/gcc/11.2.0_3/lib/gcc/11/libstdc++fs.aMy question here is... will this get me in trouble down the line - i.e. linking to libraries not installed by homebrew? Thanks for helping me with the fundamentals. |
Beta Was this translation helpful? Give feedback.
-
|
The problem here is that |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
There is a fundamental I am sure I am missing here...
I am trying to install libvips (vips) from homebrew on Ubuntu 20.04 and then link to libvips.so.42 from a gem
ruby-vipshowever it can't find libvips.so.42.I installed vips with
brew install --build-from-source vips./home/linuxbrew/.linuxbrew/opt/libvips/libdoes contain libvips.so.42:# ls /home/linuxbrew/.linuxbrew/opt/libvips/lib girepository-1.0 libvips-cpp.a libvips-cpp.so libvips-cpp.so.42 libvips-cpp.so.42.14.2 libvips.a libvips.so libvips.so.42 libvips.so.42.14.2 pkgconfigldconfig -p | grep vipsreturns nothing even after anldconfig(expected)Installing the gem I get:
Adding
/home/linuxbrew/.linuxbrew/opt/libvips/libto/etc/ld.so.conf.d/linuxbrew.confand runningldconfigyields:But then on gem install I get:
I am confused by the
/lib/x86_64-linux-gnu/directory in there.Ultimately my question is what needs to be done so I can use the libs compiled by homebrew?
Or is what I am trying do more difficult than just compiling libvips from source myself?
Am I correct in thinking that there is a version conflict because the brewed
vips.so.42is trying to link to an older version oflibstdc++installed by the OS?Much thanks!
Beta Was this translation helpful? Give feedback.
All reactions