安井@日立造船 です。 多くの方にフォローして頂き感謝します。 しかし残念ながらまだ解決していません。 みなさんからの沢山のヒントを見て、現在、configure に与える オプションで何とか解決できるのではないかと考えているますが、 力不足のため方法が分かりません。 >えぐち@エスアンドイー です。 > > gcc --print-prog-name=ld > gcc --print-prog-name=as > >の実行結果はそうなりますか? 結果は次の通りでした。 % gcc --print-prog-name=ld /usr/local/sparc-sun-solaris2.6/bin/ld % gcc --print-prog-name=as /usr/local/sparc-sun-solaris2.6/bin/as % >稲越@富士通と申します。 >#はじめまして はじめまして。よろしくお願いします。 >% CC='gcc -B/usr/ccs/bin/' ./configure --prefix=$HOME && make > >でしょうか。 %setenv CC 'gcc -B/usr/ccs/bin/' %make clean を行った後、configureすると次のようにエラーがでました。 % ./configure --prefix=$HOME loading cache ./config.cache configure: error: cached CC is different -- throw away ./config.cache (it is also a good idea to do 'make clean' before compiling) >> % test.rb >> ld.so.1: $HOME/bin/ruby: 重大なエラー: 再配置エラー: ファイル >> $HOME/lib/ruby/ sparc-solaris2.6/kconv.so: シンボル >> rb_define_module: 参照されたシンボルがありません強制終了 > >本当に一字一句間違いなくこの通りのメッセージが出ているのなら, > > configure の際に $HOME が展開されなかった > >という可能性があります.フルパスで指定してうまくいくようなら多分そうで >しょう. > >柳川和久 @ 東大阪市 . 大阪府 February 1, 1999 $HOME の箇所は実際はフルパスです。これ以外は、画面出力そのままです。 >立石です。 > >僕が行なった解決策はパスの順序を変更させるという >ことでした。 > >export PATH=/usr/ccs/bin:$PATH パスを次のようにしてコンパイルしてみましたが結果は変わらずでした。 path (/usr/ccs/bin /bin /usr/bin /usr/ucb /usr/local/bin /etc ./bin .) >;; configureで対応してしまうってのはどうでしょう? オプションをどう指定すればよいのでしょうか? >わたなべです. > >gcc は PATH で /usr/ccs/bin が先に設定してあっても >/usr/local/sparc-sun-solaris2.5/bin/{as,ld} が使われるはずな >んですけど, ほんとに PATH の順序を変更することで解決してますか? 前述の通り、解決しませんでした。 >やっぱり -print-prog-name で確認するのが一番だと思います. 確認内容は既述の通りです。 >#わたしは面倒だから mv sparc-sun-solaris2.5{,.orig} してしまいました. root権限がないもので・・・ >:;; configureで対応してしまうってのはどうでしょう? > >solaris で gcc だったら -B/usr/ccs/bin/ もつける, >LD も /usr/ccs/bin/ld を使うって感じかな. 具体的なコマンドラインを教えて頂けませんか? 試してみますので。 ちなみに、ld、asをfindすると次の結果がでました。 % find / -name ld -print /usr/ccs/bin/ld /usr/ucb/ld /usr/local/bin/ld /usr/local/sparc-sun-solaris2.6/bin/ld % find / -name as -print /usr/lib/adb/as /usr/ccs/bin/as /usr/local/bin/as /usr/local/sparc-sun-solaris2.6/bin/as .