rpmbuild hp-be2net emulex driver - linux

i am trying to do an rpmbuild for HP DL360 G7 Emulex driver from HP on centos 6.3
but it fails with this error.. any ideas?
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd hp-be2net-4.1.402.6
+ LANG=C
+ export LANG
+ unset DISPLAY
+ export 'EXTRA_CFLAGS=-DVERSION=\"4.1.402.6\"'
+ EXTRA_CFLAGS='-DVERSION=\"4.1.402.6\"'
+ for flavor in default
+ rm -rf obj/default
+ cp -r source obj/default
+ export SRC=/root/rpmbuild/BUILD/hp-be2net-4.1.402.6/obj/default
+ SRC=/root/rpmbuild/BUILD/hp-be2net-4.1.402.6/obj/default
++ '[' default = default ']'
+ make -C /usr/src/kernels/2.6.32-279.1.1.el6.centos.plus.x86_64 modules M=/root/rpmbuild/BUILD/hp-be2net-4.1.402.6/obj/default CONFIG_BE2NET=m
make: Entering directory `/usr/src/kernels/2.6.32-279.1.1.el6.centos.plus.x86_64'
CC [M] /root/rpmbuild/BUILD/hp-be2net-4.1.402.6/obj/default/be_main.o
/root/rpmbuild/BUILD/hp-be2net-4.1.402.6/obj/default/be_main.c: In function 'get_rx_page_info':
/root/rpmbuild/BUILD/hp-be2net-4.1.402.6/obj/default/be_main.c:1279: error: 'struct be_rx_page_info' has no member named 'bus'
/root/rpmbuild/BUILD/hp-be2net-4.1.402.6/obj/default/be_main.c: In function 'be_post_rx_frags':
/root/rpmbuild/BUILD/hp-be2net-4.1.402.6/obj/default/be_main.c:1679: error: 'struct be_rx_page_info' has no member named 'bus'
make[1]: *** [/root/rpmbuild/BUILD/hp-be2net-4.1.402.6/obj/default/be_main.o] Error 1
make: *** [_module_/root/rpmbuild/BUILD/hp-be2net-4.1.402.6/obj/default] Error 2
make: Leaving directory `/usr/src/kernels/2.6.32-279.1.1.el6.centos.plus.x86_64'
error: Bad exit status from /var/tmp/rpm-tmp.R3DzsV (%build)

I ran into the same problem. HP has not provided me with a resolution yet so I started looking around for other possible solutions. I found that Emulex (the manufacturer of the card) provides a binary driver compatible with RHEL 6.2 that seems to load fine in RHEL 6.3.
Look for UCNA Ethernet Driver - Binary Driver RPM Kit
http://www.emulex.com/downloads/emulex/linux/rhel6x/drivers.html

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.

Yocto build error for python and qt5

I'm getting below yocto build error and I'm not sure what is the problem.
I am trying to build yocto for my warpx board. Able to build headless image but not headfull.
Can you please anyone point out any issue ?
I have used yocto krogoth version with freescal platform bsp.
These are the commands I followed.
repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b krogoth
repo sync
cd sources
git clone https://github.com/Kynetics/meta-warpx.git
cd meta-warpx
git checkout krogoth
cd ..
git clone https://github.com/meta-qt5/meta-qt5.git
cd meta-qt5
git checkout krogoth
cd ..
git clone https://github.com/sbabic/meta-swupdate.git
cd meta-swupdate
git checkout krogoth
cd ../../
cp -rf sources/meta-warpx/first-setup/setup-warpx-warp .
source setup-warpx-warp
ACCEPT the terms here (say 'y')
Now we are in "~/yocto/build-warpx-warp" location.
cp -rf ../sources/meta-warpx/first-setup/local.conf.sample conf/local.conf
cp -rf ../sources/meta-warpx/first-setup/bblayers.conf conf/
bitbake warpx-headfull-image-sdk
titus#titusPC:~/workdir/Titus/yocto/build-warpx-warp$ bitbake warpx-headfull-image
WARNING: Host distribution "Ubuntu-16.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |################################################################| ETA: 00:00:00
Loaded 2562 entries from dependency cache.
Parsing recipes: 100% |##############################################################| Time: 00:00:00
Parsing of 1997 .bb files complete (1996 cached, 1 parsed). 2562 targets, 192 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.30.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "warp"
DISTRO = "poky"
DISTRO_VERSION = "2.1.3"
TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
TARGET_FPU = "hard"
meta
meta-poky = "HEAD:3565a9697f53ba975a1b7235b802f659418746c3"
meta-oe
meta-multimedia
meta-networking
meta-python = "krogoth:55c8a76da5dc099a7bc3838495c672140cedb78e"
meta-fsl-arm = "HEAD:e2254e7b2ded0c2b66b1226f879b3a6d52037b2d"
meta-fsl-arm-extra = "HEAD:2c28e636ec15c2cfd49bc9cebe0bbbcfde95bc7b"
meta-qt5 = "krogoth:1100037b9becaaa5749602bca9d63693119c4585"
meta-warpx = "krogoth:b2110ade3cd53f3b98a8f057d508c075b4d691e2"
meta-swupdate = "krogoth:712d4aee92ea3a23952a3e7fb812e5c4df7492ec"
NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: python-pyqt-5.3.1-r1 do_generate: Error calling sip on QtCore
ERROR: python-pyqt-5.3.1-r1 do_generate: Function failed: do_generate (log file is located at /home/titus/workdir/Titus/yocto/build-warpx-warp/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/python-pyqt/5.3.1-r1/temp/log.do_generate.2080)
ERROR: Logfile of failure stored in: /home/titus/workdir/Titus/yocto/build-warpx-warp/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/python-pyqt/5.3.1-r1/temp/log.do_generate.2080
Log data follows:
| DEBUG: Executing shell function do_generate
| NOTE: using modules 'QtCore QtGui QtQml QtQuick QtSvg QtWebKit QtWidgets QtOpenGL QtXmlPatterns' and tags '-tWS_X11 -tQt_5_3_1 -xVendorID -xPyQt_Accessibility -xPyQt_Desktop_OpenGL -xPyQt_SessionManager'
| calling 'sip4 -I sip -I /home/titus/workdir/Titus/yocto/build-warpx-warp/tmp/sysroots/x86_64-linux/usr/share/sip -tWS_X11 -tQt_5_3_1 -xVendorID -xPyQt_Accessibility -xPyQt_Desktop_OpenGL -xPyQt_SessionManager -c QtCore -b QtCore/QtCore.pro.in sip/QtCore/QtCoremod.sip'
| /home/titus/workdir/Titus/yocto/build-warpx-warp/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/python-pyqt/5.3.1-r1/temp/run.do_generate.2080: 137: /home/titus/workdir/Titus/yocto/build-warpx-warp/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/python-pyqt/5.3.1-r1/temp/run.do_generate.2080: sip4: not found
| WARNING: exit code 1 from a shell command.
| ERROR: Error calling sip on QtCore
| ERROR: Function failed: do_generate (log file is located at /home/titus/workdir/Titus/yocto/build-warpx-warp/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/python-pyqt/5.3.1-r1/temp/log.do_generate.2080)
ERROR: Task 3512 (/home/titus/workdir/Titus/yocto/sources/meta-warpx/recipes-devtools/python/python-pyqt_5.3.1.bb, do_generate) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3319 tasks of which 2678 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:
Summary: 1 task failed:
/home/titus/workdir/Titus/yocto/sources/meta-warpx/recipes-devtools/python/python-pyqt_5.3.1.bb, do_generate
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
titus#titusPC:~/workdir/Titus/yocto/build-warpx-warp$
Its seems to doesn't have the sip recipe in your yocto source.
python-pyqt depends on sip add the sip recipe and compile again.

Linux Kernel out of tree Driver Compilation failed with BUILD_BUG_ON_ZERO

On a Raspberry Pi 3, I am compiling a custom Linux Kernel and want to include an open source software PWM kernel driver.
I cloned the following repository for the Linux source:
https://github.com/raspberrypi/linux.git
I cloned the following repository for the Software PWM:
https://github.com/dagon666/rpi_SoftPwm
After successfully building the kernel, I compile the software PWM driver per the README like this:
pi#raspberrypi:~/Desktop/rpi_SoftPwm $ make M=/home/pi/Desktop/rpi_SoftPwm -C /home/pi/linux/ modules
The compilation fails with the error below:
make: Entering directory '/home/pi/linux'
CC [M] /home/pi/Desktop/rpi_SoftPwm/pwm.o
In file included from ./include/linux/thread_info.h:11:0,
from ./include/asm-generic/preempt.h:4,
from ./arch/arm/include/generated/asm/preempt.h:1,
from ./include/linux/preempt.h:59,
from ./include/linux/spinlock.h:50,
from ./include/linux/seqlock.h:35,
from ./include/linux/time.h:5,
from ./include/linux/stat.h:18,
from ./include/linux/module.h:10,
from /home/pi/Desktop/rpi_SoftPwm/pwm.c:2:
./include/linux/bug.h:37:45: error: negative width in bit-field ‘<anonymous>’
#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
^
./include/linux/kernel.h:854:3: note: in expansion of macro ‘BUILD_BUG_ON_ZERO’
BUILD_BUG_ON_ZERO((perms) & 2) + \
^
./include/linux/sysfs.h:102:12: note: in expansion of macro ‘VERIFY_OCTAL_PERMISSIONS’
.mode = VERIFY_OCTAL_PERMISSIONS(_mode) }, \
^
/home/pi/Desktop/rpi_SoftPwm/pwm.c:155:2: note: in expansion of macro ‘__ATTR’
__ATTR(export, 0222, NULL, export_store),
^
./include/linux/bug.h:37:45: error: negative width in bit-field ‘<anonymous>’
#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
^
./include/linux/kernel.h:854:3: note: in expansion of macro ‘BUILD_BUG_ON_ZERO’
BUILD_BUG_ON_ZERO((perms) & 2) + \
^
./include/linux/sysfs.h:102:12: note: in expansion of macro ‘VERIFY_OCTAL_PERMISSIONS’
.mode = VERIFY_OCTAL_PERMISSIONS(_mode) }, \
^
/home/pi/Desktop/rpi_SoftPwm/pwm.c:156:2: note: in expansion of macro ‘__ATTR’
__ATTR(unexport, 0222, NULL, unexport_store),
^
scripts/Makefile.build:299: recipe for target '/home/pi/Desktop/rpi_SoftPwm/pwm.o' failed
make[1]: *** [/home/pi/Desktop/rpi_SoftPwm/pwm.o] Error 1
Makefile:1490: recipe for target '_module_/home/pi/Desktop/rpi_SoftPwm' failed
make: *** [_module_/home/pi/Desktop/rpi_SoftPwm] Error 2
make: Leaving directory '/home/pi/linux'
I've tried to research this on Google and have not seen a solution. The failure has to do with the __ATTR macro. This used to compile with the older Linux Kernel 3.19, however now Raspbian is up to Linux 4+.
How can I get this to compile? Thanks.
Linux kernel developers tend to create attributes (files under /sys) non-writable for non-root users. This is what macro VERIFY_OCTAL_PERMISSIONS checks: permissions shouldn't have flag S_IWOTH (second bit) set.
Replace permissions 0222 to 0220, so compilation will succeed.

'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.

What is the replacement of i_blksize member in struct inode?

I am compiling a stackable filesystem wrapfs and i got an error regardign missing member i_blksize in struct inode datastructure ? I looked up and found that after kernel version 2.6 it has been modified significantly and i_blksize has been removed. What is the replacement for that member ?
kunal#Baweja:~/Documents/wrapfs$ make
make -C /lib/modules/3.13.0-40-generic/build SUBDIRS=/home/kunal/Documents/wrapfs modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-40-generic'
CC [M] /home/kunal/Documents/wrapfs/fist_wrapfs.o
In file included from /home/kunal/Documents/wrapfs/fist_wrapfs.c:15:0:
/home/kunal/Documents/wrapfs/wrapfs.h: In function ‘fist_copy_attr_all’:
/home/kunal/Documents/wrapfs/wrapfs.h:203:6: error: ‘inode_t’ has no member named ‘i_blksize’
dest->i_blksize = src->i_blksize;
^
/home/kunal/Documents/wrapfs/wrapfs.h:203:23: error: ‘inode_t’ has no member named ‘i_blksize’
dest->i_blksize = src->i_blksize;
^
make[2]: *** [/home/kunal/Documents/wrapfs/fist_wrapfs.o] Error 1
make[1]: *** [_module_/home/kunal/Documents/wrapfs] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-40-generic'
make: *** [all] Error 2
Looks like it was an unnecessary duplicate
inode->i_blksize == (1 << inode->i_blkbits)
Check-out this mailing thread

Resources