понедельник, 24 июля 2023 г.

gcc portable for linux

Весь скрипт для переноса gcc на другую машину. Проверено на gcc8.5.0 и 12.2.0. Оба были собраны на чём-то вроде CentOS из исходников, затем бинарники втащены в CAELinux 2020 чтобы собрать свежий openmpi.

01gccdir=/opt/gcc1220
02gccver=12.2.0
03# ниже оригинальный путь установки (из исходников) на исходной машине:
04originaldir=/dir/dir/dir/
05  
06cd $gccdir  && chmod -R +x .
07mkdir -p $originaldir && cp -r $gccdir $originaldir
08cp -r $gccdir B
09cp -r lib/gcc/x86_64-pc-linux-gnu/$gccver/* B
10cp -r libexec/gcc/x86_64-pc-linux-gnu/$gccver/* B
11  
12ln -s /usr/lib/x86_64-linux-gnu/crt1.o $gccdir/lib/crt1.o
13ln -s /usr/lib/x86_64-linux-gnu/crti.o $gccdir/lib/crti.o
14ln -s /usr/lib/x86_64-linux-gnu/crtn.o $gccdir/lib/crtn.o
15  
16#alias gcc='$gccdir/bin/gcc'
17#alias g++='$gccdir/bin/g++'
18#alias gfortran='$gccdir/bin/gfortran'
19alias gcc='$gccdir/bin/gcc -B$gccdir/B'
20alias g++='$gccdir/bin/g++ -B$gccdir/B'
21alias gfortran='$gccdir/bin/gfortran -B$gccdir/B'
22  
23gcc -print-search-dirs
24  
25export CC="$gccdir/bin/gcc"
26export CXX="$gccdir/bin/g++"
27export CXX_FLAGS="-I$gccdir/B/include/ -I/usr/include/x86_64-linux-gnu/"
28export CXX_INCLUDE_PATH="$gccdir/B/include/:/usr/include/x86_64-linux-gnu/"
29export C_INCLUDE_PATH="$gccdir/B/include/:/usr/include/x86_64-linux-gnu/"
30export FC="$gccdir/bin/gfortran"
31export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu":$LD_LIBRARY_PATH
32export LD_RUN_PATH="$gccdir/lib64"
33export PATH="$gccdir/bin":$PATH
34  
35sudo cp -r /usr/include/x86_64-linux-gnu/bits /usr/include
36sudo cp -r /usr/include/x86_64-linux-gnu/sys /usr/include
37sudo cp -r /usr/include/x86_64-linux-gnu/gnu /usr/include
38sudo cp -r /usr/include/x86_64-linux-gnu/asm /usr/include
39  
40cd /opt/openmpi-1.10.7
41./configure --prefix=/opt/openmpi-1.10.7 --enable-mpi-cxx
42make -j all
43make install
Предыстория https://forum.ixbt.com/topic.cgi?id=76:12009:11032#11032

Резюме - бэкап от 6 ноября 2023 г.

Прочнист, инженер-прочнист, инженер-исследователь, инженер-математик Специализации: Учитель, преподаватель, педагог Инженер-конструктор, инж...