中治です。 同様に解決方法じゃないのですが、経験談を。
>>>>> In >>>>> <[メールアドレス保護]> >>>>> >>>>> Yoshihiko Sarumaru >>>>> <[メールアドレス保護]> >>>>> wrote: > > のですが、rootを作る際に > > > > > > g++: libfrtbegin.a: No such file or directory > > > > と言われてしまいます。言われていることはわかりますし、/usr/srcの中をみ > > ると、/usr/src/contrib/libf2c/ の中に目的の物をつくるソースはあるよう > > なのですが、完成品が/usr/lib等にはありませんでした。 > > > > そこで質問なんですが、このlibfrtbegin.aをリンクしろと言われたときには、 > > どれか別のlibを代りにリンクすればよろしいのでしょうか? > > それとも上記の/src/の中で作ってどこかにコピーし、リンクするように命じ > > ればよろしいのでしょうか? > > そもそも、libfrtbegin.aが入ってなくて問題ないのでしょうか? > > #まぁ、システムとしては問題ないような気もするのですが。 > あんまりよく知りませんが、libfrtbegin.a に含まれるべきシンボルは > libg2c.a に含まれているようにみえるので、libfrtbegin.a のリンクを > やめても正しくリンクできるような気がします。 > また、ports から gcc34 等を入れると、libfrtbegin.a も作られるようです。 > (gcc4x だと構成が変わっている模様) Fortran と C あるいは C++ が混在している場合、f77 などの Fortran コンパ イラドライバでリンクを実行しないと、このようなエラーになるというのを経験 したことがあります。 例えば、 c1.c c2.c f77.f という3つのソースファイルから f77cmixedexe という実行形式をリンクする場 合、 cc -c c1.c cc -c c2.c f77 -c f77.f のあと、 f77 -o f77cmixedexe c1.o c2.o f77.o としないといけない、ということです。もちろん、今回のケースがそれに該当す るのかどうかはわかりません。 -- NAKAJI Hiroyuki (中治 弘行)
