-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Description
Bugzilla Link | 3071 |
Resolution | INVALID |
Resolved on | Nov 05, 2009 02:30 |
Version | unspecified |
OS | Linux |
Attachments | Test code showing the assertion fail |
Reporter | LLVM Bugzilla Contributor |
CC | @edwintorok |
Extended Description
The following error shows up after running my program that is linked to my custom library that is made in a fashion described in the Summary.
test1: /usr/src/packages/BUILD/llvm-2.3/include/llvm/Support/CommandLine.h:477: void llvm::cl::parser::addLiteralOption(const char*, const DT&, const char*) [with DT = const llvm::TargetMachineRegistryEntry*, DataType = const llvm::TargetMachineRegistryEntry*]: Assertion `findOption(Name) == Values.size() && "Option already exists!"' failed.
(Yes my LLVM packages are not the latest 2.4 but edwin on IRC confirmed with the latest - I suppose)
I attached a sample code that will produce the error. It requires CMake for building. Furthermore it has been suggested to also paste the building phase in case somebody can spot something wrong with it.
rush@rushpod:/Programowanie/LLVM_DblDef> cmake ./Programowanie/LLVM_DblDef> make VERBOSE=1
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
NOTICE Libs: /usr/lib/llvm/LLVMExecutionEngine.o /usr/lib/llvm/LLVMJIT.o /usr/lib/llvm/LLVMX86.o /usr/lib/llvm/libLLVMSelectionDAG.a /usr/lib/llvm/libLLVMCodeGen.a /usr/lib/llvm/libLLVMScalarOpts.a /usr/lib/llvm/libLLVMTransformUtils.a /usr/lib/llvm/libLLVMipa.a /usr/lib/llvm/libLLVMAnalysis.a /usr/lib/llvm/libLLVMTarget.a /usr/lib/llvm/libLLVMCore.a /usr/lib/llvm/libLLVMSupport.a /usr/lib/llvm/libLLVMSystem.a
NOTICE linking with /usr/lib/llvm/LLVMExecutionEngine.o
NOTICE linking with /usr/lib/llvm/LLVMJIT.o
NOTICE linking with /usr/lib/llvm/LLVMX86.o
NOTICE linking with /usr/lib/llvm/libLLVMSelectionDAG.a
NOTICE linking with /usr/lib/llvm/libLLVMCodeGen.a
NOTICE linking with /usr/lib/llvm/libLLVMScalarOpts.a
NOTICE linking with /usr/lib/llvm/libLLVMTransformUtils.a
NOTICE linking with /usr/lib/llvm/libLLVMipa.a
NOTICE linking with /usr/lib/llvm/libLLVMAnalysis.a
NOTICE linking with /usr/lib/llvm/libLLVMTarget.a
NOTICE linking with /usr/lib/llvm/libLLVMCore.a
NOTICE linking with /usr/lib/llvm/libLLVMSupport.a
NOTICE linking with /usr/lib/llvm/libLLVMSystem.a
-- Configuring done
-- Generating done
-- Build files have been written to: /home/rush/Programowanie/LLVM_DblDef
rush@rushpod:
/usr/bin/cmake -H/home/rush/Programowanie/LLVM_DblDef -B/home/rush/Programowanie/LLVM_DblDef --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/rush/Programowanie/LLVM_DblDef/CMakeFiles /home/rush/Programowanie/LLVM_DblDef/CMakeFiles/progress.make
make -f CMakeFiles/Makefile2 all
make[1]: Wej?cie do katalogu /home/rush/Programowanie/LLVM_DblDef' make -f CMakeFiles/testlib.dir/build.make CMakeFiles/testlib.dir/depend make[2]: Wej?cie do katalogu
/home/rush/Programowanie/LLVM_DblDef'
cd /home/rush/Programowanie/LLVM_DblDef && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/rush/Programowanie/LLVM_DblDef /home/rush/Programowanie/LLVM_DblDef /home/rush/Programowanie/LLVM_DblDef /home/rush/Programowanie/LLVM_DblDef /home/rush/Programowanie/LLVM_DblDef/CMakeFiles/testlib.dir/DependInfo.cmake --color=
Dependee "/home/rush/Programowanie/LLVM_DblDef/CMakeFiles/testlib.dir/DependInfo.cmake" is newer than depender "/home/rush/Programowanie/LLVM_DblDef/CMakeFiles/testlib.dir/depend.internal".
Scanning dependencies of target testlib
make[2]: Opuszczenie katalogu /home/rush/Programowanie/LLVM_DblDef' make -f CMakeFiles/testlib.dir/build.make CMakeFiles/testlib.dir/build make[2]: Wej?cie do katalogu
/home/rush/Programowanie/LLVM_DblDef'
/usr/bin/cmake -E cmake_progress_report /home/rush/Programowanie/LLVM_DblDef/CMakeFiles 2
[ 50%] Building CXX object CMakeFiles/testlib.dir/testlib.c++.o
/usr/bin/c++ -D__STDC_LIMIT_MACROS -Dtestlib_EXPORTS -fPIC -o CMakeFiles/testlib.dir/testlib.c++.o -c /home/rush/Programowanie/LLVM_DblDef/testlib.c++
Linking CXX shared library libtestlib.so
/usr/bin/cmake -E cmake_link_script CMakeFiles/testlib.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -shared -Wl,-soname,libtestlib.so -o libtestlib.so CMakeFiles/testlib.dir/testlib.c++.o /usr/lib/llvm/LLVMExecutionEngine.o /usr/lib/llvm/LLVMJIT.o /usr/lib/llvm/LLVMX86.o /usr/lib/llvm/libLLVMSelectionDAG.a /usr/lib/llvm/libLLVMCodeGen.a /usr/lib/llvm/libLLVMScalarOpts.a /usr/lib/llvm/libLLVMTransformUtils.a /usr/lib/llvm/libLLVMipa.a /usr/lib/llvm/libLLVMAnalysis.a /usr/lib/llvm/libLLVMTarget.a /usr/lib/llvm/libLLVMCore.a /usr/lib/llvm/libLLVMSupport.a /usr/lib/llvm/libLLVMSystem.a -lpthread -ldl
make[2]: Opuszczenie katalogu /home/rush/Programowanie/LLVM_DblDef' /usr/bin/cmake -E cmake_progress_report /home/rush/Programowanie/LLVM_DblDef/CMakeFiles 2 [ 50%] Built target testlib make -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/depend make[2]: Wej?cie do katalogu
/home/rush/Programowanie/LLVM_DblDef'
cd /home/rush/Programowanie/LLVM_DblDef && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/rush/Programowanie/LLVM_DblDef /home/rush/Programowanie/LLVM_DblDef /home/rush/Programowanie/LLVM_DblDef /home/rush/Programowanie/LLVM_DblDef /home/rush/Programowanie/LLVM_DblDef/CMakeFiles/test1.dir/DependInfo.cmake --color=
Dependee "/home/rush/Programowanie/LLVM_DblDef/CMakeFiles/test1.dir/DependInfo.cmake" is newer than depender "/home/rush/Programowanie/LLVM_DblDef/CMakeFiles/test1.dir/depend.internal".
Scanning dependencies of target test1
make[2]: Opuszczenie katalogu /home/rush/Programowanie/LLVM_DblDef' make -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/build make[2]: Wej?cie do katalogu
/home/rush/Programowanie/LLVM_DblDef'
/usr/bin/cmake -E cmake_progress_report /home/rush/Programowanie/LLVM_DblDef/CMakeFiles 1
[100%] Building CXX object CMakeFiles/test1.dir/test1.c++.o
/usr/bin/c++ -D__STDC_LIMIT_MACROS -o CMakeFiles/test1.dir/test1.c++.o -c /home/rush/Programowanie/LLVM_DblDef/test1.c++
Linking CXX executable test1
/usr/bin/cmake -E cmake_link_script CMakeFiles/test1.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC CMakeFiles/test1.dir/test1.c++.o -o test1 -rdynamic libtestlib.so /usr/lib/llvm/LLVMExecutionEngine.o /usr/lib/llvm/LLVMJIT.o /usr/lib/llvm/LLVMX86.o /usr/lib/llvm/libLLVMSelectionDAG.a /usr/lib/llvm/libLLVMCodeGen.a /usr/lib/llvm/libLLVMScalarOpts.a /usr/lib/llvm/libLLVMTransformUtils.a /usr/lib/llvm/libLLVMipa.a /usr/lib/llvm/libLLVMAnalysis.a /usr/lib/llvm/libLLVMTarget.a /usr/lib/llvm/libLLVMCore.a /usr/lib/llvm/libLLVMSupport.a /usr/lib/llvm/libLLVMSystem.a -lpthread -ldl -Wl,-rpath,/home/rush/Programowanie/LLVM_DblDef
make[2]: Opuszczenie katalogu /home/rush/Programowanie/LLVM_DblDef' /usr/bin/cmake -E cmake_progress_report /home/rush/Programowanie/LLVM_DblDef/CMakeFiles 1 [100%] Built target test1 make[1]: Opuszczenie katalogu
/home/rush/Programowanie/LLVM_DblDef'
/usr/bin/cmake -E cmake_progress_start /home/rush/Programowanie/LLVM_DblDef/CMakeFiles 0
rush@rushpod:/Programowanie/LLVM_DblDef> ./test1/Programowanie/LLVM_DblDef>
test1: /usr/src/packages/BUILD/llvm-2.3/include/llvm/Support/CommandLine.h:477: void llvm::cl::parser::addLiteralOption(const char*, const DT&, const char*) [with DT = const llvm::TargetMachineRegistryEntry*, DataType = const llvm::TargetMachineRegistryEntry*]: Assertion `findOption(Name) == Values.size() && "Option already exists!"' failed.
Przerwane
rush@rushpod: