Ошибка переменной среды при попытке создать решатель в OpenFOAM 9

#c #linux #bash #environment-variables #openfoam

#c #линукс #удар #переменные среды #открытая пена

Вопрос:

Я пытаюсь создать решатель в своем /opt/OpenFOAM/OpenFOAM-9/applications/solvers/electromagnetics каталоге с помощью sudo foamNewSource App newSolver . Но я продолжаю получать следующую ошибку:

 foamNewSource: Creating new interface file newSolver.C wmakeFilesAndOptions error: environment variable $WM_OPTIONS not set  

И затем, хотя я могу видеть newSolver.C файл, я не могу видеть Make каталог, а также остальные файлы.

Я запускаю EndeavourOS Linux x86_64 с ядром 5.15.6-arch2-1 и оболочкой bash 5.1.12. Я установил openfoam-org пакет из AUR , и для того, чтобы настроить его, у меня в .bashrc файле конфигурации есть следующее:

 source /opt/OpenFOAM/OpenFOAM-9/etc/bashrc  

Сначала, когда я это сделал env | grep WM , я не мог найти WM_OPTIONS в своей системе. Итак, немного погуглив, я добавил это в свой файл .bashrc:

 source /opt/OpenFOAM/OpenFOAM-9/etc/bashrc export WM_OPTIONS=linux64GccDPOpt  

И теперь, env | grep WM могу ли я получить:

 WM_COMPILER=Gcc WM_PRECISION_OPTION=DP WM_PROJECT_USER_DIR=/home/username/OpenFOAM/username-9 WM_MPLIB=SYSTEMOPENMPI WM_OPTIONS=linux64GccDPOpt WM_ARCH=linux64 WM_LABEL_SIZE=32 WM_PROJECT=OpenFOAM WM_THIRD_PARTY_DIR=/opt/OpenFOAM/ThirdParty-9 WM_LABEL_OPTION=Int32 WM_CC=gcc WM_CFLAGS=-m64 -fPIC WM_LINK_LANGUAGE=c   WM_OSTYPE=POSIX WM_PROJECT_VERSION=9 WM_DIR=/opt/OpenFOAM/OpenFOAM-9/wmake WM_ARCH_OPTION=64 WM_CXXFLAGS=-m64 -fPIC -std=c  0x WM_PROJECT_INST_DIR=/opt/OpenFOAM WM_LDFLAGS=-m64 WM_CXX=g   WM_COMPILE_OPTION=Opt WM_PROJECT_DIR=/opt/OpenFOAM/OpenFOAM-9 WM_COMPILER_TYPE=system WM_COMPILER_LIB_ARCH=64  

Теперь я могу видеть переменную WM_OPTIONS среды (чуть выше WM_ARCH=linux64 и ниже WM_MPLIB=SYSTEMOPENMPI ), но я все равно получаю ту же wmakeFilesAndOptions ошибку.

Я не знаю, какую конфигурацию я испортил, поэтому буду признателен за помощь!

Спасибо!

Комментарии:

1. Это плохая идея-использовать sudo. создайте свой решатель в своем домашнем каталоге.

Ответ №1:

Использование sudo в этом случае не является хорошей идеей, вместо этого запустите сценарии в своем домашнем каталоге:

 mkdir -p $FOAM_RUN cd $FOAM_RUN foamNewSource App newSolver  

Для WM_OPTIONS переменной среды не устанавливайте ее вручную, вместо этого используйте:

 export WM_OPTIONS=$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION$WM_COMPILE_OPTION