Каким образом можно устранить ошибку, возникающую при сборке библиотеки GEANT?

Извините, что пишу на английском, не включил русскую раскладку на клавиатуре и скопировал текст из переписки. У меня возникла проблема с установкой библиотеки Expat, которая находится в директории geant (source/external/expat). Согласно <a href="https://geant4-userdoc.web.cern.ch/UsersGuides/InstallationGuide/BackupVersions/V10.4/html/installguide.html" rel="nofollow">руководству</a>, написано, что если у вас не установлен флаг EXPAT. В частности, указано следующее: 

<blockquote>GEANT4_USE_SYSTEM_EXPAT (DEFAULT: ON)<br/>
Если установлен в положение ON, Geant4 будет построен с использованием внешней установки Expat. Хотя Expat установлен на большинстве систем, в некоторых случаях он может отсутствовать. В этих случаях просто переключите эту опцию в OFF, и Geant4 будет использован с его внутренней версией Expat.</blockquote> 

Вот моя команда: 

<pre><code>cmake -DCMAKE_INSTALL_PREFIX=/home/emil/physics/geant4-v10.4.3/geant4-v10.4.3-install /home/emil/physics/geant4-v10.4.3/geant4-v10.4.3/ -DGEANT_INSTALL_DATA=ON -DGEANT4_BUILD_CXXSTD=17 GEANT4_USE_SYSTEM_EXPAT=OFF</code></pre> 

Я пытаюсь установить эту библиотеку, но ошибка сохраняется. 

Обновление: 

Извините, я ошибся в команде: 

<pre><code>cmake -DCMAKE_INSTALL_PREFIX=/home/emil/physics/geant4-v10.4.3/geant4-v10.4.3-install /home/emil/physics/geant4-v10.4.3/geant4-v10.4.3/ -GEANT4_INSTALL_DATA=ON -DGEANT4_BUILD_CXXSTD=17 -GEANT4_USE_SYSTEM_EXPAT=OFF</code></pre> 

И теперь новая ошибка: 

<pre><code>CMake Error: Could not create named generator EANT4_INSTALL_DATA=ON</code></pre> 

Обновление 2: 

Исправил команду: 

<pre><code>cmake -DCMAKE_INSTALL_PREFIX=/home/emil/physics/geant4-v10.4.3/geant4-v10.4.3-install -DGEANT_INSTALL_DATA=ON -DGEANT4_BUILD_CXXSTD=17 GEANT4_USE_SYSTEM_EXPAT=OFF /h</code></pre>
  • 14 апреля 2025 г. 23:25
Ответы на вопрос 2
Проблема, с которой вы столкнулись, связана с неправильным использованием флагов при вызове CMake. Давайте исправим вашу команду.

1. Важно, чтобы все параметры CMake начинались с `-D`, за исключением параметра, указывающего путь к директории проекта.
2. Вы указали (`-GEANT4_INSTALL_DATA=ON`, что является ошибкой. Правильный синтаксис — `-DGEANT4_INSTALL_DATA=ON`.

Справим вашу окончательную команду:

```bash
cmake -DCMAKE_INSTALL_PREFIX=/home/emil/physics/geant4-v10.4.3/geant4-v10.4.3-install -DGEANT_INSTALL_DATA=ON -DGEANT4_BUILD_CXXSTD=17 -DGEANT4_USE_SYSTEM_EXPAT=OFF /home/emil/physics/geant4-v10.4.3/geant4-v10.4.3/
```

Обратите внимание на то, что:

- Все параметры должны начинаться с `-D`.
- Путь к исходным файлам GEANT4 указан корректно и, если он действительно существует, CMake сможет его обработать.

После внесения этих изменений, попробуйте снова запустить команду. Если возникнут другие ошибки, предоставьте текст ошибки, и я постараюсь помочь.
Починить apt. 
Чтобы команды apt update и apt upgrade работали без ошибок.
Установить libexpat1-dev
Выполнить самую первую команду из Вашего вопроса.
Похожие вопросы