Пытаюсь свою программу, написанную на С++17, собрать так, чтобы она поддерживалась:
различными дистрибутивами (приоритет: Дебиан, Убунту, Федора, РедХат)
более поздними версиями указанных дистрибутивов
Например используя виртуальные машины я собрал на Убунту 22.04, но я не смог ее запустить на Убунту 20.04 (как помню GLIBC не той версии).
Потом попробовал собрать на Убунту 20.04, смог запустить на Убунту 22.04, но на Дебиан 10.12 (и Дебиан 11.3 вроде тоже) не завелась.
Пробовал собрать на Дебиан 11.3, работает на Федора 34, но на Убунту не пашет (даже на 22.04, вроде libnsl.so мешала).
Хотелось бы понять, на каком дистрибутиве мне собирать программу, чтобы поддержать более старые версии дистрибутивов (желательно Убунту 18 (или 16), Дебиан 10 (или 9), Федора 34 (может и раньше)).
Так как мне нужна полная поддержка С++17, я думаю нужен дистрибутив с GCC-9, но Дебиан 11.3 он уже идет с GCC-10.
здравствуйте
пытаюсь установить программу: http://www.ahay.org/wiki/Installation на CYGWIN
./configure вроде проходит, вот что он мне выдает
$ ./configure --prefix=C:/seismic/madagascar
checking for Python ... /usr/bin/python
checking Python version ... 2.7.10
checking for RSFROOT ... C:/seismic/madagascar
checking for SCons ... /usr/bin/scons
checking SCons version ... v2.4.0.rel_2.4.0:3365:9259ea1c13d7
Running RSFROOT=C:/seismic/madagascar /usr/bin/scons config ...
------------------------
scons: Reading SConscript files ...
checking platform ... (cached) cygwin [unknown]
checking for C compiler ... (cached) gcc
checking if gcc works ... yes
checking if gcc accepts '-x c -std=gnu99 -Wall -pedantic' ... yes
checking for ar ... (cached) ar
checking for libraries ... ['m', 'tirpc']
checking complex support ... yes
checking for X11 headers ... (cached) no
checking for OpenGL ... yes
checking for sfpen ... (cached) oglpen
checking for ppm ... no
checking for tiff ... yes
checking for GD (PNG) ... no
gdpen will not be built.
checking for plplot ... no
checking for ffmpeg ... no
checking for cairo (PNG) ... yes
checking for cairo (SVG) ... yes
checking for cairo (PDF) ... yes
checking for jpeg ... yes
checking for BLAS ... yes
checking for LAPACK ... yes
checking for SWIG ... (cached) /usr/bin/swig
checking for numpy ... (cached) yes
checking API options ... (cached) []
checking for C++ compiler ... (cached) g++
checking if g++ works ... yes
checking if g++ accepts '-Wall -pedantic' ... yes
checking for MPICC ... (cached) /usr/bin/mpicc
checking if /usr/bin/mpicc works ... no
checking for MPICXX ... (cached) /usr/bin/mpicxx
checking if /usr/bin/mpicxx works ... no
checking for MPIRUN ... (cached) /usr/bin/mpirun
checking for Posix threads ... yes
checking for OpenMP ... yes
checking for CUDA ... (cached) no
checking for FFTW ... yes
checking if FFTW supports threads ... yes
checking for SuiteSparse ... no
scons: done reading SConscript files.
scons: Building targets ...
shell_script([«env.sh»], [])
shell_script([«env.csh»], [])
scons: done building targets.
------------------------
Done with configuration.
далее по инструкции я ввожу make install, и выдает следующую ошибку:
$ make install
RSFROOT=C:/seismic/madagascar PYTHONPATH=C:/seismic/madagascar/lib/python2.7/site-packages /usr/bin/scons install
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
Install file: «AUTHORS.txt» as «C:/seismic/madagascar/share/doc/madagascar/AUTHORS.txt»
scons: *** [C:/seismic/madagascar/share/doc/madagascar/AUTHORS.txt] C:/seismic/madagascar/share/doc/madagascar/AUTHORS.txt: No such file or directory
scons: building terminated because of errors.
Makefile:7: ошибка выполнения рецепта для цели «install»
make: *** [install] Ошибка 2
то есть как я понимаю он устанавливает файл AUTHORS.txt но потом не может к нему обратиться
если же я ввожу make, то выходит другая ошибка:
Traceback (most recent call last):
File «build/framework/rsf/sfdoc», line 2, in <module>
import rsf.doc
ImportError: No module named rsf.doc
scons: *** [build/framework/doc/C:/seismic/madagascar/share/doc/madagascar/html/index.html] Error 1
scons: building terminated because of errors.
Makefile:4: ошибка выполнения рецепта для цели «all»
make: *** [all] Ошибка 2