Bug #18502
closedMake ruby-2.7.5 on Solaris 10 ld.so.1: gcc: fatal: libintl.so.8: open failed: No such file or directory
Description
Attempt to make ruby-2.7.5 on Solaris 10 generates error (same error repeated on multiple extensions:)
...
gmake[1]: Entering directory `/export0/home/telegraf/fluentd/ruby_versions/ruby275/ruby-2.7.5'
*** Following extensions are not compiled:
openssl:
Could not be configured. It will not be installed.
/export0/home/telegraf/fluentd/ruby_versions/ruby275/ruby-2.7.5/lib/mkmf.rb:471: The compiler failed to generate an executable file.
You have to install development tools first.
Check ext/openssl/mkmf.log for more details.
...
more ext/openssl/mkmf.log¶
=== OpenSSL for Ruby configurator ===
"/usr/local/gcc4/bin/gcc -o conftest -I../../.ext/include/i386-solaris2.10 -I../.././include -I../.././ext/opens
sl -std=gnu99 -D_XOPEN_SOURCE=600 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -std=c99 conftest.c -L. -L../..
-L. -fstack-protector -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lruby-static -lpthread -lrt -lrt -lrt -ls
ocket -ldl -lcrypt -lm -lm -lc"
ld.so.1: gcc: fatal: libintl.so.8: open failed: No such file or directory
===================================== ref:
/usr/local/gcc4/bin/gcc -v¶
Using built-in specs.
COLLECT_GCC=/usr/local/gcc4/bin/gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/lto-wrapper
Target: i386-pc-solaris2.10
Configured with: ../configure --with-gnu-as --with-as=/usr/local/bin/gas --without-gnu-ld --with-ld=/usr/ccs/bin/ld --enable-nls --enable-threads=posix --prefix=/usr/local/gcc4 --enable-shared --enable-multilib --enable-languages=c,c++,objc --enable-bootstrap --with-mpfr=/usr/local --with-mpc=/usr/local --with-gmp=/usr/local
Thread model: posix
gcc version 4.5.1 (GCC)
=======
ldd -d /opt/csw/lib/libintl.so.8¶
libiconv.so.2 => /opt/csw/lib/libiconv.so.2
libc.so.1 => /usr/lib/libc.so.1
libm.so.2 => /usr/lib/libm.so.2
ldd -d /usr/local/gcc4/bin/gcc¶
libintl.so.8 => /opt/csw/lib/libintl.so.8
libiconv.so.2 => /opt/csw/lib/libiconv.so.2
libc.so.1 => /usr/lib/libc.so.1
libm.so.2 => /usr/lib/libm.so.2
===============
Updated by dklein (Dmitri Klein) almost 3 years ago
Updated by dklein (Dmitri Klein) almost 3 years ago
Error fixed by creating following links MANUALLY:
cd /usr/lib/¶
ln -s /opt/csw/lib/libintl.so.8 libintl.so.8
ln -s /opt/csw/lib/libiconv.so.2 libiconv.so.2
ln -s /opt/csw/lib/libmpc.so.2 libmpc.so.2
ln -s /opt/csw/lib/libmpfr.so.1 libmpfr.so.1
ln -s /opt/csw/lib/libgmp.so.3 libgmp.so.3
Updated by dklein (Dmitri Klein) almost 3 years ago
Please close the issue as resolved.
Updated by jeremyevans0 (Jeremy Evans) almost 3 years ago
- Status changed from Open to Closed
Updated by mame (Yusuke Endoh) almost 3 years ago
Well, I don't think ln -s /opt/csw/lib/libgmp.so.3 /usr/lib/libgmp.so.3
is a right solution. Have you tweaked your system that way? I suspect your system is on the verge of breaking down, or already has. Please contact on the administrator of your machine.
Updated by dklein (Dmitri Klein) almost 3 years ago
Thanks, Yusuke. Can you also help us to direct gmake openssl extension to the right version of OpenSSL?
We see error "checking for OpenSSL version >= 1.0.1 and < 3.0.0... --no", but if fact our OpenSSL version is
/opt/csw/bin/amd64/openssl version¶
OpenSSL 1.0.2u 20 Dec 2019
Should we use option ./configure --with-openssl-dir=/opt/csw/bin/amd64 ?
Many thanks!
Updated by mame (Yusuke Endoh) almost 3 years ago
On our Solaris, it is possible to build without any option about OpenSSL. Maybe you need setup your system properly. We don't know the status of your system, so we cannot help you.
I'm repeating myself: Please contact on the administrator of your machine, or on the Oracle support.
Updated by dklein (Dmitri Klein) almost 3 years ago
Thanks. Most probably you have OpenSSL higher version (OpenSSL version >= 1.0.1 and < 3.0.0) pre-installed by default - therefore you don't receive such error. Unfortunately we can't change system configuration of the box, it belongs to a third-party vendor. We can just do new installations also adding dependencies if required.