[FreeBSD-users-jp 96244] Re: FreeFem++ のインストール問題

Tomoaki AOKI junchoon @ dec.sakura.ne.jp
2018年 6月 23日 (土) 01:20:40 UTC


青木@名古屋です。

Makefileを見たところ、gccが必要という割に

 USES=fortran

経由で間接的に依存関係が設定されているだけのような。

試していないので外しているかもしれませんが、デフォルトの6系以降なら
何でもよければ

 USE_GCC=yes

7系決め打ちなら

 USE_GCC=7

7系以降なら何でもよければ

 USE_GCC=7+

のように指定してやればbsd.gcc.mkがいろいろとよきに計らって
くれたりはしませんか?

graphics/OpenEXR ではなにやら追加でやっているようですが、
gccを強制しているようなものは概ね必要に応じて

 USES=compiler:ほげほげ

で言語仕様要件等を指定しつつ

 USE_GCC=yes

で済ませているようですので、これでいけないでしょうか?

 USES=fortran

でもデフォルト(gfortran)では同様の処理をやっていそうでは
あるんですが、こちらはCFLAGSやCXXFLAGSの方はケアしていないので
CやC++のコードがgccで処理された場合に問題が出そうです。

詳細は

 /usr/ports/Mk/bsd.gcc.mk
 /usr/ports/Mk/Uses/fortran.mk

を見て効果ありそうか判断して下さい。


On Fri, 22 Jun 2018 20:53:00 +0900
Paseri <paseri @ fmp.to> wrote:

> たけふ@大阪豊中です
> 
> ffmedit のライブラリ問題ですが、ご教授頂きました方法ではアドホック的な対処法なので、
> 実際に ports スケルトンとして登録するにあたっては、userland 部分にメスを入れるのはご法度と考えています。
> 
> 私の環境では gcc7.3 でテストをしていますが、より建設的な手法として、
> etc/libmap.d ディレクトリに差替え先のライブラリを指定する方法があります。
> 
> # mkdir -p /usr/local/etc/libmap.d
> # echo "libgcc_s.so.1 gcc7/libgcc_s.so.1" > /usr/local/etc/libmap.d/freefem++.conf
> 
> これで動作はする様になりましたが、ports から gcc のパス取得方法が用意されてなさそうで、
> 手動でこのコマンドを入力するというのも、ports のカラクリとしては不完全だと考えていて、
> なにか良いカラクリを考えていることです。
> 
> 他の ports スケルトンで gcc のバージョンに依存する事を解決している物をご存知でしたら、
> お知らせください。
> 
> また、このアドホックを設定した後に make world すると、正しい結果に成らないか、
> lang/gcc* を削除した途端に*大打撃*を受けるかもしれません〓
> 
> <ぼそ>_GCC_VER というローカル変数には在るんじゃけどなぁ</ぼそ>
> 
> それでは。
> 


-- 
青木 知明  [Tomoaki AOKI]    <junchoon @ dec.sakura.ne.jp>


freebsd-users-jp メーリングリストの案内