«DSO отсутствует в командной строке» при компиляции clang на экземпляре AWS EC2 - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь скомпилировать программу C ++ на экземпляре EC2 для использования в aws лямбда-выражении. Я использую файл make, и я ввожу

make -f Makefile

, что, кажется, создает следующее выражение:

clang++ -std=c++11 -stdlib=libc++ -L/usr/lib/opencas -L/usr/lib -lTKBRep -lTKG2d -lTKG3d -lTKGeomBase -lTKMath -lTKMesh -lTKSTEP -lTKSTEP209 -lTKTopAlgo -lTKSTEPAttr -lTKSTEPBase -lTKSTL -lTKXSBase -lTKernel  -o step2stl lib.o main.o

Затем я получаю следующую ошибку:

/usr/bin/ld: lib.o: undefined reference to symbol '_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3'
//usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command line
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [step2stl] Error 1

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

Я собрал эту же программу на Ubuntu без проблем, но мне пришлось установить libc++-dev и libc++abi-dev

Единственное, что я могу найти для yum - это libcxx (который я установил). Я застрял на том, что делать дальше ...

EDIT # 1:

Я установил libcxxabi и libcxxabi-devel пакеты из RPM здесь: https://fedora.pkgs.org/30/fedora-x86_64/libcxxabi-8.0.0-1.fc30.x86_64.rpm.html Но все равно ошибки ...

1 Ответ

0 голосов
/ 20 апреля 2020

Попробуйте также установить libc ++ abi.

_ZTVN10__cxxabiv117__class_type_infoE - это "vtable for __cxxabiv1 :: __ class_type_info".

...