I want to use static library(libglog.a) not shared with my heartbeat app.
The glog lib(https://github.com/google/glog) I used is depends on unwind lib refer by this link Why a static library can depend on a shared a library?
I also encountered this problem too ! #Ke Yang
But I am new to CMake, I don' know how to link unwind.so please?
Here is my CMakeLists.txt
include_directories(
${CMAKE_CURRENT_LIST_DIR}
)
link_directories(
)
add_executable( heartbeat
main.cpp
heartbeat.cpp
${COMPONENTS_SRC}
${MODULES_SRC}
)
target_link_libraries( heartbeat
libpthread.a
libcrypt.a
libm.a
libgflags.a
libglog.a
libhiredis.a
libredis++.a
)
# 输出到build文件夹上层目录
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/..)
Then I get this ERROR
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libglog.a(libglog_la-utilities.o):在函数‘google::GetStackTrace(void**, int, int) [clone .part.7]’中:
(.text+0xad):对‘_Ux86_64_getcontext’未定义的引用
(.text+0xb8):对‘_ULx86_64_init_local’未定义的引用
(.text+0xe7):对‘_ULx86_64_step’未定义的引用
(.text+0x100):对‘_ULx86_64_get_reg’未定义的引用
(.text+0x120):对‘_ULx86_64_step’未定义的引用
collect2: error: ld returned 1 exit status
I need to compile qt-5.5 for building various applications.
Qt provides instruction to accomplish this here , but following the steps provided, results in a make error.
Note: I attempted searching for a solution of this make warning without success, however, may be someone else experienced this problem.
System used:
Archlinux (Linux arch-desktop 4.9.77-1-lts #1 SMP Wed Jan 17 12:59:05 CET 2018 x86_64 GNU/Linux)
Qt 5.5.1
OpenSSL 1.0.2g
GCC (GCC) 7.2.1 20171224
Steps taken:
OS Installation:
During ArchLinux installation, I installed development packages with pacstrap /mnt/point/here base base-devel, see this for more info
Post Installation:
Downloaded Qt 5.5.1 from here
Downloaded appropriate OpenSSL 1.0.2g (same found in Ubuntu distributions as this is my target platform) found here
Installing this OpenSSL version will break dependencies, so I extracted it to /opt/lib/openssl/, and placed the lib, bin, share folders in the root folder mentioned above.
extracted Qt-5.5.1
ran OPENSSL_LIBS='-L/opt/lib/openssl/lib/ -lssl -lcrypto'; ./configure -developer-build -opensource -nomake examples -nomake tests -confirm-license -openssl-linked -prefix /opt/qt-5.5.1
(This sets the openssl library location to use for configuring. Then I link the openssl libraries and configure Qt-5.5.1 to install to /opt/qt-5.5.1)
This results in an appropriate output of abilities which Qt will have once installed, amongst which OpenSSL is found
Finally, makeing with
- make -j 8
This takes a while eventually throwing the error:
In file included from ../../include/QtCore/qlist.h:1:0,
from ../../include/QtCore/../../src/corelib/kernel/qobject.h:43,
from ../../include/QtCore/qobject.h:1,
from ../../include/QtCore/../../src/corelib/io/qiodevice.h:39,
from ../../include/QtCore/qiodevice.h:1,
from io/qfiledevice.h:37:
../../include/QtCore/../../src/corelib/tools/qlist.h:169:1: error: this use of "defined" may not be portable [-Wexpansion-to-defined]
#if QT_SUPPORTS(UNSHARABLE_CONTAINERS)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:2660: .obj/header_qtextcodec.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [Makefile:2436: .obj/header_qsequentialanimationgroup.o] Error 1
make[3]: *** [Makefile:3127: .obj/header_qlibraryinfo.o] Error 1
make[3]: *** [Makefile:1855: .obj/header_qabstractanimation.o] Error 1
make[3]: *** [Makefile:1964: .obj/header_qanimationgroup.o] Error 1
make[3]: *** [Makefile:2075: .obj/header_qparallelanimationgroup.o] Error 1
make[3]: *** [Makefile:2186: .obj/header_qpauseanimation.o] Error 1
make[3]: *** [Makefile:2573: .obj/header_qvariantanimation.o] Error 1
make[3]: *** [Makefile:2325: .obj/header_qpropertyanimation.o] Error 1
make[3]: *** [Makefile:3714: .obj/header_qbuffer.o] Error 1
make[3]: *** [Makefile:3825: .obj/header_qdatastream.o] Error 1
make[3]: *** [Makefile:4202: .obj/header_qdiriterator.o] Error 1
make[3]: *** [Makefile:4079: .obj/header_qdir.o] Error 1
make[3]: *** [Makefile:4313: .obj/header_qfile.o] Error 1
make[3]: *** [Makefile:4422: .obj/header_qfiledevice.o] Error 1
make[3]: *** [Makefile:3958: .obj/header_qdebug.o] Error 1
make[3]: Leaving directory '/home/cybex/qt-5.5/qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib'
make[2]: *** [Makefile:142: sub-corelib-make_first] Error 2
make[2]: Leaving directory '/home/cybex/qt-5.5/qt-everywhere-opensource-src-5.5.1/qtbase/src'
make[1]: *** [Makefile:46: sub-src-make_first] Error 2
make[1]: Leaving directory '/home/cybex/qt-5.5/qt-everywhere-opensource-src-5.5.1/qtbase'
make: *** [Makefile:73: module-qtbase-make_first] Error 2
If you suspect that the fancy 'tricks' using OpenSSL may be causing the problem. No, since I tried it using my OpenSSL-1.1 install which resulted in the same issue. The older OpenSSL version is to be compatible with the older Qt version (still supported in Ubuntu systems)
Any thoughts on what may cause the problem?
UPDATE
After apply the suggested change, as mentioned by #ssbssa, I was able to proceed further with compiling, but still ran into an issue.
I used the following configure command on a fresh source extract:
OPENSSL_LIBS='-L/opt/lib/openssl/lib/ -lssl -lcrypto'; ./configure -opensource -nomake examples -nomake tests -confirm-license -openssl-linked -prefix /opt/qt-5.5.1
I received the following error output.
//...
g++ -o .obj/moc_qopengltimerquery.o .moc/moc_qopengltimerquery.cpp
In file included from ../../include/QtCore/qcontiguouscache.h:1:0,
from ../../include/QtCore/../../src/corelib/io/qdebug.h:46,
from ../../include/QtCore/qdebug.h:1,
from ../../include/QtGui/../../src/gui/math3d/qgenericmatrix.h:38,
from ../../include/QtGui/qgenericmatrix.h:1,
from ../../include/QtGui/../../src/gui/math3d/qquaternion.h:37,
from ../../include/QtGui/qquaternion.h:1,
from ../../include/QtGui/../../src/gui/math3d/qmatrix4x4.h:39,
from ../../include/QtGui/qmatrix4x4.h:1,
from .moc/../opengl/qopenglshaderprogram.h:45,
from .moc/moc_qopenglshaderprogram.cpp:9:
../../include/QtCore/../../src/corelib/tools/qcontiguouscache.h:99:1: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
#if QT_SUPPORTS(UNSHARABLE_CONTAINERS)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../include/QtCore/qcontiguouscache.h:1:0,
from ../../include/QtCore/../../src/corelib/io/qdebug.h:46,
from ../../include/QtCore/qdebug.h:1,
from ../../include/QtGui/../../src/gui/math3d/qgenericmatrix.h:38,
from ../../include/QtGui/qgenericmatrix.h:1,
from ../../include/QtGui/../../src/gui/math3d/qquaternion.h:37,
from ../../include/QtGui/qquaternion.h:1,
from ../../include/QtGui/../../src/gui/math3d/qmatrix4x4.h:39,
from ../../include/QtGui/qmatrix4x4.h:1,
from ../../include/QtGui/../../src/gui/opengl/qopenglshaderprogram.h:45,
from ../../include/QtGui/qopenglshaderprogram.h:1,
from ../../include/QtGui/QOpenGLShader:1,
from .moc/../opengl/qopenglengineshadermanager_p.h:217,
from .moc/moc_qopenglengineshadermanager_p.cpp:9:
../../include/QtCore/../../src/corelib/tools/qcontiguouscache.h:99:1: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
#if QT_SUPPORTS(UNSHARABLE_CONTAINERS)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
rm -f libQt5Gui.so.5.5.1 libQt5Gui.so libQt5Gui.so.5 libQt5Gui.so.5.5
g++ -Wl,--no-undefined -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -Wl,-rpath,/opt/qt-5.5.1/lib -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,/home/cybex/qt5-5-1/qt-everywhere-opensource-src-5.5.1/qtbase/src/gui/QtGui.dynlist -Wl,-soname,libQt5Gui.so.5 -o libQt5Gui.so.5.5.1 .obj/qimage_ssse3.o .obj/qdrawhelper_ssse3.o .obj/qimage_sse4.o .obj/qdrawhelper_sse4.o .obj/qimagescale_sse4.o .obj/qimage_avx2.o .obj/qdrawhelper_avx2.o .obj/qimage_compat.o .obj/qaccessible.o .obj/qaccessiblecache.o .obj/qaccessibleobject.o .obj/qaccessibleplugin.o .obj/qplatformaccessibility.o .obj/qaccessiblebridge.o .obj/qgenericpluginfactory.o .obj/qgenericplugin.o .obj/qwindowsysteminterface.o .obj/qplatforminputcontextfactory.o .obj/qplatforminputcontextplugin.o .obj/qplatforminputcontext.o .obj/qplatformintegration.o .obj/qplatformdrag.o .obj/qplatformscreen.o .obj/qplatformintegrationfactory.o .obj/qplatformintegrationplugin.o .obj/qplatformtheme.o .obj/qplatformthemefactory.o .obj/qplatformthemeplugin.o .obj/qplatformwindow.o .obj/qplatformoffscreensurface.o .obj/qplatformcursor.o .obj/qplatformclipboard.o .obj/qplatformnativeinterface.o .obj/qsessionmanager.o .obj/qshapedpixmapdndwindow.o .obj/qsimpledrag.o .obj/qsurfaceformat.o .obj/qguiapplication.o .obj/qwindow.o .obj/qoffscreensurface.o .obj/qplatformsurface.o .obj/qsurface.o .obj/qclipboard.o .obj/qcursor.o .obj/qdrag.o .obj/qdnd.o .obj/qevent.o .obj/qinputmethod.o .obj/qkeysequence.o .obj/qkeymapper.o .obj/qpalette.o .obj/qguivariant.o .obj/qscreen.o .obj/qshortcutmap.o .obj/qstylehints.o .obj/qtouchdevice.o .obj/qplatformsharedgraphicscache.o .obj/qplatformdialoghelper.o .obj/qplatformservices.o .obj/qplatformsystemtrayicon.o .obj/qplatformsessionmanager.o .obj/qplatformmenu.o .obj/qpixelformat.o .obj/qpaintdevicewindow.o .obj/qrasterwindow.o .obj/qplatformgraphicsbuffer.o .obj/qplatformgraphicsbufferhelper.o .obj/qinputdevicemanager.o .obj/qplatformopenglcontext.o .obj/qopenglcontext.o .obj/qopenglwindow.o .obj/qbitmap.o .obj/qimage.o .obj/qimage_conversions.o .obj/qimageiohandler.o .obj/qimagereader.o .obj/qimagewriter.o .obj/qpaintengine_pic.o .obj/qpicture.o .obj/qpictureformatplugin.o .obj/qpixmap.o .obj/qpixmapcache.o .obj/qplatformpixmap.o .obj/qmovie.o .obj/qpixmap_raster.o .obj/qpixmap_blitter.o .obj/qnativeimage.o .obj/qimagepixmapcleanuphooks.o .obj/qicon.o .obj/qiconloader.o .obj/qiconengine.o .obj/qiconengineplugin.o .obj/qbmphandler.o .obj/qppmhandler.o .obj/qxbmhandler.o .obj/qxpmhandler.o .obj/qpnghandler.o .obj/qfont.o .obj/qfontengine.o .obj/qfontsubset.o .obj/qfontmetrics.o .obj/qfontdatabase.o .obj/qtextengine.o .obj/qtextlayout.o .obj/qtextformat.o .obj/qtextobject.o .obj/qtextoption.o .obj/qfragmentmap.o .obj/qtextdocument.o .obj/qtextdocument_p.o .obj/qtexthtmlparser.o .obj/qabstracttextdocumentlayout.o .obj/qtextdocumentlayout.o .obj/qtextcursor.o .obj/qtextdocumentfragment.o .obj/qtextimagehandler.o .obj/qtexttable.o .obj/qtextlist.o .obj/qtextdocumentwriter.o .obj/qsyntaxhighlighter.o .obj/qcssparser.o .obj/qzip.o .obj/qtextodfwriter.o .obj/qstatictext.o .obj/qrawfont.o .obj/qglyphrun.o .obj/qdistancefield.o .obj/qfontengine_qpf2.o .obj/qplatformfontdatabase.o .obj/qharfbuzzng.o .obj/qbackingstore.o .obj/qbezier.o .obj/qblendfunctions.o .obj/qblittable.o .obj/qbrush.o .obj/qcolor.o .obj/qcolor_p.o .obj/qcosmeticstroker.o .obj/qcssutil.o .obj/qdrawhelper.o .obj/qemulationpaintengine.o .obj/qgammatables.o .obj/qgrayraster.o .obj/qimagescale.o .obj/qmatrix.o .obj/qmemrotate.o .obj/qoutlinemapper.o .obj/qpagedpaintdevice.o .obj/qpagelayout.o .obj/qpagesize.o .obj/qpaintdevice.o .obj/qpaintengine.o .obj/qpaintengineex.o .obj/qpaintengine_blitter.o .obj/qpaintengine_raster.o .obj/qpainter.o .obj/qpainterpath.o .obj/qpathclipper.o .obj/qpdf.o .obj/qpdfwriter.o .obj/qpen.o .obj/qpolygon.o .obj/qrasterizer.o .obj/qregion.o .obj/qstroker.o .obj/qtextureglyphcache.o .obj/qtransform.o .obj/qplatformbackingstore.o .obj/qpathsimplifier.o .obj/qdesktopservices.o .obj/qvalidator.o .obj/qgridlayoutengine.o .obj/qabstractlayoutstyleinfo.o .obj/qlayoutpolicy.o .obj/qgenericmatrix.o .obj/qmatrix4x4.o .obj/qquaternion.o .obj/qvector2d.o .obj/qvector3d.o .obj/qvector4d.o .obj/qopengl.o .obj/qopenglfunctions.o .obj/qopenglframebufferobject.o .obj/qopenglpaintdevice.o .obj/qopenglbuffer.o .obj/qopenglshaderprogram.o .obj/qopenglgradientcache.o .obj/qopengltexturecache.o .obj/qopenglengineshadermanager.o .obj/qopengl2pexvertexarray.o .obj/qopenglpaintengine.o .obj/qopenglcustomshaderstage.o .obj/qtriangulatingstroker.o .obj/qopengltextureglyphcache.o .obj/qtriangulator.o .obj/qopenglversionfunctions.o .obj/qopenglversionfunctionsfactory.o .obj/qopenglvertexarrayobject.o .obj/qopengldebug.o .obj/qopengltextureblitter.o .obj/qopengltexture.o .obj/qopengltexturehelper.o .obj/qopenglpixeltransferoptions.o .obj/qopenglfunctions_1_0.o .obj/qopenglfunctions_1_1.o .obj/qopenglfunctions_1_2.o .obj/qopenglfunctions_1_3.o .obj/qopenglfunctions_1_4.o .obj/qopenglfunctions_1_5.o .obj/qopenglfunctions_2_0.o .obj/qopenglfunctions_2_1.o .obj/qopenglfunctions_3_0.o .obj/qopenglfunctions_3_1.o .obj/qopenglfunctions_3_2_core.o .obj/qopenglfunctions_3_3_core.o .obj/qopenglfunctions_4_0_core.o .obj/qopenglfunctions_4_1_core.o .obj/qopenglfunctions_4_2_core.o .obj/qopenglfunctions_4_3_core.o .obj/qopenglfunctions_4_4_core.o .obj/qopenglfunctions_4_5_core.o .obj/qopenglfunctions_3_2_compatibility.o .obj/qopenglfunctions_3_3_compatibility.o .obj/qopenglfunctions_4_0_compatibility.o .obj/qopenglfunctions_4_1_compatibility.o .obj/qopenglfunctions_4_2_compatibility.o .obj/qopenglfunctions_4_3_compatibility.o .obj/qopenglfunctions_4_4_compatibility.o .obj/qopenglfunctions_4_5_compatibility.o .obj/qopengltimerquery.o .obj/qguivariantanimation.o .obj/qstandarditemmodel.o .obj/qimage_sse2.o .obj/qdrawhelper_sse2.o .obj/moc_qaccessible.o .obj/moc_qaccessiblecache_p.o .obj/moc_qaccessibleplugin.o .obj/moc_qaccessiblebridge.o .obj/moc_qgenericplugin.o .obj/moc_qplatforminputcontext.o .obj/moc_qplatforminputcontextplugin_p.o .obj/moc_qplatformintegrationplugin.o .obj/moc_qplatformthemeplugin.o .obj/moc_qplatformnativeinterface.o .obj/moc_qplatformmenu.o .obj/moc_qshapedpixmapdndwindow_p.o .obj/moc_qoffscreensurface.o .obj/moc_qclipboard.o .obj/moc_qdrag.o .obj/moc_qdnd_p.o .obj/moc_qevent.o .obj/moc_qkeysequence.o .obj/moc_qkeymapper_p.o .obj/moc_qpalette.o .obj/moc_qsessionmanager.o .obj/moc_qscreen.o .obj/moc_qstylehints.o .obj/moc_qtouchdevice.o .obj/moc_qplatformsharedgraphicscache.o .obj/moc_qplatformdialoghelper.o .obj/moc_qpaintdevicewindow.o .obj/moc_qrasterwindow.o .obj/moc_qplatformgraphicsbuffer.o .obj/moc_qinputdevicemanager_p.o .obj/moc_qopenglcontext.o .obj/moc_qopenglwindow.o .obj/moc_qimageiohandler.o .obj/moc_qpictureformatplugin.o .obj/moc_qiconengineplugin.o .obj/moc_qfont.o .obj/moc_qfontdatabase.o .obj/moc_qtextformat.o .obj/moc_qtextobject.o .obj/moc_qtextdocument.o .obj/moc_qtextimagehandler_p.o .obj/moc_qtexttable.o .obj/moc_qtextlist.o .obj/moc_qbrush.o .obj/moc_qpainter.o .obj/moc_qpdfwriter.o .obj/moc_qplatformbackingstore.o .obj/moc_qvalidator.o .obj/moc_qopenglshaderprogram.o .obj/moc_qopenglengineshadermanager_p.o .obj/moc_qopengltimerquery.o -L/home/cybex/qt5-5-1/qt-everywhere-opensource-src-5.5.1/qtbase/lib -lQt5Core -lpthread -lpng -lqtharfbuzzng -lz -lGL
ln -s libQt5Gui.so.5.5.1 libQt5Gui.so
ln -s libQt5Gui.so.5.5.1 libQt5Gui.so.5
ln -s libQt5Gui.so.5.5.1 libQt5Gui.so.5.5
rm -f ../../lib/libQt5Gui.so.5.5.1
mv -f libQt5Gui.so.5.5.1 ../../lib/
rm -f ../../lib/libQt5Gui.so
rm -f ../../lib/libQt5Gui.so.5
rm -f ../../lib/libQt5Gui.so.5.5
mv -f libQt5Gui.so ../../lib/
mv -f libQt5Gui.so.5 ../../lib/
mv -f libQt5Gui.so.5.5 ../../lib/
make[3]: Leaving directory '/home/cybex/qt5-5-1/qt-everywhere-opensource-src-5.5.1/qtbase/src/gui'
make[2]: Leaving directory '/home/cybex/qt5-5-1/qt-everywhere-opensource-src-5.5.1/qtbase/src'
make[1]: *** [Makefile:46: sub-src-make_first] Error 2
make[1]: Leaving directory '/home/cybex/qt5-5-1/qt-everywhere-opensource-src-5.5.1/qtbase'
make: *** [Makefile:73: module-qtbase-make_first] Error 2
I left out most of the make output, but above is how it fails, any thoughts on this?
UPDATE 2
Thanks for taking the time to help #ssbssa. Here is the full output of the make -j 8 (compiling Qt 5.5.1)
https://raw.githubusercontent.com/cybex-dev/qt5.5.1-build_archlinux/master/qt5-build-output-all
Now you have many of these errors:
ssl/qsslcertificate_openssl.cpp: In function ‘uint qHash(const QSslCertificate&, uint)’:
ssl/qsslcertificate_openssl.cpp:63:30: error: invalid use of incomplete type ‘X509 {aka struct x509_st}’
return qHashBits(x509->sha1_hash, SHA_DIGEST_LENGTH, seed);
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../include/QtNetwork/5.5.1/QtNetwork/private/../../../../../src/network/ssl/qsslcontext_openssl_p.h:53,
from ../../include/QtNetwork/5.5.1/QtNetwork/private/qsslcontext_openssl_p.h:1,
from ssl/qsslsocket_p.h:55,
from ssl/qsslsocket_openssl_p.h:63,
from ssl/qsslsocket_openssl_symbols_p.h:64,
from ssl/qsslcertificate_openssl.cpp:35:
/usr/include/openssl/ossl_typ.h:119:16: note: forward declaration of ‘X509 {aka struct x509_st}’
typedef struct x509_st X509;
^~~~~~~
So you extracted openssl 1.0.2g into /opt/lib/openssl/, but there are other (newer?) openssl headers in /usr/include.
According to this answer, specifying you openssl header directory explicitely (add -I /opt/lib/openssl/include/openssl should solve this.
package: busybox
version: 1.23.2
when i make busybox , it produces unexpected results.
the crosschaintool i use is ARM/uClinux Toolchain arm-2010q1-189-arm- uclinuxeabi-i686-pc-linux-gnu,but i can't make the busybox,like this:
root#ubuntu:/busybox/busybox-1.23.2# make
SPLIT include/autoconf.h -> include/config/*
GEN include/bbconfigopts.h
HOSTCC applets/usage
applets/usage.c: In function ‘main’:
applets/usage.c:52:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
write(STDOUT_FILENO, usage_array[i].usage, strlen(usage_array[i].usage) + 1);
^
GEN include/usage_compressed.h
HOSTCC applets/applet_tables
applets/applet_tables.c: In function ‘main’:
applets/applet_tables.c:161:4: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(line_old, sizeof(line_old), fp);
^
GEN include/applet_tables.h
CC applets/applets.o
LD applets/built-in.o
HOSTCC applets/usage_pod
applets/usage_pod.c: In function ‘main’:
applets/usage_pod.c:74:3: warning: format not a string literal and no format arguments [-Wformat-security]
printf(usage_array[i].aname);
^
CC libbb/appletlib.o
CC libbb/vfork_daemon_rexec.o
AR libbb/lib.a
CC shell/hush.o
shell/hush.c: In function 'builtin_source':
shell/hush.c:8901: warning: 'sv.sv_g_malloced' may be used uninitialized in this function
shell/hush.c:8901: warning: 'sv.sv_g_argc' may be used uninitialized in this function
shell/hush.c:8901: warning: 'sv.sv_g_argv' may be used uninitialized in this function
shell/hush.c:8901: warning: 'sv.sv_argv0' may be used uninitialized in this function
AR shell/lib.a
LINK busybox_unstripped
Trying libraries: crypt m
Library crypt is not needed, excluding it
Library m is not needed, excluding it
Final link with: <none>
arm-uclinuxeabi-strip:busybox_unstripped: File format not recognized
Makefile:723: recipe for target 'busybox' failed
make: *** [busybox] Error 1
how should i do? is the busybox can't use the ARM/uClinux Toolchain? how should i do ?we'll really appreciate it if you can give us some advice and some pieces of guidance,thanks!
LINK busybox_unstripped Trying libraries: crypt m Library crypt
is not needed, excluding it Library m is not needed, excluding it
Final link with: arm-uclinuxeabi-strip:busybox_unstripped: File
format not recognized Makefile:723: recipe for target 'busybox' failed
make: *** [busybox] Error 1
As there is only a piece of the whole compiling log, some suggestions are:
1) Please check the compiling log from the beginning whether there are other important warnings or errors.
2) busybox_unstripped file is generated or not? Check the makefile dependencies to find out whether all dependencies files are successfully generated. From the log, some libraries are excluded so that you may have to check the busybox configuration file.
3) If busybox_unstripped file is generated, check the makefile about the link grammar of "Final link with:". For the cross-tool chain to link successfully, please make sure the link command is correct.
Good luck!
I am getting following error message while running my thread-sanitized executable. (I have used -fPIC and -fsanitized=thread flag at compilation , -fsanitize=thread -Wland '-pie' flag during executable time):
FATAL: ThreadSanitizer can not mmap the shadow memory (something is mapped at 0x2aab6c8a7000 < 0x7cf000000000)
FATAL: Make sure to compile with -fPIE and to link with -pie.
dmake: Error code 1, while making 'Shell escape'
However after going through this BugZilla link, I have checked /proc/sys/kernel/randomize_va_space and enabled randomization with value 2. I have also specified where to load PIE via a linker switch -Ttext-segment 0x855555000000.
Now I have no more FATAL error but I have encountered with new error message :
dmake: Error code 137, while making 'Shell escape'
I don't know where I am making mistake with flags. Any idea?
I'm trying to install OpenCV-2.4.9 on CentOS 7 (PC) however getting error after 16% when running "make" command. I leave default configuration for OpenCV.
make
...
[ 16%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_v4l.cpp.o /opt/opencv-2.4.9/opencv/modules/highgui/src/cap_v4l.cpp:306:29: error: field ‘capability’ has incomplete type
struct video_capability capability;
^ /opt/opencv-2.4.9/opencv/modules/highgui/src/cap_v4l.cpp:307:29: error: field ‘captureWindow’ has incomplete type
struct video_window captureWindow;
....
....
/opt/opencv-2.4.9/opencv/modules/highgui/src/cap_v4l.cpp: In function ‘void icvCloseCAM_V4L(CvCaptureCAM_V4L*)’:
/opt/opencv-2.4.9/opencv/modules/highgui/src/cap_v4l.cpp:2812:46: error: ‘CvCaptureCAM_V4L’ has no member named ‘memoryBuffer’
It seems that the define HAVE_CAMV4L has the value 1, if you look in the file modules/highgui/src/cap_v4l.cpp looking for the structure definition at the row 306. If the compilation fails at that point this means that the video4linux development configuration is corrupted.
Using google I have found that the OpenCV Bug #1357 is described as follow:
CHECK_INCLUDE_FILE(linux/videodev.h HAVE_CAMV4L) succeeds even though linux/videodev.h doesn't exist on the system. (Bug #1357)
http://code.opencv.org/issues/1357
Anyway the solution is described at the same URL for "HAVE_CAMV4L gets set incorrectly": "Setting it to FALSE in CMakeLists.txt fixes the problem".