Apple/GCC-5.4.0 をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[Apple/CommandLineTools]]で最低限の開発環境を導入するこ...
っで、ここでは昔ながらの GCC を作ってみる。バージョンは 5...
コンパイル方法は [[Apple/GCC-4.9.3]] とほぼ同じ。Apple/Co...
まず関連するライブラリをインストールします。
1から5まではCommandLineToolsのgccでコンパイルしてます
#code(nonumber){{
mini:local supervisor$ gcc -v
Configured with: --prefix=/Library/Developer/CommandLineT...
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
mini:local supervisor$
}}
では、gcc-5.4.0のコンパイルのための下拵え開始。
***1. GNU Multiple Precision Library (GMP) [#u4361a2d]
#code(nonumber){{
mini:~ supervisor$ cd /usr/local/src/
mini:src supervisor$ curl -O https://gmplib.org/download/...
mini:src supervisor$ bzip2 -cd gmp-6.1.1.tar.bz2 | tar xf -
mini:src supervisor$ cd gmp-6.1.1
mini:gmp-6.1.1 supervisor$ ./configure --enable-cxx --pre...
:
Version: GNU MP 6.1.1
Host type: ivybridge-apple-darwin15.3.0
ABI: 64
Install prefix: /usr/local
Compiler: gcc
Static libraries: yes
Shared libraries: yes
mini:gmp-6.1.1 supervisor$ make && make check && sudo ma...
}}
***2. MPFR Library(MPFR: the Multiple Precision Floating-...
#code(nonumber){{
mini:src supervisor$ curl -O http://www.mpfr.org/mpfr-cur...
mini:src supervisor$ bzip2 -cd mpfr-3.1.5.tar.bz2 | tar x...
mini:src supervisor$ cd mpfr-3.1.5
mini:mpfr-3.1.5 supervisor$ ./configure --with-gmp-includ...
--prefix=/usr/local
mini:mpfr-3.1.5 supervisor$ make && make check && sudo ma...
}}
***3. MPC Library( multiple-precision complex number comp...
#code(nonumber){{
mini:src supervisor$ curl -O ftp://ftp.gnu.org/gnu/mpc/mp...
mini:src supervisor$ gzip -cd mpc-1.0.3.tar.gz | tar xf -
mini:src supervisor$ cd mpc-1.0.3
mini:mpc-1.0.3 supervisor$ ./configure --with-gmp-lib=/us...
--prefix=/usr/local
mini:mpc-1.0.3 supervisor$ make && make check && sudo mak...
}}
***4. CLooG [#k255eba4]
#code(nonumber){{
mini:src supervisor$ curl -O ftp://gcc.gnu.org/pub/gcc/in...
mini:src supervisor$ gzip -cd cloog-0.18.1.tar.gz | tar x...
mini:src supervisor$ cd cloog-0.18.1
mini:cloog-0.18.1 supervisor$ ./configure --with-gmp-pref...
mini:cloog-0.18.1 supervisor$ make && make check && sudo ...
}}
***5. ISL Library [#b48cdcaf]
#code(nonumber){{
mini:src supervisor$ curl -O ftp://gcc.gnu.org/pub/gcc/in...
mini:src supervisor$ bzip2 -cd isl-0.16.1.tar.bz2 | tar x...
mini:src supervisor$ cd isl-0.16.1
mini:isl-0.16.1 supervisor$ ./configure --with-gmp-prefix...
mini:isl-0.16.1 supervisor$ make && make check && sudo ma...
}}
~
以上でgcc-5.4.0の構築に向けての下拵えは完了。
次は本題の gcc-5.4.0 を調理します。
*** gcc-5.4.0 [#n5ed828a]
#code(nonumber){{
mini:~ supervisor$ cd /usr/local/src/
mini:src supervisor$
mini:src supervisor$ curl -O http://ftp.tsukuba.wide.ad.j...
mini:src supervisor$ bzip2 -cd gcc-5.4.0.tar.bz2 | tar xf -
mini:src supervisor$ mkdir gcc-5.4.0-build-161104
mini:src supervisor$ cd gcc-5.4.0-build-161104
mini:gcc-5.4.0-build-161104 supervisor$ export PATH=/usr/...
mini:gcc-5.4.0-build-161104 supervisor$ ../gcc-5.4.0/conf...
--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/gcc540 \
--with-pkgversion="gcc-5.4.0 20161104 by chaperone" --wit...
--with-build-config=bootstrap-debug
mini:gcc-5.4.0-build-161104 supervisor$ make -j4
}}
ケーキと紅茶で待ちましょう
仕上がりましたら、
#code(nonumber){{
mini:gcc-5.4.0-build-161104 supervisor$ sudo make install
mini:gcc-5.4.0-build-161104 supervisor$ /usr/local/gcc540...
組み込み spec を使用しています。
COLLECT_GCC=/usr/local/gcc540/bin/gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc540/libexec/gcc/x86_64-...
ターゲット: x86_64-apple-darwin15.3.0
configure 設定: ../gcc-5.4.0/configure --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/gcc540 --with-pkgversion='gcc-5.4.0 2...
--without-bugurl --disable-multilib --with-build-config=b...
スレッドモデル: posix
gcc バージョン 5.4.0 (gcc-5.4.0 20161104 by chaperone)
mini:gcc-5.4.0-build-161104 supervisor$
}}
「 &color(magenta){make check}; 」 はすべきなのだが、auto...
***openmpi-2.0.1 [#n7e91b14]
#code(nonumber){{
mini:src supervisor$ bzip2 -cd openmpi-2.0.1.tar.bz2 | ta...
mini:src supervisor$ cd openmpi-2.0.1
mini:openmpi-2.0.1 supervisor$
mini:openmpi-2.0.1 supervisor$ export PATH=/usr/local/gcc...
mini:openmpi-2.0.1 supervisor$
mini:openmpi-2.0.1 supervisor$ ./configure --prefix=/usr/...
mini:openmpi-2.0.1 supervisor$
mini:openmpi-2.0.1 supervisor$ make && make check && sudo...
mini:openmpi-2.0.1 supervisor$ cd examples
mini:examples supervisor$ export PATH=/usr/local/openmpi-...
mini: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
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
mini:examples supervisor$
mini:examples supervisor$ mpirun -np 2 ./connectivity_c
Connectivity test on 2 processes PASSED.
mini:examples supervisor$
}}
終了行:
[[Apple/CommandLineTools]]で最低限の開発環境を導入するこ...
っで、ここでは昔ながらの GCC を作ってみる。バージョンは 5...
コンパイル方法は [[Apple/GCC-4.9.3]] とほぼ同じ。Apple/Co...
まず関連するライブラリをインストールします。
1から5まではCommandLineToolsのgccでコンパイルしてます
#code(nonumber){{
mini:local supervisor$ gcc -v
Configured with: --prefix=/Library/Developer/CommandLineT...
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
mini:local supervisor$
}}
では、gcc-5.4.0のコンパイルのための下拵え開始。
***1. GNU Multiple Precision Library (GMP) [#u4361a2d]
#code(nonumber){{
mini:~ supervisor$ cd /usr/local/src/
mini:src supervisor$ curl -O https://gmplib.org/download/...
mini:src supervisor$ bzip2 -cd gmp-6.1.1.tar.bz2 | tar xf -
mini:src supervisor$ cd gmp-6.1.1
mini:gmp-6.1.1 supervisor$ ./configure --enable-cxx --pre...
:
Version: GNU MP 6.1.1
Host type: ivybridge-apple-darwin15.3.0
ABI: 64
Install prefix: /usr/local
Compiler: gcc
Static libraries: yes
Shared libraries: yes
mini:gmp-6.1.1 supervisor$ make && make check && sudo ma...
}}
***2. MPFR Library(MPFR: the Multiple Precision Floating-...
#code(nonumber){{
mini:src supervisor$ curl -O http://www.mpfr.org/mpfr-cur...
mini:src supervisor$ bzip2 -cd mpfr-3.1.5.tar.bz2 | tar x...
mini:src supervisor$ cd mpfr-3.1.5
mini:mpfr-3.1.5 supervisor$ ./configure --with-gmp-includ...
--prefix=/usr/local
mini:mpfr-3.1.5 supervisor$ make && make check && sudo ma...
}}
***3. MPC Library( multiple-precision complex number comp...
#code(nonumber){{
mini:src supervisor$ curl -O ftp://ftp.gnu.org/gnu/mpc/mp...
mini:src supervisor$ gzip -cd mpc-1.0.3.tar.gz | tar xf -
mini:src supervisor$ cd mpc-1.0.3
mini:mpc-1.0.3 supervisor$ ./configure --with-gmp-lib=/us...
--prefix=/usr/local
mini:mpc-1.0.3 supervisor$ make && make check && sudo mak...
}}
***4. CLooG [#k255eba4]
#code(nonumber){{
mini:src supervisor$ curl -O ftp://gcc.gnu.org/pub/gcc/in...
mini:src supervisor$ gzip -cd cloog-0.18.1.tar.gz | tar x...
mini:src supervisor$ cd cloog-0.18.1
mini:cloog-0.18.1 supervisor$ ./configure --with-gmp-pref...
mini:cloog-0.18.1 supervisor$ make && make check && sudo ...
}}
***5. ISL Library [#b48cdcaf]
#code(nonumber){{
mini:src supervisor$ curl -O ftp://gcc.gnu.org/pub/gcc/in...
mini:src supervisor$ bzip2 -cd isl-0.16.1.tar.bz2 | tar x...
mini:src supervisor$ cd isl-0.16.1
mini:isl-0.16.1 supervisor$ ./configure --with-gmp-prefix...
mini:isl-0.16.1 supervisor$ make && make check && sudo ma...
}}
~
以上でgcc-5.4.0の構築に向けての下拵えは完了。
次は本題の gcc-5.4.0 を調理します。
*** gcc-5.4.0 [#n5ed828a]
#code(nonumber){{
mini:~ supervisor$ cd /usr/local/src/
mini:src supervisor$
mini:src supervisor$ curl -O http://ftp.tsukuba.wide.ad.j...
mini:src supervisor$ bzip2 -cd gcc-5.4.0.tar.bz2 | tar xf -
mini:src supervisor$ mkdir gcc-5.4.0-build-161104
mini:src supervisor$ cd gcc-5.4.0-build-161104
mini:gcc-5.4.0-build-161104 supervisor$ export PATH=/usr/...
mini:gcc-5.4.0-build-161104 supervisor$ ../gcc-5.4.0/conf...
--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/gcc540 \
--with-pkgversion="gcc-5.4.0 20161104 by chaperone" --wit...
--with-build-config=bootstrap-debug
mini:gcc-5.4.0-build-161104 supervisor$ make -j4
}}
ケーキと紅茶で待ちましょう
仕上がりましたら、
#code(nonumber){{
mini:gcc-5.4.0-build-161104 supervisor$ sudo make install
mini:gcc-5.4.0-build-161104 supervisor$ /usr/local/gcc540...
組み込み spec を使用しています。
COLLECT_GCC=/usr/local/gcc540/bin/gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc540/libexec/gcc/x86_64-...
ターゲット: x86_64-apple-darwin15.3.0
configure 設定: ../gcc-5.4.0/configure --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/gcc540 --with-pkgversion='gcc-5.4.0 2...
--without-bugurl --disable-multilib --with-build-config=b...
スレッドモデル: posix
gcc バージョン 5.4.0 (gcc-5.4.0 20161104 by chaperone)
mini:gcc-5.4.0-build-161104 supervisor$
}}
「 &color(magenta){make check}; 」 はすべきなのだが、auto...
***openmpi-2.0.1 [#n7e91b14]
#code(nonumber){{
mini:src supervisor$ bzip2 -cd openmpi-2.0.1.tar.bz2 | ta...
mini:src supervisor$ cd openmpi-2.0.1
mini:openmpi-2.0.1 supervisor$
mini:openmpi-2.0.1 supervisor$ export PATH=/usr/local/gcc...
mini:openmpi-2.0.1 supervisor$
mini:openmpi-2.0.1 supervisor$ ./configure --prefix=/usr/...
mini:openmpi-2.0.1 supervisor$
mini:openmpi-2.0.1 supervisor$ make && make check && sudo...
mini:openmpi-2.0.1 supervisor$ cd examples
mini:examples supervisor$ export PATH=/usr/local/openmpi-...
mini: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
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
mini:examples supervisor$
mini:examples supervisor$ mpirun -np 2 ./connectivity_c
Connectivity test on 2 processes PASSED.
mini:examples supervisor$
}}
ページ名:
1