[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 メーリングリストの案内