I have built the ESP8266 SDK according to this document.
But the compile report shows the error below. Attachemnt is the ld file. Would you please help me to resolve it? Thanks a lot!
/opt/Espressif/crosstool-NG/builds/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: esp8266_app section `.text' will not fit in region `iram1_0_seg'
/opt/Espressif/crosstool-NG/builds/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: region `iram1_0_seg' overflowed by 43955 bytes
kaa/tools/kaa_encryption/rsa_key_gen/mbedtls/libmbedtls.a(entropy_poll.c.obj):(.text.mbedtls_platform_entropy_poll+0x8): undefined reference to `fopen'
kaa/tools/kaa_encryption/rsa_key_gen/mbedtls/libmbedtls.a(entropy_poll.c.obj):(.text.mbedtls_platform_entropy_poll+0xc): undefined reference to `fread'
kaa/tools/kaa_encryption/rsa_key_gen/mbedtls/libmbedtls.a(entropy_poll.c.obj):(.text.mbedtls_platform_entropy_poll+0x10): undefined reference to `fclose'
kaa/tools/kaa_encryption/rsa_key_gen/mbedtls/libmbedtls.a(entropy_poll.c.obj): In function `mbedtls_platform_entropy_poll':
entropy_poll.c:(.text.mbedtls_platform_entropy_poll+0x33): undefined reference to `fopen'
entropy_poll.c:(.text.mbedtls_platform_entropy_poll+0x48): undefined reference to `fread'
entropy_poll.c:(.text.mbedtls_platform_entropy_poll+0x56): undefined reference to `fclose'
entropy_poll.c:(.text.mbedtls_platform_entropy_poll+0x62): undefined reference to `fclose'
collect2: error: ld returned 1 exit status
make[2]: *** [esp8266_app] Error 1
make[1]: *** [CMakeFiles/esp8266_app.dir/all] Error 2
make: *** [all] Error 2
Regards
Bobby
To build the C SDK application correctly for the ESP8266 platform, disable the Encryption feature with -DWITH_ENCRYPTION=OFF CMake command line argument.
Furthermore, disable unused SDK extensions. For example, to disable the notification extension, you should pass the -DWITH_EXTENSION_NOTIFICATION=OFF to CMake. For more information about C SDK build configuration, see this file -- https://github.com/kaaproject/kaa/blob/master/client/client-multi/client-c/CMakeLists.txt
Also, don't forget to pass the -DCMAKE_BUILD_TYPE=MinSizeRel to CMake so that the resulting executable will be optimized for size.
Related
I'm using an Arch machine and trying to compile ROS desktop full from source. The build fails when image_proc is trying to link executable.
Here is the error log:
[ 23%] Built target image_proc_gencfg
[ 84%] Built target image_proc
[ 92%] Linking CXX executable /home/alphayed/ROS/ros_catkin_ws/devel_isolated/image_proc/lib/image_proc/image_proc
/home/alphayed/ROS/ros_catkin_ws/install_isolated/lib/libopencv_viz3.so.3.1.0: undefined reference to `vtkSTLReader::New()'
/home/alphayed/ROS/ros_catkin_ws/install_isolated/lib/libopencv_viz3.so.3.1.0: undefined reference to `vtkOBJReader::New()'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/image_proc_exe.dir/build.make:219: /home/alphayed/ROS/ros_catkin_ws/devel_isolated/image_proc/lib/image_proc/image_proc] Error 1
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/image_proc_exe.dir/all] Error 2
make: *** [Makefile:139: all] Error 2
I think the problem is related to opencv3. I removed it from the system and recompiled it from source but that didn't solve the issue. Can you please help?
I have found a fix as per this thread. You need to modify opencv3/cmake/OpenCVDetectVTK.cmake, for every find_package(VTK QUIET COMPONENTS ... add an entry vtkIOGeometry
I am getting the following error when compiling opencv with ffmpeg.
..../arm-none-linux-gnueabi/bin/ld: ../../bin/opencv_test_core: hidden symbol `__sync_val_compare_and_swap_4' in ..../arm-none-linux-gnueabi/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
I have no idea what this means. How do I fix this?
Edit:
I am cross compiling for ARM using codesourcery's arm-2009q3 compiler.
I using cmake and make to compile.
Please check all the libraries that you use and go through this stackoverflow thread as well.
To me, I got the below error when I migrated my product to new GCC version (3.3.3 to 4.5.4)
hidden symbol `__clz_tab' in /../lib/gcc/mipsel-unknown-linux-uclibc/4.5.4/libgcc.a(_clz.o) is referenced by DSO
Later I found that one of the library that I tried to link was built using GCC 3.3.3. After building the other library under GCC 4.5.4, the 'hidden symbol' error disappeared.
I'm trying to compile wireshark-P2P-1.7.0 but it fails showing the following error:
/usr/bin/ld: gtk/libui.a(libui_a-plugins_dlg.o): undefined reference to symbol 'g_module_name'
//usr/lib/i386-linux-gnu/libgmodule-2.0.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [wireshark] Error 1
make[2]: Leaving directory `/home/sniffer/Desktop/P2P_install/Sigma_Sniffer-P2P-Ubuntu_v8.1.0/wireshark-P2P-1.7.0'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sniffer/Desktop/P2P_install/Sigma_Sniffer-P2P-Ubuntu_v8.1.0/wireshark-P2P-1.7.0'
make: *** [all] Error 2
I'm not sure if it requires special libraries to run on a 64bit processor since this version of wireshark is 32 bit.
I cannot use a standard version of wireshark or download it from anywhere else. I have to use this one because is specially configure to make WFA tests.
Thank you!!
Oscar.
The only way a source code version of Wireshark would "[be] 32 bit" would be if somebody had added code to it that assumed that long or pointer data types were 32-bit; no code in the Wireshark source from wireshark.org is "32 bit" or "64 bit", it's all portable (and the Wireshark build infrastructure builds and tests both 32-bit and 64-bit versions).
What it does need is a version of GLib that includes g_module_name(), and you need to be linking with GLib (Wireshark uses it).
I am new to opencv and i am trying to install opencv-3.0.0-beta on ubuntu 14.04. When running make command, I get an error at 54%.I followed the same steps mentioned in http://docs.opencv.org/trunk/doc/tutorials/introduction/linux_install/linux_install.html. but I still get an error.
Below is the error message I'm getting.
/usr/bin/ld:
../../../3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32/libippicv.a(jmp_ippiResizeGetBufferSize_16s_as.s.o):
relocation R_386_GOTOFF against undefined symbol
`ippicvJumpIndexForMergedLibs' can not be used when making a shared
object /usr/bin/ld: final link failed: Bad value collect2: error: ld
returned 1 exit status make[2]: * [lib/libopencv_imgproc.so.3.0.0]
Error 1 make1: [modules/imgproc/CMakeFiles/opencv_imgproc.dir/all]
Error 2 make: ** [all] Error 2
Please help in solving it.
Thanks
It looks like your IPP configuration bugs. If you don't need IPP, you might want to rerun the cmake command with this option WITH_IPP=OFF.
Further reading here about deactivate IPP and here to properly configure IPP.
I've been trying to install OpenCV 2.2 on Ubuntu 11.04. As far as I can gather from here: linux/videodev.h : no such file or directory - OpenCV on ubuntu 11.04, the installation fails because video4linux is no longer in the kernel. If I follow the guide linked to in the above thread (http://tech.groups.yahoo.com/group/OpenCV/message/79758), the make-command passes the initial error described in the above thread, but fails at a later point. I get the error:
Linking CXX executable ../../bin/opencv_createsamples
../../lib/libopencv_highgui.so.2.2.0: undefined reference to `cvCreateCameraCapture_V4L(int)'
collect2: ld returned 1 exit status
make[2]: *** [bin/opencv_createsamples] Error 1
make[1]: *** [modules/haartraining/CMakeFiles/opencv_createsamples.dir/all] Error 2
make: *** [all] Error 2
This error also seems related to video4linux.
Any suggestions?
Thanks a bunch,
Andreas Møgelmose
You may find this blog post useful:
http://salikscodingblog.wordpress.com/2011/08/05/compiling-opencv-2-on-ubuntu/