ctosstool-ng build fails on cygwin for armv8-rpi3-linux-gnueabihf - cygwin

I am trying to build a arm RPI4 crosscompiler and toolchain on cygwin on windows 10 with ctosstool-ng-1.24.0
The process works fine generating a arm RPI4 toolchain from ubuntu 20.4 host but fails on windows 10
The Prebuilt Windows Toolchain for Raspberry Pi have gold linker issue that fails to resolve gtk-3 and gdk-3 dependencies libs on windows. so I am trying to see if a newly generated one will resolve the problem.
ctosstool-ng build fails on cygwin for armv8-rpi3-linux-gnueabihf consistently with a flurry of
[ERROR] /usr/include/sys/features.h:322:5: error: "_FORTIFY_SOURCE" is not defined, evaluates to 0 [-Werror=undef]
followed by
[EXTRA] Installing C library start files
[ERROR] ../include/link.h:43:57: error: unknown type name 'Lmid_t'; did you mean 'pid_t'?
[ERROR] ../sysdeps/posix/dl-fileid.h:27:5: error: unknown type name 'ino64_t'
[ERROR] ../sysdeps/posix/dl-fileid.h:35:17: error: storage size of 'st' isn't known
[ERROR] ../sysdeps/posix/dl-fileid.h:37:37: error: '_STAT_VER' undeclared (first use in this function)
[ERROR] /usr/include/cygwin/core_dump.h:19:10: fatal error: windows.h: No such file or directory
[ERROR] /usr/include/cygwin/core_dump.h:19:10: fatal error: windows.h: No such file or directory
[ERROR] make[3]: *** [../Makerules:287: /cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/tlsdesc.h] Error 1
[ERROR] make[3]: *** Waiting for unfinished jobs....
[ERROR] make[3]: *** [../Makerules:287: /cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/tcb-offsets.h] Error 1
[ERROR] /usr/include/cygwin/core_dump.h:19:10: fatal error: windows.h: No such file or directory
[ERROR] make[3]: *** [../Makerules:287: /cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/rtld-global-offsets.h] Error 1
[ERROR] make[2]: *** [Makefile:258: csu/subdir_lib] Error 2
[ERROR] make[1]: *** [Makefile:9: csu/subdir_lib] Error 2
[ERROR] /
[ERROR] >>
[ERROR] >> Build failed in step 'Building for multilib 1/1: '''
[ERROR] >> called in step 'Installing C library headers & start files'
[ERROR] >> called in step '(top-level)'
[ERROR] >>
[ERROR] >> Error happened in: CT_DoExecLog[scripts/functions#376]
[ERROR] >> called from: glibc_backend_once[scripts/build/libc/glibc.sh#374]
[ERROR] >> called from: CT_IterateMultilibs[scripts/functions#1586]
[ERROR] >> called from: glibc_backend[scripts/build/libc/glibc.sh#74]
[ERROR] >> called from: glibc_start_files[scripts/build/libc/glibc.sh#38]
[ERROR] >> called from: do_libc_start_files[scripts/build/libc.sh#28]
[ERROR] >> called from: main[scripts/crosstool-NG.sh#696]
[ERROR] >>
[ERROR] >> For more info on this error, look at the file: 'build.log'
[ERROR] >> There is a list of known issues, some with workarounds, in:
[ERROR] >> https://crosstool-ng.github.io/docs/known-issues/
[ERROR] >>
[ERROR] >> If you feel this is a bug in crosstool-NG, report it at:
[ERROR] >> https://github.com/crosstool-ng/crosstool-ng/issues/
[ERROR] >>
[ERROR] >> Make sure your report includes all the information pertinent to this issue.
[ERROR] >> Read the bug reporting guidelines here:
[ERROR] >> http://crosstool-ng.github.io/support/
[ERROR] /
[ERROR] (elapsed: 130:50.55)
[131:02] / make: *** [ct-ng:261: build] Error 2
I have tried cygwin gcc version 9.3 and 11.3 and also, under menuconfig, glib2.28 and glib2.24. All of them fail at the "libc_start_files" step after installing kernel_headers.
Steps followed from :
$ ../configure --prefix=<install-dir>
$ make
$ make install
$ ./ct-ng armv8-rpi3-linux-gnueabihf
$ ./ct-ng menuconfig (choose glib 2.28)
$ ./ct-ng build
Link to : build logs .config make and make-install logs
If anyone has else succeeded on building this on windows host please share your steps/configuration.
===[UPDATE 1] ===
It looks like c:/cygwin64//usr/include cygwin env is being included in the compiler options. I located ac_cv_env_CPPFLAGS_value=-Ic:/cygwin64//usr/include in build/build-libc-startfiles/multilib/config.cache. But not sure if thats the one causing linux files into cygwin64 includes.
gawk -f ../scripts/gen-as-const.awk ../sysdeps/arm/tlsdesc.sym |
arm-unknown-linux-gnueabihf-gcc -O2 -D_FORTIFY_SOURCE=0
-mlittle-endian -mcpu=cortex-a53 -mfpu=neon-vfpv4 -mhard-float
-S -o /cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/tlsdesc.hT3
-std=gnu11 -fgnu89-inline -O2 -Wall -Wundef -Wwrite-strings
-fmerge-all-constants -fno-stack-protector -frounding-math -g
-Wstrict-prototypes -Wold-style-definition -fno-math-errno
-ftls-model=initial-exec
-U_FORTIFY_SOURCE -Ic:/cygwin64//usr/include
< rest pf of the includes are from under the .build dir >
... -I.. -I../libio -I. -nostdinc -isystem ....
-DTOP_NAMESPACE=glibc -DGEN_AS_CONST_HEADERS -x c -
-MD -MP -MF /cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/tlsdesc.h.dT
-MT '/cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/tlsdesc.h.d
/cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/tlsdesc.h'
Also its not clear how these propagate from the root build directory into the component build/compiler options.
Any suggestion to track/debug the compiler options will be most helpful.
===
Has anyone encountered these errors?
What could be causing them?
Please share any experience you have on the above.

Related

Qt 5.5.1 compiling on Archlinux results with error: this use of "defined" may not be portable [-Wexpansion-to-defined]

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.

Unable to run vlc-android on simulator/device

I am following the below url link to compile and run vlc-android
https://wiki.videolan.org/AndroidCompile/
I can create the apk via "Generate Signed APK" from Android Studio.
But when I want to run it on the simulator or a connected device I get the following error.
Error log:
Information:Gradle tasks [:vlc-android:assembleChromeARMv5Debug]
:libvlc:buildDebugARMv5
For an ARMv6 device without FPU:
use "-a armeabi-nofpu"
For an ARMv5 device:
use "-a armeabi-v5"
ABI: armeabi
API: android-9
SYSROOT: /Users/ashishkumarpatel/android-ndk-r10e/platforms/android-9/arch-arm
FPU: NO
ARMv5: YES
PATH: /Users/ashishkumarpatel/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin:/usr/bin:/bin:/usr/sbin:/sbin
CFLAGS: -g -O2 -fstrict-aliasing -funsafe-math-optimizations -mlong-calls
EXTRA_CFLAGS: -march=armv5te -mtune=arm9tdmi -msoft-float -I/Users/ashishkumarpatel/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.8/include -I/Users/ashishkumarpatel/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include
./compile-libvlc.sh: line 413: cd: vlc: No such file or directory
Building tools
./compile-libvlc.sh: line 421: cd: extras/tools: No such file or directory
./compile-libvlc.sh: line 422: ./bootstrap: No such file or directory
buildsystem tools: bootstrap failed
:libvlc:buildDebugARMv5 FAILED
Error:Execution failed for task ':libvlc:buildDebugARMv5'.
Error message:
Process 'command './compile-libvlc.sh'' finished with non-zero exit value 1
Information:BUILD FAILED
Information:Total time: 1.162 secs
Information:1 error
Information:0 warnings
Information:See complete output in console

'fatal error: linux/compiler-gcc5.h: No such file or directory' during bitbake

I am attempting to run bitbake on a recipe with a non-yocto custom source. Using a linux-yocto source works fine, but when I attempt to use the linux-yocto-custom skeleton file provided by the yocto project files, I run into problems.
My file structure looks a little like this:
meta-test
|
.
.
.
+--recipes-kernel/
|
+--linux/
|
+--linux-yocto-custom_3.16.bb
+--linux-yocto-custom/
|
+--defconfig
Here's my modified skeleton file (linux-yocto-custom_3.16.bb):
inherit kernel
require recipes-kernel/linux/linux-yocto.inc
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;nocheckout=1;name=machine"
SRC_URI += "file://defconfig"
LINUX_VERSION ?= "3.16"
LINUX_VERSION_EXTENSION_append = "-custom"
SRCREV_test="19583ca584d6f574384e17fe7613dfaeadcdc4a6"
PV = "${LINUX_VERSION}+git${SRCPV}"
COMPATIBLE_MACHINE = "test"
Here's the error log:
DEBUG: Executing shell function do_compile
NOTE: make -j 4 bzImage CC=i586-poky-linux-gcc -fuse-ld=bfd LD=i586-poky-linux-ld.bfd
make[1]: Entering directory `/home/me/poky/build/tmp/work/test-poky-linux/linux-yocto-custom/3.16+gitAUTOINC+19583ca584-r0/linux-test-standard-build'
GEN ./Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
SYSTBL arch/x86/syscalls/../include/generated/asm/syscalls_32.h
SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_32.h
CHK include/config/kernel.release
SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_64.h
UPD include/config/kernel.release
SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_x32.h
GEN ./Makefile
WRAP arch/x86/include/generated/asm/clkdev.h
WRAP arch/x86/include/generated/asm/early_ioremap.h
WRAP arch/x86/include/generated/asm/cputime.h
WRAP arch/x86/include/generated/asm/mcs_spinlock.h
CHK include/generated/uapi/linux/version.h
UPD include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
UPD include/generated/utsrelease.h
HOSTCC scripts/kallsyms
HOSTCC scripts/pnmtologo
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
CC scripts/mod/devicetable-offsets.s
In file included from /home/me/poky/build/tmp/work-shared/test/kernel-source/include/linux/compiler.h:54:0,
from /home/me/poky/build/tmp/work-shared/test/kernel-source/include/uapi/linux/stddef.h:1,
from /home/me/poky/build/tmp/work-shared/test/kernel-source/include/linux/stddef.h:4,
from /home/me/poky/build/tmp/work-shared/test/kernel-source/include/uapi/linux/posix_types.h:4,
from /home/me/poky/build/tmp/work-shared/test/kernel-source/include/uapi/linux/types.h:13,
from /home/me/poky/build/tmp/work-shared/test/kernel-source/include/linux/types.h:5,
from /home/me/poky/build/tmp/work-shared/test/kernel-source/include/linux/mod_devicetable.h:11,
from /home/me/poky/build/tmp/work-shared/test/kernel-source/scripts/mod/devicetable-offsets.c:2:
/home/me/poky/build/tmp/work-shared/test/kernel-source/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
compilation terminated.
make[4]: *** [scripts/mod/devicetable-offsets.s] Error 1
make[3]: *** [scripts/mod] Error 2
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [scripts] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [sub-make] Error 2
make: *** [__sub-make] Error 2
WARNING: /home/me/poky/build/tmp/work/test-poky-linux/linux-yocto-custom/3.16+gitAUTOINC+19583ca584-r0/temp/run.do_compile.32722:1 exit 1 from
exit 1
ERROR: oe_runmake failed
ERROR: Function failed: do_compile (log file is located at /home/me/poky/build/tmp/work/test-poky-linux/linux-yocto-custom/3.16+gitAUTOINC+19583ca584-r0/temp/log.do_compile.32722)
I believe the most relevant portion is this part of the above log:
compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
I'm really stumped because a file is generated during the build 'compiler-gcc5.h' at location build/tmp/work/test-poky-linux/core-image-test/1.0-r0/rootfs/usr/src/kernel/include/linux/compiler-gcc5.h. What's going on here? It seems to me that this header file's being requested before being fetched but I don't know how to fix that.
As you're fetching the kernel directly from Linus' tree, the 3.16 version does not support building with gcc5.
If you change to instead fetch from git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git, i.e. the stable tree, and change to v3.16.7:
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;protocol=git;nocheckout=1;name=machine;branch=linux-3.16.y"
SRCREV_test = "d0335e4feea0d3f7a8af3116c5dc166239da7521"
then you should be able to build the kernel without any issue.

Cross Compiling on OSX to Raspberry Pi

I am trying to configure an environment on my osx machine that will allow me to cross compile arm6 applications for the Raspberry Pi. I seem to be runnning into a wall when it comes to setting up the toolchain. I am using crosstool-ng and am following multiple guides on setup but my issue comes down to when running the ct-ng build command.
Once I run this command everything seems to be running fine until I get to trying to build the binutils. Once it reaches this depenency it will eventually fail no mater what I do.
This is the ouput that I am seeing:
[INFO ] Installing binutils for host
[EXTRA] Configuring binutils
[EXTRA] Building binutils
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:51:72: error: use of undeclared identifier 'do_not_use_isalnum_with_safe_ctype'
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:59:72: error: use of undeclared identifier 'do_not_use_isalpha_with_safe_ctype'
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:75:72: error: use of undeclared identifier 'do_not_use_iscntrl_with_safe_ctype'
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:83:72: error: use of undeclared identifier 'do_not_use_isdigit_with_safe_ctype'
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:91:72: error: use of undeclared identifier 'do_not_use_isgraph_with_safe_ctype'
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:99:72: error: use of undeclared identifier 'do_not_use_islower_with_safe_ctype'
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:107:72: error: use of undeclared identifier 'do_not_use_isprint_with_safe_ctype'
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:115:72: error: use of undeclared identifier 'do_not_use_ispunct_with_safe_ctype'
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:123:72: error: use of undeclared identifier 'do_not_use_isspace_with_safe_ctype'
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:131:72: error: use of undeclared identifier 'do_not_use_isupper_with_safe_ctype'
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:139:73: error: use of undeclared identifier 'do_not_use_isxdigit_with_safe_ctype'
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:147:72: error: use of undeclared identifier 'do_not_use_tolower_with_safe_ctype'
[ERROR] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:155:72: error: use of undeclared identifier 'do_not_use_toupper_with_safe_ctype'
[ERROR] make[5]: *** [binary.o] Error 1
[ERROR] make[4]: *** [all-recursive] Error 1
[ERROR] make[3]: *** [all] Error 2
[ERROR] make[2]: *** [all-gold] Error 2
[ERROR] make[1]: *** [all] Error 2
[ERROR]
[ERROR] >>
[ERROR] >> Build failed in step 'Installing binutils for host'
[ERROR] >> called in step '(top-level)'
[ERROR] >>
[ERROR] >> Error happened in: CT_DoExecLog[scripts/functions#216]
[ERROR] >> called from: do_binutils_backend[scripts/build/binutils/binutils.sh#236]
[ERROR] >> called from: do_binutils_for_host[scripts/build/binutils/binutils.sh#101]
[ERROR] >> called from: main[scripts/crosstool-NG.sh#638]
[ERROR] >>
[ERROR] >> For more info on this error, look at the file: 'build.log'
[ERROR] >> There is a list of known issues, some with workarounds, in:
[ERROR] >> '/usr/local/Cellar/crosstool-ng/1.21.0/share/doc/crosstool-ng/ct-ng.1.21.0/B - Known issues.txt'
[ERROR]
[ERROR] (elapsed: 5:11.00)
[05:12] / make: *** [build] Error 1
If anyone has ran into this issue and knows how to fix it. It would be much appreciated. Trying to build from source on the Pi (Model A+ has proven pretty tough as it will eventually crash)
Thank you.
Gold linker cannot be compiled on Clang 6-7 for now. You should be able to proceed if the linker is disabled via ct-ng menuconfig in Binary Utilities - Linkers to enable.

Crosstool-ng python error

I recently trying to compile crosstool-ng for my arm board.
The host is Arch linux 3.9.4-1.
I ran into these following issues:
[ALL ] checking for python... /usr/bin/python
[ALL ] File "/home/godard_b/workspace/raspberry_pi/staging/.build/src/gdb-7.4.1/gdb/python/python-config.py", line 47
[ALL ] print to_unix_path(sysconfig.PREFIX)
[ALL ] ^
[ALL ] SyntaxError: invalid syntax
[ERROR] configure: error: failure running python-config --includes
[ERROR] make[2]: *** [configure-gdb] Error 1
[ALL ] make[2]: Leaving directory `/home/godard_b/workspace/raspberry_pi/staging/.build/arm-unknown-linux-gnueabi/build/build-gdb-cross'
[ERROR] make[1]: *** [all] Error 2
[ALL ] make[1]: Leaving directory `/home/godard_b/workspace/raspberry_pi/staging/.build/arm-unknown-linux-gnueabi/build/build-gdb-cross'
[ERROR]
[ERROR] >>
[ERROR] >> Build failed in step 'Installing cross-gdb'
[ERROR] >> called in step '(top-level)'
[ERROR] >>
[ERROR] >> Error happened in: CT_DoExecLog[scripts/functions#258]
[ERROR] >> called from: do_debug_gdb_build[scripts/build/debug/300-gdb.sh#177]
[ERROR] >> called from: do_debug[scripts/build/debug.sh#35]
[ERROR] >> called from: main[scripts/crosstool-NG.sh#609]
[ERROR] >>
[ERROR] >> For more info on this error, look at the file: 'build.log'
[ERROR] >> There is a list of known issues, some with workarounds, in:
[ERROR] >> '/usr/share/doc/crosstool-ng/ct-ng.1.17.0/B - Known issues.txt'
[ERROR]
[ERROR] (elapsed: 132:05.60)
When I run :
python-config --include
it just work fine, so I'm wondering where the problem could be.
Thanks for your help.
I had the same issue, the problem is here:
[ALL ] print to_unix_path(sysconfig.PREFIX)
[ALL ] ^
[ALL ] SyntaxError: invalid syntax
Which means that it's using Python 3 instead of Python 2, probably because python points to python3 (Which is the default in Arch)k
To fix this issue, just make a new directory (I made one called bin on home) and make two symbolic links named python and python-config pointing at python2 and python2-config:
mkdir ~/bin
ln -s /bin/python2 ~/bin/python
ln -s /bin/python2-config ~/bin/python-config
Now try once again to build crosstool-ng adding the dir with python linking at python2 at the beginning of your PATH:
PATH=$HOME/bin:$PATH crosstool-ng build
Sources:
https://wiki.archlinux.org/index.php/Python

Resources