• 締切済み

Solaris10へのPerlインストール時のエラー(ldのエラー?)について

Solaris10にPerlをインストールするため、以下のコマンドを実行したところ、 ### sh Configure -Dprefix=/usr/local/perl -Dcc=gcc -des ### 以下のエラーが発生しました。 ### I've tried to compile and run the following simple program: #include <stdio.h> int main() { printf("Ok\n"); exit(0); } I used the command: gcc -o try -O -fno-strict-aliasing try.c -lsocket -lnsl -ldb -ldl -lm -lc ./try and I got the following output: ld: 重大なエラー: ライブラリ -ldb: 見つかりません。 ld: 重大なエラー: ファイル処理エラー。try へ書き込まれる出力がありません。 collect2: ld returned 1 exit status I can't compile the test program. You have a BIG problem. Shall I abort Configure [y] Ok. Stopping Configure. ### 上記エラーの解決方法をご存知の方がいらっしゃいましたら、 ご教授いただきたいと思います。 なお、上記現象はPerl5.6.8およびPerl5.8.8のインストール時に 発生しました。 よろしくお願いいたします。

noname#199527
noname#199527
  • Perl
  • 回答数4
  • ありがとう数3

みんなの回答

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.4

ソースからインストールする必要がなければ、参考URLにperlの実行形式のプログラム(sprac solaris10用)がありますが、それをインストールするのが、簡単かと思います。 今回、あなたが、ソースからインストールすることにした理由に非常に興味があります。差し支えなければ、その理由を教えていただけませんでしょうか。

参考URL:
http://sunfreeware.mirrors.tds.net/
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.3

#2の方がいわれているようにlibdb.soの所在が不明なのが原因です。 以下の手順で、環境を設定して下さい。 1.libdb.soがどこにあるか検索する。 rootユーザーで以下のコマンドを実行。 # find / -name libdb.so 私の環境では、 /opt/SUNWdsee/ds6/lib/libdb.so が表示されました。 2.このディレクトリをLD_LIBRARY_PATHに追加します。 私の環境ではCシェルなので、以下のようにしました。 setenv LD_LIBRARY_PATH /usr/local/lib:/usr/lib:/opt/SUNWdsee/ds6/lib 上記、設定を生かすために、一旦ログアウトし、再度ログインし直します。その後、sh Configure -Dprefix=/usr/local/perl -Dcc=gcc -des を実行します。 私の環境では、上記の対応で、解決しました。

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

> ld: 重大なエラー: ライブラリ -ldb: 見つかりません。 > ld: 重大なエラー: ファイル処理エラー。try へ書き込まれる出力がありません。 メッセージの通り、テスト用のプログラムを作成したがライブラリが見つからないために実行できないのでしょう。 libdb.so (Oracle Berkeley DB でしょう) はどこにインストールされていますか? 実行時に参照されるライブラリのパス (ライブラリを検索するディレクトリ) は通常は /lib と /usr/lib だけなので、その他のディレクトリに libdb.so がインストールされているのであれば実行時に LD_LIBRARY_PATH を設定するか、コンパイル時に rpath を設定する必要があります。 簡単なのは前者です。LD_LIBRARY_PATH=(libdb のディレクトリ) を設定してから再度 Configure してみてはいかがでしょうか。

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.1

私が回答できると言うわけではありませんが、 solaris10はsparc版ですかintel版ですか?

noname#199527
質問者

補足

sparc版です。 よろしくお願いします。

関連するQ&A

  • mod_perlインストール時のエラー

    mod_perl インストール中に行き詰まりました。 どこから調べて行けばよいかどなたかアドバイスお願いします。 $ make ・ ・ ld: 重大なエラー: シンボル参照エラー。libperl.so に書き込まれる出力はありません。 collect2: ld はステータス 1 で終了しました *** Error code 1 make: Fatal error: Command failed for target `libperl.so' Current working directory /export/home/Apache/mod_perl-1.29/apaci *** Error code 1 make: Fatal error: Command failed for target `apxs_libperl' ちなみに、エラーメッセージが出る前のメッセージですが以下のような感じです。 よろしくお願いします。 ・ ・ gcc -L/usr/local/lib -o libperl.so mod_perl.lo perlxsi.lo perl_config.lo perl_util.lo perlio.lo mod_perl_opmask.l o Apache.lo Constants.lo ModuleConfig.lo Log.lo URI.lo Util.lo Connection.lo Server.lo File.lo Table.lo -R /usr/ perl5/5.6.1/lib/sun4-solaris-64int/CORE /usr/perl5/5.6.1/lib/sun4-solaris-64int/auto/DynaLoader/DynaLoader.a -L/ usr/perl5/5.6.1/lib/sun4-solaris-64int/CORE -lperl -lsocket -lnsl -ldl -lm -lc 未定義の 最初に参照している シンボル ファイル main /usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.6/crt1.o ap_os_dso_unload mod_perl.lo ap_null_cleanup mod_perl.lo ap_index_of_response Apache.lo ・ ・ ap_table_get mod_perl.lo ap_table_add perl_config.lo ld: 重大なエラー: シンボル参照エラー。libperl.so に書き込まれる出力はありません。 collect2: ld はステータス 1 で終了しました ・ ・

  • postgres9のconfigureでエラー

    Solaris10にpostgres9.0.5をインストールしようとしています。 Solarisには現時点での最新パッチが当たっている状態です(詳細はちょっと不明) 以下のオプションでconfigureを行うと、エラーになります。 ./configure --prefix=/usr/local/postgres --without-readline --enable-thread-safety 以下エラー --------------------------------------------------------------- checking thread safety of required library functions... no configure: error: thread test program failed This platform is not thread-safe. Check the file 'config.log' or compile and run src/test/thread/thread_test for the exact reason. Use --disable-thread-safety to disable thread safety. --------------------------------------------------------------- config.logの中のエラーの内容 --------------------------------------------------------------- configure:28765: checking thread safety of required library functions configure:28798: gcc -m64 -o conftest -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wend if-labels -fno-strict-aliasing -fwrapv -pthreads -pthreads -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS -D IN_CONFIGURE conftest.c -lz -lnsl -lsocket -lm -lpthread -lpthread >&5 Undefined first referenced symbol in file sched_yield /var/tmp//ccVp73Io.o collect2: ld returned 1 exit status ld: fatal: symbol referencing errors. No output written to conftest configure:28802: $? = 1 configure: program exited with status 1 --------------------------------------------------------------- thread-safetyを無効にすれば正常にインストールできます。 このエラーを回避するにはどうすればよいでしょうか? あまり参考にはならない情報かもしれませんが、9.0.4/9.1.1でも同様のエラーが出ます。

  • yum install perl*したのを戻したいのですが・・

    お世話になります。 # yum -y install perl* してしまい、 # perl -V とすると # perl -V Summary of my perl5 (revision 5 version 8 subversion 9) configuration: Platform: osname=linux, osvers=2.6.18-8.1.15.el5xen, archname=i686-linux uname='linux miy.hassinti.com 2.6.18-8.1.15.el5xen #1 smp mon oct 22 09:33:52 edt 2007 i686 i686 i386 gnulinux ' config_args='' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='4.1.2 20070626 (Red Hat 4.1.2-14)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -ldb -ldl -lm -lcrypt -lutil -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc libc=/lib/libc-2.5.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.5' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: PERL_MALLOC_WRAP USE_FAST_STDIO USE_LARGE_FILES USE_PERLIO Built under linux Compiled at May 15 2009 19:58:49 %ENV: PERL5LIB="/usr/local/lib/perl5/site_perl/5.8.9/i686-linux:/usr/local/lib/perl5/site_perl/5.8.9::" @INC: /usr/local/lib/perl5/site_perl/5.8.9/i686-linux /usr/local/lib/perl5/site_perl/5.8.9/i686-linux /usr/local/lib/perl5/site_perl/5.8.9 /usr/local/lib/perl5/5.8.9/i686-linux /usr/local/lib/perl5/5.8.9 /usr/local/lib/perl5/site_perl/5.8.9/i686-linux /usr/local/lib/perl5/site_perl/5.8.9 で、5.8.9になってしまいました。 1.この5.8.9はマイナーバージョンなんでしょうか? 2.出来れば、5.8.8に戻したいと考えておりますが、可能でございますでしょうか 可能な場合は、どうやれば戻すことが出来るかご教示願えませんでしょうか。 3.また、5.10にするか迷っている所ですが、5.10にすると5.8.8で使っていた時の@INCに入っていたディレクトリ等はなくなりますか? お手数ですが、ご教示願えますよう宜しくお願い致します。

    • ベストアンサー
    • Perl
  • Cコンパイルエラーについて

    ◆OS Solaris 8 4/01 s28s_u4wos_08 SPARC ◆cソース(test.c) #include <stdio.h> int main() { printf("hello, world\n"); return 0; } ◆環境変数 PATH=/usr/sbin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/css/bin:/usr/sfw/bin:/opt/sfw/bin:/usr/ccs/bin:/usr/openwin/bin:/usr/openwin/bin LD_LIBRALY_PATH=/usr/lib:/usr/local/lib:. ◆コンパイル gcc -o test -g -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -L/usr/local/lib test.c -lsocket -lnsl -lmalloc -ldl -lld -lm -lcrypt -lsec -lc ◆エラー内容 ld: 重大なエラー: ライブラリ -lld: 見つかりません。 ld: 重大なエラー: ファイル処理エラー。test へ書き込まれる出力がありません。 collect2: ld はステータス 1 で終了しました 上記エラー対処方法をご教授下さい。宜しくお願いします。

  • GCCでライブラリが足りない

    はじめまして。 LindowsOS4.0を使っています。 コンパイルができずに困っています。 GCCとMAKEをインストールしました(Lindowsはどちらも入っていないのです。Debian/Woodyベースと言われています)。 gcc 2.95.4 make 3.79.1 which gcc とすると、/usr/bin/gcc と表示されます。 で、./configure すると、 ..... checking whether the C compiler works ... no と表示されコンパイルエラーになります。 configure.log を見ると、 ------------------- checking for gcc configure:916: checking whether the C compiler (gcc ) works configure:932: gcc -o conftest conftest.c 1>&5 /usr/bin/ld: cannot open crt1.o: No such file or directory collect2: ld returned 1 exit status configure: failed program was: #line 927 "configure" #include "confdefs.h" main(){return(0);} --------------------- とか --------------------- checking for gcc configure:905: checking whether the C compiler (gcc ) works configure:921: gcc -o conftest conftest.c 1>&5 /usr/bin/ld: cannot open crt1.o: No such file or directory collect2: ld returned 1 exit status configure: failed program was: #line 916 "configure" #include "confdefs.h" main(){return(0);} ---------------------- とかなっています。 confdefs.hというのは何かのライブラリなのでしょうか?これが無いとconfigureできないのでしょうか?? よろしくお願いいたします。

  • Openldapインストールmakeでエラー

    Solaris10にOpenldapのインストールがうまく行きません。 make時でエラーになります。 色々、Googleで調べてしているのですが結局うまくいきませんでした。 教えていた頂けたら幸いです。 事前にインストールしたソフト BerkeleyDB4.7.25 openssl0.98l cyrus-sasl-2.1.21 cd openldap-2.4.16 CPPFLAGS="-I/usr/local/BerkeleyDB.4.7/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.7/lib -R/usr/local/BerkeleyDB.4.7/lib" ./configure make depend make (cd .libs && rm -f libldap.la && ln -s ../libldap.la libldap.la) gcc -g -O2 -I../../include -I../../include -I/usr/local/BerkeleyDB.4.7/include -c -o apitest.o apitest.c /bin/sh ../../libtool --mode=link gcc -static -g -O2 -L/usr/local/BerkeleyDB.4.7/lib -R/usr/local/BerkeleyDB.4.7/lib -o apitest apitest.o libldap.la ../../libraries/liblber/liblber.la ../../libraries/liblutil/liblutil.a -lsasl2 -lgss -lssl -lcrypto -lresolv -lgen -lnsl -lsocket gcc -g -O2 -o apitest apitest.o -L/usr/local/BerkeleyDB.4.7/lib ./.libs/libldap.a /work/src/openldap-2.4.16/libraries/liblber/.libs/liblber.a -L/usr/local/lib:-L/usr/local/ssl/lib:-L/usr/sfw/lib:-L/usr/lib:-L/opt/sfw/lib:-L/usr/ccs/lib:-L/usr/local/BerkeleyDB4.7/lib ../../libraries/liblber/.libs/liblber.a ../../libraries/liblutil/liblutil.a /usr/local/lib/libsasl2.so -ldl -lgss -lssl -lcrypto -lresolv -lgen -lnsl -lsocket -R/usr/local/lib -R/usr/local/lib -R/usr/local/BerkeleyDB.4.7/lib Undefined first referenced symbol in file BIO_set_flags ./.libs/libldap.a(tls_o.o) BIO_clear_flags ./.libs/libldap.a(tls_o.o) SSL_CTX_set_info_callback ./.libs/libldap.a(tls_o.o) ld: fatal: Symbol referencing errors. No output written to apitest collect2: ld returned 1 exit status make[2]: *** [apitest] エラー 1 make[2]: ディレクトリ `/work/src/openldap-2.4.16/libraries/libldap' から出ます make[1]: *** [all-common] エラー 1 make[1]: ディレクトリ `/work/src/openldap-2.4.16/libraries' から出ます make: *** [all-common] エラー 1 勉強不足で申し訳ありませんが、よろしくお願いします。

  • GDモジュールのインストールエラー

    RedHat ES でGDgraphモジュールを使用するために GDモジュールをインストールしたところ、下記のようなエラーになりました。 gcc -c -I/usr/local/include -I/usr/local/include/gd -D_REENTRANT -D_GNU_SOURCE -DTHREADS_ HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FIL E_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -mcpu=i686 -DVERSION=\"2.11\" -DXS_VERSION=\"2.11\" -fPIC "-I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE" GD .c Running Mkbootstrap for GD () chmod 644 GD.bs rm -f blib/arch/auto/GD/GD.so LD_RUN_PATH="/usr/local/lib:/usr/lib:/lib" gcc -shared -L/usr/local/lib GD.o -o blib/arch/auto/GD/GD.so -L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/local/lib -lgd -lpng -lz -lm/usr/bin/ld: cannot find -lpng collect2: ld はステータス 1 で終了しました make: *** [blib/arch/auto/GD/GD.so] エラー 1 freetype2 gdライブラリ PG.pm GDTextUtile GD::Graph   はインストール完了しましたが gdのインストールだけが何度やっても失敗します。 何のモジュールが足りないのか教えていただきたいです。 よろしくお願いいたします。

  • Apacheインストール時にエラー

    はじめまして。 Solaris10の環境で、OpenSSL9.8lをソースからインストールし Apache2.2.14の所でmakeエラーが発生しました。 Googleで調べたのですが、よくわかりません。 ご存知の方、教えていただけたら幸いです。 ./configure --enable-mods-shared=all--enable-ssl=shared --enable-ssl --with-ssl=/usr/local/ssl --with-included-apr make /usr/local/src/httpd-2.2.14/srclib/apr/libtool --silent --mode=compile gcc -g -O2 -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE -I/usr/local/src/httpd-2.2.14/srclib/pcre -I. -I/usr/local/src/httpd-2.2.14/os/unix -I/usr/local/src/httpd-2.2.14/server/mpm/prefork -I/usr/local/src/httpd-2.2.14/modules/http -I/usr/local/src/httpd-2.2.14/modules/filters -I/usr/local/src/httpd-2.2.14/modules/proxy -I/usr/local/src/httpd-2.2.14/include -I/usr/local/src/httpd-2.2.14/modules/generators -I/usr/local/src/httpd-2.2.14/modules/mappers -I/usr/local/src/httpd-2.2.14/modules/database -I/usr/local/src/httpd-2.2.14/srclib/apr/include -I/usr/local/src/httpd-2.2.14/srclib/apr-util/include -I/usr/local/src/httpd-2.2.14/modules/proxy/../generators -I/usr/local/ssl/include -I/usr/local/src/httpd-2.2.14/modules/ssl -I/usr/local/src/httpd-2.2.14/modules/dav/main -prefer-non-pic -static -c htpasswd.c && touch htpasswd.lo /usr/local/src/httpd-2.2.14/srclib/apr/libtool --silent --mode=link gcc -g -O2 -L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/usr/local/lib:-L/usr/sfw/lib:-L/usr/lib:-L/opt/sfw/lib:-L/usr/local/ssl/lib -o htpasswd htpasswd.lo -lm /usr/local/src/httpd-2.2.14/srclib/pcre/libpcre.la /usr/local/src/httpd-2.2.14/srclib/apr-util/libaprutil-1.la -lexpat -liconv /usr/local/src/httpd-2.2.14/srclib/apr/libapr-1.la -luuid -lsendfile -lrt -lsocket -lnsl -lpthread Undefined first referenced symbol in file atomic_swap_32 /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_cas_ptr /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_swap_ptr /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_inc_32_nv /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_dec_32_nv /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_cas_32 /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so ld: fatal: Symbol referencing errors. No output written to .libs/htpasswd collect2: ld returned 1 exit status make[2]: *** [htpasswd] エラー 1 make[2]: ディレクトリ `/usr/local/src/httpd-2.2.14/support' から出ます make[1]: *** [all-recursive] エラー 1 make[1]: ディレクトリ `/usr/local/src/httpd-2.2.14/support' から出ます make: *** [all-recursive] エラー 1 よろしくお願いします。

  • ツールのインストールができません

    現在、solaris9でWebAlizerというツールをインストールしようとしています。しかし、make時に以下のようなエラーが出てしまいます。どのように、対応したらよいでしょうか? # make gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c webalizer.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c hashtab.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c linklist.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c preserve.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c dns_resolv.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c parser.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c output.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -I/usr/local/include -c graphs.c gcc -L/usr/local/lib -o webalizer webalizer.o hashtab.o linklist.o preserve.o parser.o output.o dns_resolv.o graphs.o -lgd -lpng -lz -lm 未定義の 最初に参照している シンボル ファイル libiconv_close /usr/local/lib/libgd.so libiconv_open /usr/local/lib/libgd.so libiconv /usr/local/lib/libgd.so ld: 重大なエラー: シンボル参照エラー。webalizer に書き込まれる出力はありません。 collect2: ld returned 1 exit status make: *** [webalizer] Error 1 環境は、Solaris9、gcc3.4.2です。 よろしくお願いいたします。

  • Debianカーネル再構築の際のコンパイルエラーの対処方法について

    現在、Debianカーネル2.6.16(Sarge)を用いています。 新しく2.6.20にカーネルの再構築を行おうとしております。 カーネルのコンパイルを行うと、下記のようなエラーが発生して、進まなくなってしまいました。 エラーの対応方法についてご教授頂ければと思います。 よろしくお願いします。 ===== /usr/src/linux-2.6.20# make vmlinux CHK include/linux/version.h CHK include/linux/utsrelease.h CHK include/linux/compile.h GEN .version CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD .tmp_vmlinux1 local symbol 0: discarded in section `.exit.data' from drivers/built-in.o local symbol 1: discarded in section `.exit.data' from drivers/built-in.o local symbol 2: discarded in section `.exit.data' from drivers/built-in.o local symbol 3: discarded in section `.exit.data' from drivers/built-in.o make: *** [.tmp_vmlinux1] Error 1

専門家に質問してみよう