I am trying to install myGui 3.2.1 on kubuntu. However while linking the files the following problems occur:
/usr/bin/ld: CMakeFiles/Demo_Colour.dir/DemoKeeper.cpp.o: undefined reference to enter code here/usr/bin/ld: CMakeFiles/Demo_Gui.dir/DemoKeeper.cpp.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
symbol '_ZN5boost6system15system_categoryEv'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command/usr line
collect2: error: ld returned 1 exit status
/usr/bin/ld: CMakeFiles/Demo_Controllers.dir/DemoKeeper.cpp.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
/bin/ld: CMakeFiles/Demo_Console.dir/DemoKeeper.cpp.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line
I guess there is a problem linking with boost and I found some ways to solve it but those solutions were only for archlinux and didn't work for me. Anyway I have looked through the CMAKE files of myGui and couldn't find anything about boost...
I would appreciate every form of help!
I have looked through the CMAKE files of myGui and couldn't find anything about boost...
You obviously need to link with appropriate Boost libraries. This answer may help.
This problem was fixed in git repository.
Boost is not used in MyGUI, but when you build MyGUI using OgrePlatform OGRE require boost for it's headers.
Related
I've built my code on a machine with gcc 6.3 before. I'm building the same code on another machine with gcc 5.3. I tried using the working oed library from a different location. But still the error persists. I went through suggestions in other questions similar to this on Stackoverflow, but they suggest that the library must be already linked. This is not the case though.
Oed is a fortran library and the code is in C and C++.
I'm at a loss to think how to figure out this problem. Any help is welcome.
/usr/bin/ld: oed__gener_nai_batch.o: access beyond end of merged section (380)
/usr/bin/ld: oed__gener_nai_batch.o: access beyond end of merged section (586)
/usr/bin/ld: oed__gener_nai_batch.o: access beyond end of merged section (580)
/usr/bin/ld: /home/umunipala/gamess/gamess-kris-simgms/simgms/oed/liboed.a(oed__gener_nai_batch.o)(.debug_info+0x203): reloc against `.debug_str': error 2
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
Well, there are two solutions I think.
recompile the .c file with your current library settings.
export a corresponded version LD library.
The problem is basically caused by the disagreement between .o file and your gcc(compiler).
I am compiling a C++ program using make, this is the error i'm getting.
/usr/bin/ld: fglut/libfglut.a(freeglut_state.o): undefined reference to symbol 'XGetWindowAttributes'
//usr/lib/i386-linux-gnu/libX11.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:55: recipe for target 'morphlines' failed
make: *** [morphlines] Error 1
I'm beginner
/usr/bin/ld: fglut/libfglut.a(freeglut_state.o):
This tells me you link libfglut statically (*.a is just an archive of object files). When you do this, you must link all dependencies as well, because with the object files from the static library actually compiled into your program, your program will depend on them.
Either link libfglut dynamically (this is the default with the GNU toolchain), so your program will depend on libfglut.so which will itself depend on libX11.so -- or add -lX11 after -lfglut on the command line of your final linking step. You might need -Wl,-Bdynamic before -lX11 to switch the linker back to dynamic linking.
If this doesn't directly solve your problem, I suggest you edit your question to include the relevant parts of the Makefile you're using.
I'm building an application that results in the following error:
hidden symbol `__popcountdi2' in /usr/lib/gcc/x86_64-redhat-linux/4.8.3/libgcc.a(_popcountsi2.o) is referenced by DSO
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
This can be fixed with '-shared-libgcc' linked option, but I would like to understand the issue and what is causing it. Also it appears that others don't observe the issue, although we all run the same Linux distribution (Fedora 20), the same tools and libraries (gcc-4.8.3-7.fc20.x86_64, libgcc-4.8.3-7.fc20.x86_64 and binutils-2.23.88.0.1-13.fc20.x86_64), so I suspect there's something wrong with my platform, may be some libs are missing etc.
I would appreciate if someone could give hints to understand what is going on. Thanks.
I am trying to Cross Compile opencv on linux platform (ARM 8148).
I am getting following errors:
warning: libQtTest.so.4, needed by ../../lib/libopencv_highgui.so.3.0.0, not found (try using -rpath or -rpath-link)
/opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libQtCore.so.4, needed by ../../lib/libopencv_highgui.so.3.0.0, not found (try using -rpath or -rpath-link)
/opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: ../../bin/opencv_perf_core: hidden symbol `__sync_fetch_and_add_4' in /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/libgcc.a(linux-atomic.o) is referenced by DSO
/opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
make[2]: *** [bin/opencv_perf_core] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_perf_core.dir/all] Error 2
I am not able to understand this error and on net also not getting proper reference for that .Can anyone help me in understanding this error .
__sync_fetch_and_add_x* is normally inlined by gcc, and compiles to inline code that performs an automic operation on a memory word.
You will find them documented here:
https://gcc.gnu.org/onlinedocs/gcc-4.9.1/gcc/_005f_005fsync-Builtins.html
As described on this page, if the compiler emitted a function call, instead of a generating inline assembly, it means that this atomic operation is not supported on the target platform.
I'm trying to build a native client application using SDL, and a link error had me stumped. This is the simplest command line that reproduces the error. Has anyone seen this before?
\# nacl_sdk/pepper_25/toolchain/linux_x86_glibc/bin/i686-nacl-gcc -m64 nacl_glue.cc -lSDL -lppapi_cpp
/home/rob/nacl_sdk/pepper_25/toolchain/linux_x86_glibc/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld: /home/rob/nacl_sdk/pepper_25/toolchain/linux_x86_glibc/bin/../x86_64-nacl/lib/libstdc++.so.6: invalid DSO for symbol `std::_List_node_base::hook(std::_List_node_base*)##GLIBCXX_3.4' definition
/home/rob/nacl_sdk/pepper_25/toolchain/linux_x86_glibc/bin/../x86_64-nacl/lib/libstdc++.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
I need to use i686-nacl-g++ instead of i686-nacl-gcc.
Digging around a little online, it looks like GCC shouldn't link in the c++ standard library, but my error message looks a little more like it IS linking in the c++ standard library, but is not understanding the symbols it is finding. Weird, but whatever.