中治です。

同様に解決方法じゃないのですが、経験談を。

>>>>> In 
>>>>> <[&#x30E1;&#x30FC;&#x30EB;&#x30A2;&#x30C9;&#x30EC;&#x30B9;&#x4FDD;&#x8B77;]>
>>>>>  
>>>>>   Yoshihiko Sarumaru 
>>>>> <[&#x30E1;&#x30FC;&#x30EB;&#x30A2;&#x30C9;&#x30EC;&#x30B9;&#x4FDD;&#x8B77;]>
>>>>>  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 (中治 弘行)

メールによる返信