我正在使用 ubuntu 19.04 docker 的 docker 來安裝 PyCarl。我有 carl 和 carl-parser(master14 版本)。但是,“python setup.py develop”命令在 setup.py 中失敗,并帶有退出代碼為 2 的 calledProcessException。初始命令為:subprocess.check_output(['cmake', '--build', '.', '--target', ext.name] + build_args, cwd=self.build_temp)歸結為:cmake --build . --target core --config Release -- -j4但是,我最終得到了一個退出代碼為 2 的 CalledProcessError。任何幫助建議我可能出現(xiàn)錯誤的地方都會有很大幫助。此外,上述錯誤似乎是由于評論中建議的先前未解決的錯誤。root@196abd768845:/pycarl# python setup.py developrunning developrunning egg_infowriting lib/pycarl.egg-info/PKG-INFOwriting dependency_links to lib/pycarl.egg-info/dependency_links.txtwriting top-level names to lib/pycarl.egg-info/top_level.txtreading manifest file 'lib/pycarl.egg-info/SOURCES.txt'reading manifest template 'MANIFEST.in'writing manifest file 'lib/pycarl.egg-info/SOURCES.txt'running build_extPycarl - Using carl with master14 branch.Pycarl - Using carl 14.18.10 from /carl/buildPycarl - 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我確實嘗試export CXXFLAGS="$CXXFLAGS -fPIC"過,但這并沒有解決錯誤。補充2:感謝您的投入。但我可以看到 .a 和 .so 都存在于庫中。那么為什么不選擇共享的呢?或者我怎樣才能動態(tài)鏈接它?我試過 LD_LIBRARY_PATH 但它沒有解決它。
PyCarl 的 cmake 構建過程失敗,并要求使用 -fPIC 重新編譯
寶慕林4294392
2022-06-02 17:31:42