Apple/GCC-4.9.3 をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[Apple/CommandLineTools]]で最低限の開発環境を導入するこ...
っで、ここでは昔ながらの GCC を作ってみる。
[[GCC-5.3.0>Apple/GCC-5.3.0]]
***材料 [#a83c273c]
#code(nonumber){{
mac:~ Supervisor$ cd src/
mac:src Supervisor$ curl -O http://ftp.tsukuba.wide.ad.jp...
mac:src Supervisor$ bzip2 -cd gcc-4.9.3.tar.bz2 | tar xf -
}}
ダウンロードしたgccを展開する。ただそのフォルダでコンパイ...
#code(nonumber){{
mac:src Supervisor$ mkdir gcc-build && cd gcc-build
mac:gcc-build Supervisor$ ../gcc-4.9.3/configure --enable...
--enable-bootstrap \
--enable-shared \
--enable-threads=posix \
--enable-checking=release \
--prefix=/usr/local/gcc493 \
--with-build-config=bootstrap-debug
}}
っがconfigureで
#code(nonumber){{
configure: error: Building GCC requires GMP 4.2+, MPFR 2....
}}
と言われる....あー往年のRPGなのね...っで基本Linuxの[[gcc...
***1.GNU Multiple Precision Library (GMP) [#y1aa3f2f]
#code(nonumber){{
mac:~ Supervisor$ cd src/
mac:src Supervisor$ curl -O ftp://ftp.gmplib.org/pub/gmp-...
mac:src Supervisor$ bzip2 -cd gmp-6.1.0.tar.bz2 | tar xf ...
mac:gmp-6.1.0 Supervisor$ ./configure --enable-cxx --pref...
(略)
configure: summary of build options:
Version: GNU MP 6.1.0
Host type: ivybridge-apple-darwin15.3.0
ABI: 64
Install prefix: /usr/local
Compiler: gcc
Static libraries: yes
Shared libraries: yes
mac:gmp-6.1.0 Supervisor$ make && make check && sudo make...
}}
***2. MPFR Library(MPFR: the Multiple Precision Floating-...
#code(nonumber){{
mac:src Supervisor$ curl -O http://www.mpfr.org/mpfr-curr...
mac:src Supervisor$ bzip2 -cd mpfr-3.1.3.tar.bz2 | tar xf...
mac:mpfr-3.1.3 Supervisor$ ./configure --with-gmp-include...
--prefix=/usr/local
mac:mpfr-3.1.3 Supervisor$ make && make check && sudo mak...
}}
***3. MPC Library( multiple-precision complex number comp...
#code(nonumber){{
mac:src Supervisor$ curl -O ftp://ftp.gnu.org/gnu/mpc/mpc...
mac:src Supervisor$ gzip -cd mpc-1.0.3.tar.gz | tar xf - ...
mac:mpc-1.0.3 Supervisor$ ./configure --with-gmp-lib=/usr...
--prefix=/usr/local
mac:mpc-1.0.3 Supervisor$ make && make check && sudo make...
}}
***4.CLooG [#oc243a03]
#code(nonumber){{
mac:src Supervisor$ curl -O ftp://gcc.gnu.org/pub/gcc/inf...
mac:src Supervisor$ gzip -cd cloog-0.18.1.tar.gz | tar xf...
mac:cloog-0.18.1 Supervisor$ ./configure --with-gmp-prefi...
mac:cloog-0.18.1 Supervisor$ make && make check && sudo m...
}}
***5.ISL Library [#v7811841]
最新の isl-0.16.1 ではなく isl-0.14 を使います
#code(nonumber){{
mac:src Supervisor$ curl -O ftp://gcc.gnu.org/pub/gcc/inf...
mac:src Supervisor$ bzip2 -cd isl-0.14.tar.bz2 | tar xf -...
mac:isl-0.14 Supervisor$ ./configure --with-gmp-prefix=/u...
mac:isl-0.14 Supervisor$ make && make check && sudo make ...
}}
**GCC [#wc024774]
っで巡り戻って、GCCコンパイルの再開
#code(nonumber){{
mac:gcc-build Supervisor$ export PATH=/usr/bin:/bin:/usr/...
mac:gcc-build Supervisor$ ../gcc-4.9.3/configure \
--enable-languages=c,c++,fortran \
--enable-bootstrap \
--enable-shared \
--enable-threads=posix \
--enable-checking=release \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-gnu-unique-object \
--with-gmp=/usr/local --with-gmp-include=/usr/local/inclu...
--with-mpfr=/usr/local --with-mpfr-include=/usr/local/inc...
--with-mpc=/usr/local --with-mpc-include=/usr/local/inclu...
--with-isl=/usr/local --with-isl-include=/usr/local/inclu...
--with-cloog=/usr/local --with-cloog-include=/usr/local/i...
--prefix=/usr/local/gcc493 \
--with-pkgversion="gcc-4.9.3 20160303 by chaperone" --wit...
--with-build-config=bootstrap-debug
mac:gcc-build Supervisor$ make -j4
mac:gcc-build Supervisor$ sudo make install
mac:gcc-build Supervisor$ /usr/local/gcc493/bin/gcc -v
組み込み spec を使用しています。
COLLECT_GCC=/usr/local/gcc493/bin/gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc493/libexec/gcc/x86_64-...
ターゲット: x86_64-apple-darwin15.3.0
configure 設定: ../gcc-4.9.3/configure --enable-languages...
--enable-shared --enable-threads=posix --enable-checking=...
--enable-__cxa_atexit --enable-gnu-unique-object --with-g...
--with-gmp-include=/usr/local/include --with-mpfr=/usr/lo...
--with-mpc=/usr/local --with-mpc-include=/usr/local/inclu...
--with-isl-include=/usr/local/include --with-cloog=/usr/l...
--prefix=/usr/local/gcc493 --with-pkgversion='gcc-4.9.3 2...
--disable-multilib --with-build-config=bootstrap-debug
スレッドモデル: posix
gcc バージョン 4.9.3 (gcc-4.9.3 20160303 by chaperone)
mac:gcc-build Supervisor$ /usr/bin/gcc -v
Configured with: --prefix=/Library/Developer/CommandLineT...
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.3.0
Thread model: posix
mac:gcc-build Supervisor$
}}
***openmpi-1.10.2 [#i18380b8]
#code(nonumber){{
mac:~ Supervisor$ cd src
mac:src Supervisor$ curl -O https://www.open-mpi.org/soft...
mac:src Supervisor$ bzip2 -cd openmpi-1.10.2.tar.bz2 | ta...
mac:openmpi-1.10.2 Supervisor$ export PATH=/usr/local/gcc...
mac:openmpi-1.10.2 Supervisor$ ./configure --prefix=/usr/...
mac:openmpi-1.10.2 Supervisor$ make && make check && sudo...
}}
openmpi-1.10.2 の openmpi-1.10.2/examples にテスト向けフ...
#code(nonumber){{
mac:openmpi-1.10.2 Supervisor$ cd examples
mac:examples Supervisor$
mac:examples Supervisor$ export PATH=/usr/local/openmpi-1...
mac:examples Supervisor$ make
mpicc -g hello_c.c -o hello_c
mpicc -g ring_c.c -o ring_c
mpicc -g connectivity_c.c -o connectivity_c
mpic++ -g hello_cxx.cc -o hello_cxx
mpic++ -g ring_cxx.cc -o ring_cxx
mpifort -g hello_mpifh.f -o hello_mpifh
mpifort -g ring_mpifh.f -o ring_mpifh
mpifort -g hello_usempi.f90 -o hello_usempi
mpifort -g ring_usempi.f90 -o ring_usempi
mpifort -g hello_usempif08.f90 -o hello_usempif08
mpifort -g ring_usempif08.f90 -o ring_usempif08
mac:examples Supervisor$
}}
コンパイルはこれで終了。実行してみます。
#code(nonumber){{
mac:examples Supervisor$ mpirun -np 2 ./connectivity_c
Connectivity test on 2 processes PASSED.
mac:examples Supervisor$
}}
終了行:
[[Apple/CommandLineTools]]で最低限の開発環境を導入するこ...
っで、ここでは昔ながらの GCC を作ってみる。
[[GCC-5.3.0>Apple/GCC-5.3.0]]
***材料 [#a83c273c]
#code(nonumber){{
mac:~ Supervisor$ cd src/
mac:src Supervisor$ curl -O http://ftp.tsukuba.wide.ad.jp...
mac:src Supervisor$ bzip2 -cd gcc-4.9.3.tar.bz2 | tar xf -
}}
ダウンロードしたgccを展開する。ただそのフォルダでコンパイ...
#code(nonumber){{
mac:src Supervisor$ mkdir gcc-build && cd gcc-build
mac:gcc-build Supervisor$ ../gcc-4.9.3/configure --enable...
--enable-bootstrap \
--enable-shared \
--enable-threads=posix \
--enable-checking=release \
--prefix=/usr/local/gcc493 \
--with-build-config=bootstrap-debug
}}
っがconfigureで
#code(nonumber){{
configure: error: Building GCC requires GMP 4.2+, MPFR 2....
}}
と言われる....あー往年のRPGなのね...っで基本Linuxの[[gcc...
***1.GNU Multiple Precision Library (GMP) [#y1aa3f2f]
#code(nonumber){{
mac:~ Supervisor$ cd src/
mac:src Supervisor$ curl -O ftp://ftp.gmplib.org/pub/gmp-...
mac:src Supervisor$ bzip2 -cd gmp-6.1.0.tar.bz2 | tar xf ...
mac:gmp-6.1.0 Supervisor$ ./configure --enable-cxx --pref...
(略)
configure: summary of build options:
Version: GNU MP 6.1.0
Host type: ivybridge-apple-darwin15.3.0
ABI: 64
Install prefix: /usr/local
Compiler: gcc
Static libraries: yes
Shared libraries: yes
mac:gmp-6.1.0 Supervisor$ make && make check && sudo make...
}}
***2. MPFR Library(MPFR: the Multiple Precision Floating-...
#code(nonumber){{
mac:src Supervisor$ curl -O http://www.mpfr.org/mpfr-curr...
mac:src Supervisor$ bzip2 -cd mpfr-3.1.3.tar.bz2 | tar xf...
mac:mpfr-3.1.3 Supervisor$ ./configure --with-gmp-include...
--prefix=/usr/local
mac:mpfr-3.1.3 Supervisor$ make && make check && sudo mak...
}}
***3. MPC Library( multiple-precision complex number comp...
#code(nonumber){{
mac:src Supervisor$ curl -O ftp://ftp.gnu.org/gnu/mpc/mpc...
mac:src Supervisor$ gzip -cd mpc-1.0.3.tar.gz | tar xf - ...
mac:mpc-1.0.3 Supervisor$ ./configure --with-gmp-lib=/usr...
--prefix=/usr/local
mac:mpc-1.0.3 Supervisor$ make && make check && sudo make...
}}
***4.CLooG [#oc243a03]
#code(nonumber){{
mac:src Supervisor$ curl -O ftp://gcc.gnu.org/pub/gcc/inf...
mac:src Supervisor$ gzip -cd cloog-0.18.1.tar.gz | tar xf...
mac:cloog-0.18.1 Supervisor$ ./configure --with-gmp-prefi...
mac:cloog-0.18.1 Supervisor$ make && make check && sudo m...
}}
***5.ISL Library [#v7811841]
最新の isl-0.16.1 ではなく isl-0.14 を使います
#code(nonumber){{
mac:src Supervisor$ curl -O ftp://gcc.gnu.org/pub/gcc/inf...
mac:src Supervisor$ bzip2 -cd isl-0.14.tar.bz2 | tar xf -...
mac:isl-0.14 Supervisor$ ./configure --with-gmp-prefix=/u...
mac:isl-0.14 Supervisor$ make && make check && sudo make ...
}}
**GCC [#wc024774]
っで巡り戻って、GCCコンパイルの再開
#code(nonumber){{
mac:gcc-build Supervisor$ export PATH=/usr/bin:/bin:/usr/...
mac:gcc-build Supervisor$ ../gcc-4.9.3/configure \
--enable-languages=c,c++,fortran \
--enable-bootstrap \
--enable-shared \
--enable-threads=posix \
--enable-checking=release \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-gnu-unique-object \
--with-gmp=/usr/local --with-gmp-include=/usr/local/inclu...
--with-mpfr=/usr/local --with-mpfr-include=/usr/local/inc...
--with-mpc=/usr/local --with-mpc-include=/usr/local/inclu...
--with-isl=/usr/local --with-isl-include=/usr/local/inclu...
--with-cloog=/usr/local --with-cloog-include=/usr/local/i...
--prefix=/usr/local/gcc493 \
--with-pkgversion="gcc-4.9.3 20160303 by chaperone" --wit...
--with-build-config=bootstrap-debug
mac:gcc-build Supervisor$ make -j4
mac:gcc-build Supervisor$ sudo make install
mac:gcc-build Supervisor$ /usr/local/gcc493/bin/gcc -v
組み込み spec を使用しています。
COLLECT_GCC=/usr/local/gcc493/bin/gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc493/libexec/gcc/x86_64-...
ターゲット: x86_64-apple-darwin15.3.0
configure 設定: ../gcc-4.9.3/configure --enable-languages...
--enable-shared --enable-threads=posix --enable-checking=...
--enable-__cxa_atexit --enable-gnu-unique-object --with-g...
--with-gmp-include=/usr/local/include --with-mpfr=/usr/lo...
--with-mpc=/usr/local --with-mpc-include=/usr/local/inclu...
--with-isl-include=/usr/local/include --with-cloog=/usr/l...
--prefix=/usr/local/gcc493 --with-pkgversion='gcc-4.9.3 2...
--disable-multilib --with-build-config=bootstrap-debug
スレッドモデル: posix
gcc バージョン 4.9.3 (gcc-4.9.3 20160303 by chaperone)
mac:gcc-build Supervisor$ /usr/bin/gcc -v
Configured with: --prefix=/Library/Developer/CommandLineT...
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.3.0
Thread model: posix
mac:gcc-build Supervisor$
}}
***openmpi-1.10.2 [#i18380b8]
#code(nonumber){{
mac:~ Supervisor$ cd src
mac:src Supervisor$ curl -O https://www.open-mpi.org/soft...
mac:src Supervisor$ bzip2 -cd openmpi-1.10.2.tar.bz2 | ta...
mac:openmpi-1.10.2 Supervisor$ export PATH=/usr/local/gcc...
mac:openmpi-1.10.2 Supervisor$ ./configure --prefix=/usr/...
mac:openmpi-1.10.2 Supervisor$ make && make check && sudo...
}}
openmpi-1.10.2 の openmpi-1.10.2/examples にテスト向けフ...
#code(nonumber){{
mac:openmpi-1.10.2 Supervisor$ cd examples
mac:examples Supervisor$
mac:examples Supervisor$ export PATH=/usr/local/openmpi-1...
mac:examples Supervisor$ make
mpicc -g hello_c.c -o hello_c
mpicc -g ring_c.c -o ring_c
mpicc -g connectivity_c.c -o connectivity_c
mpic++ -g hello_cxx.cc -o hello_cxx
mpic++ -g ring_cxx.cc -o ring_cxx
mpifort -g hello_mpifh.f -o hello_mpifh
mpifort -g ring_mpifh.f -o ring_mpifh
mpifort -g hello_usempi.f90 -o hello_usempi
mpifort -g ring_usempi.f90 -o ring_usempi
mpifort -g hello_usempif08.f90 -o hello_usempif08
mpifort -g ring_usempif08.f90 -o ring_usempif08
mac:examples Supervisor$
}}
コンパイルはこれで終了。実行してみます。
#code(nonumber){{
mac:examples Supervisor$ mpirun -np 2 ./connectivity_c
Connectivity test on 2 processes PASSED.
mac:examples Supervisor$
}}
ページ名:
1