Я использую докер ubuntu 19.04 для установки PyCarl.У меня есть carl и carl-parser (версия master14).Тем не менее, команда «python setup.pyvelop» завершается неудачно в setup.py с вызваннойProcessException с кодом выхода 2. Начальная команда:
subprocess.check_output(['cmake', '--build', '.', '--target', ext.name] + build_args, cwd=self.build_temp)
, которая сводится к:
cmake --build . --target core --config Release -- -j4
Тем не менее, я заканчиваю CalledProcessError с кодом выхода 2. Любая помощь в подсказке, где может быть ошибка, будет очень полезна.
![Please see the bottom of the screenshot for the described error](https://i.stack.imgur.com/NhjGB.png)
Кроме того, похоже, что указанная выше ошибка связана с предыдущей неразрешенной ошибкой, как предлагается в комментариях.
root@196abd768845:/pycarl# python setup.py develop
running develop
running egg_info
writing lib/pycarl.egg-info/PKG-INFO
writing dependency_links to lib/pycarl.egg-info/dependency_links.txt
writing top-level names to lib/pycarl.egg-info/top_level.txt
reading manifest file 'lib/pycarl.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'lib/pycarl.egg-info/SOURCES.txt'
running build_ext
Pycarl - Using carl with master14 branch.
Pycarl - Using carl 14.18.10 from /carl/build
Pycarl - carl parser extension from included.
Pycarl - Support for CLN found and included.
Pycarl - CMake args=['-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/pycarl/lib/pycarl/', '-DPYTHON_EXECUTABLE=/usr/bin/python3', '-DCMAKE_BUILD_TYPE=Release', '-Dcarl_DIR=/carl/build']
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libgmpxx.a(osdoprnti.o): relocation R_X86_64_PC32 against symbol `__gmp_allocate_func' can not be used when making ashared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libgmpxx.a(osfuns.o): relocation R_X86_64_PC32 against symbol `_ZNKSt5ctypeIcE8do_widenEc' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libgmp.a(memory.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
Вышеприведенное продолжается для многих переменных.и, наконец, отображает:
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libgmp.a(randmt.o): relocation R_X86_64_PC32 against symbol `__gmp_free_func' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[3]: *** [CMakeFiles/core.dir/build.make:142: ../../lib/pycarl/core.cpython-37m-x86_64-linux-gnu.so] Error 1
make[2]: *** [CMakeFiles/Makefile2:295: CMakeFiles/core.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:307: CMakeFiles/core.dir/rule] Error 2
make: *** [Makefile:196: core] Error 2
Я пробовал export CXXFLAGS="$CXXFLAGS -fPIC"
, но это не помогло устранить ошибку.
Дополнение 2: Спасибо за ваш вклад, ребята.Но я вижу, что .a и .so присутствуют в библиотеке.Так почему же он не выбирает общий?Или как я могу динамически связать это?Я пытался LD_LIBRARY_PATH, но это не решает.