Closed ghost closed 7 years ago
Development is slowed down currently because of lots of work at my real job. But I will speed up again in few month.
You are right, the documentation is not very good at the point, which file to patch. Use this one: BuildTools/SCons/SConstruct
I get this Error SailfishOSSDK-Beta-1701-1
CXX Swiften/Session/SessionStream.o CXX Swiften/Session/BasicSessionStream.o CXX Swiften/Session/BOSHSessionStream.o armv7hl-meego-linux-gnueabi-g++: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See http://bugs.merproject.org/ for instructions. scons: *** [Swiften/Session/BOSHSessionStream.o] Error 4 scons: building terminated because of errors.
That's an error from the MER virtual machine. Increase memory (RAM) of the VM to 4 GB and try again.
thanks you very much.. i will try.
Warning: Qt installation is missing packages. The following are required: Qt5Core Qt5WebKit Qt5Gui Qt5Widgets Qt5WebKitWidgets Qt5Multimedia Qt5X11Extras Qt5DBus Qt5Network
Projects: Limber Swiften Sluift
XML Parsers: Expat TLS Support: OpenSSL DNSSD Support: Disabled
scons: done reading SConscript files. scons: Building targets ... CC 3rdParty/LibMiniUPnPc/src/miniupnpc/miniupnpc.o 3rdParty/LibMiniUPnPc/src/miniupnpc/miniupnpc.c:77:8: error: redefinition of 'struct ip_mreqn' struct ip_mreqn ^ In file included from /usr/include/netinet/in.h:37:0, from 3rdParty/LibMiniUPnPc/src/miniupnpc/miniupnpc.c:55: /usr/include/bits/in.h:119:8: note: originally defined here struct ip_mreqn ^ scons: *** [3rdParty/LibMiniUPnPc/src/miniupnpc/miniupnpc.o] Error 1 scons: building terminated because of errors.
That error I only got one time. On following new builds with fresh source trees, I never run into this problem again.
Comment out the complete struct ip_mreqn in 3rdParty/LibMiniUPnPc/src/miniupnpc/miniupnpc.c:77
i get this error with fresh source trees , also i did this > 3rdParty/LibMiniUPnPc/src/miniupnpc/miniupnpc.c:77 #struct ip_mreqn
CC 3rdParty/LibIDN/src/gl/c-strcasecmp.o CC 3rdParty/LibIDN/src/gl/c-strncasecmp.o CC 3rdParty/LibIDN/src/gl/unistr/u8-check.o CC 3rdParty/LibMiniUPnPc/src/miniupnpc/igd_desc_parse.o CC 3rdParty/LibMiniUPnPc/src/miniupnpc/miniupnpc.o 3rdParty/LibMiniUPnPc/src/miniupnpc/miniupnpc.c:77:2: error: invalid preprocessing directive #struct
^ 3rdParty/LibMiniUPnPc/src/miniupnpc/miniupnpc.c:78:1: error: expected identifier or '(' before '{' token { ^ scons: *** [3rdParty/LibMiniUPnPc/src/miniupnpc/miniupnpc.o] Error 1 scons: building terminated because of errors.
All the help is much appreciated = )
Make sure your commented code looks like this:
//struct ip_mreqn
//{
// struct in_addr imr_multiaddr; /* IP multicast address of group */
// struct in_addr imr_address; /* local IP address of interface */
// int imr_ifindex; /* Interface index */
//};
ok i get SUCCESS build on scons = ) but what is the next ? [mersdk@SailfishSDK harbour-shmoose]$ mb2 -t SailfishOS-armv7hl build
Building target platforms: armv7hl-meego-linux Building for target armv7hl-meego-linux Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.t5RrPI
^
compilation terminated. make: [Shmoose.o] Error 1 make: Waiting for unfinished jobs.... source/main.cpp:11:46: fatal error: Swiften/EventLoop/Qt/QtEventLoop.h: No such file or directory
^
compilation terminated. make: *** [main.o] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.t5RrPI (%build)
RPM build errors: Bad exit status from /var/tmp/rpm-tmp.t5RrPI (%build) [mersdk@SailfishSDK harbour-shmoose]$
[mersdk@SailfishSDK harbour-shmoose]$ mb2 -t SailfishOS-armv7hl build Swiften
Building target platforms: armv7hl-meego-linux Building for target armv7hl-meego-linux Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.RRkoHg
^
compilation terminated. make: [Shmoose.o] Error 1 make: Waiting for unfinished jobs.... In file included from source/main.cpp:11:0: ./Swiften/EventLoop/Qt/QtEventLoop.h:9:28: fatal error: boost/thread.hpp: No such file or directory
^
compilation terminated. make: *** [main.o] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.RRkoHg (%build)
RPM build errors: Bad exit status from /var/tmp/rpm-tmp.RRkoHg (%build) [mersdk@SailfishSDK harbour-shmoose]$
Move the swift folder back to its original location. Then make sure the path to swift in the shmosse.pro file reflacts your setup. I did a host x86 and arm build of the swift library. The path in the original pro file may be different then in you locale configuration.
.
Note: i rename swift-3.0 main name folder,to swift-3.0-arm same as you have it to movil
-lQt5Sql -lQt5Xml -lQt5Concurrent -lQt5Core -lGLESv2 -lpthread /opt/cross/bin/armv7hl-meego-linux-gnueabi-ld: ../swift-3.0-arm/Swiften/libSwiften.a(CoreClient.o): relocation R_ARM_THM_MOVW_ABS_NC against `_ZN5Swift10CoreClient21handleMessageReceivedEN5boost10shared_ptrINS_7MessageEEE' can not be used when making a shared object; recompile with -fPIC ../swift-3.0-arm/Swiften/libSwiften.a: error adding symbols: Bad value collect2: error: ld returned 1 exit status make: *** [shmoose] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.DHjmdT (%build)
RPM build errors: Bad exit status from /var/tmp/rpm-tmp.DHjmdT (%build) [mersdk@SailfishSDK harbour-shmoose]$
You are almost done :-). It's just the last step, the linking of the binary, which fails. After that, the rpm packages gets build.
As the error message says, the swift library has to be build with 'Position Independent Code' (-fPIC). Because of this, one has to patch the swift library in the first step (modify the SConstruct file).
What could be wrong on your side:
As you now have all items of the puzzle in place, I suggest you do a rm -rf on your build directory and restart from scratch with a clean setup.
geobra: Can you teach me how build with Position Independent Code ? i am learnig programing , i am yet green of this : /
Of course. Look at your first questions and my answer on it in this thread.
z -lssl -lcrypto -lxml2 -lresolv -ldl -lm -lc -lstdc++ -liphb -pie -rdynamic -lsailfishapp -lmdeclarativecache5 -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Sql -lQt5Xml -lQt5Concurrent -lQt5Core -lGLESv2 -lpthread /opt/cross/bin/armv7hl-meego-linux-gnueabi-ld: cannot find -lxml2 collect2: error: ld returned 1 exit status make: *** [shmoose] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.QKCFCh (%build)
RPM build errors: Bad exit status from /var/tmp/rpm-tmp.QKCFCh (%build)
ence.o moc_HttpFileuploader.o moc_HttpFileUploadManager.o moc_DownloadManager.o moc_FileModel.o moc_System.o moc_IpHeartBeatWatcher.o moc_MucManager.o -Lswift-3.0-arm/Swiften -Lswift-3.0-arm/3rdParty/Boost -lSwiften -lSwiften_Boost -lrt -lz -lssl -lcrypto -lxml2 -lresolv -ldl -lm -lc -lstdc++ -liphb -pie -rdynamic -lsailfishapp -lmdeclarativecache5 -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Sql -lQt5Xml -lQt5Concurrent -lQt5Core -lGLESv2 -lpthread /opt/cross/bin/armv7hl-meego-linux-gnueabi-ld: swift-3.0-arm/Swiften/libSwiften.a(ExpatParser.o): undefined reference to symbol 'XML_SetUserData' /srv/mer/targets/SailfishOS-armv7hl/usr/lib/libexpat.so.1: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make: *** [shmoose] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.74fLNZ (%build)
RPM build errors: Bad exit status from /var/tmp/rpm-tmp.74fLNZ (%build) [mersdk@SailfishSDK harbour-shmoose]$
[mersdk@SailfishSDK ~]$ sb2 -t SailfishOS-armv7hl -m sdk-install -R zypper in expat-devel Loading repository data... Reading installed packages... 'expat-devel' is already installed. No update candidate for 'expat-devel-2.1.0-1.1.4.armv7hl'. The highest available version is already installed. Resolving package dependencies...
Nothing to do. [mersdk@SailfishSDK ~]$
.
Great that you finally had success on building shmoose. Please be aware of the fact that the database format has changed due to some new features. So if you do an upgrade from a previous version, you won't see your 'old' messages any longer with this new version.
ok.
Add:
under the line 'env.SConscript = SConscript' on line 14