Ray-V / tde-slackbuilds

A fork of Thorn Inurcide's SlackBuilds for the Trinity Desktop Environment
17 stars 5 forks source link

tqt3 and tdesdk building issues #21

Closed yurytch closed 4 years ago

yurytch commented 4 years ago

I've just managed to complete the build of TDE up to tdesdk component. 14.0.7 sources, slackware 64-bit updated to January milestone. For the build to complete, I had to modify SlackBuilds for tqt3 and tdesdk, as show in the following diff. Hope they are self-explaining as I do not remember rightly what was the problem with tqt3 build. Those changes in SlackBuilds are likely suboptimal, but they were the best I was able to come with. Thank you for your tde-slackbuilds!

--- Deps/tqt3/tqt3.SlackBuild.prev 2019-12-27 20:52:00.000000000 +0300 +++ Deps/tqt3/tqt3.SlackBuild 2020-01-05 22:10:42.213423474 +0300 @@ -161,6 +161,7 @@ mkdir -p $PKG$INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig ( cd $PKG$INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig ln -sf ../$PRGNAM-$VERSION/lib/pkgconfig/tqt-mt.pc .

Ray-V commented 4 years ago

Thanks for your feedback.

I've just finished a major revision of the build scripts which build OK for 14.0.7 and cgit development - and TDE runs OK!
My Slackware current isn't up-to-date though.

I've never had any problems building sdk and have done an overnight build of 14.0.7 - 92 packages - and it all builds and runs OK.

Your patch suggests that you're getting a '-ltqt-mt not found' error which has occurred for development builds, which I've fixed with source code patches, but not for 14.0.7

Doing a verbose build of sdk, this is a typical output and, as you can see, the path for -ltqt-mt is defined before the library without adding any extra flags to the build script:

[ 48%] Linking CXX executable kompare
cd /tmp/build/tmp-tdesdk/tdesdk-trinity-14.0.7/build-tdesdk/kompare && /usr/bin/cmake -E cmake_link_script CMakeFiles/kompare.dir/link.txt --verbose=1
/usr/bin/g++ -O2 -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -I/opt/tde/include/tqt -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -O3 -DNDEBUG -rdynamic CMakeFiles/kompare.dir/main.cpp.o CMakeFiles/kompare.dir/kompare_shell.cpp.o CMakeFiles/kompare.dir/kompareurldialog.cpp.o -o kompare -L/opt/tde/lib64 -Wl,-rpath,/tmp/build/tmp-tdesdk/tdesdk-trinity-14.0.7/build-tdesdk/kompare/interfaces:/opt/tde/lib64: libdialogpages/libdialogpages.a interfaces/libkompareinterface.so.0.0.0 /opt/tde/lib64/libtdetexteditor.so.0.0.0 /opt/tde/lib64/libtdeparts.so.2.1.0 /opt/tde/lib64/libtdeabc.so.1.2.0 /opt/tde/lib64/libvcard.so.0.0.0 /opt/tde/lib64/libtderesources.so.1.2.0 /opt/tde/lib64/libtdeio.so.14.0.0 /opt/tde/lib64/libtdeui.so.14.0.0 -lfreetype -lfontconfig -lXext /opt/tde/lib64/libtdesu.so.14.0.0 /opt/tde/lib64/libtdewalletclient.so.1.0.1 /opt/tde/lib64/libtdecore.so.14.0.0 /opt/tde/lib64/libDCOP.so.14.0.0 /opt/tde/lib64/libtdefx.so.14.0.0 -ltqt -ltqt-mt -lXrender -lX11 -lc -lz -lXcomposite -lICE -lSM -lutil -lacl -lattr


This is the patch for the revisions I've made: tde-SBs-patch.txt

The installation directories for TQt and tqtinterface have been set to the TDE installation directory, so would you do a fresh build of the Required packages and pim and sdk and if the build error still occurs, attach the build log here.

Just to remind you:

git clone https://github.com/Ray-V/tde-slackbuilds.git
cd tde-slackbuilds
patch -p0 < tde-SBs-patch.txt

Then build and install the Required packages + pim

Then VERBOSE=1 INST=0 ./BUILD-TDE.sh to build sdk ..

yurytch commented 4 years ago

Uh, not completely right. The 1st part of the patch is for something regarding the libqt-mt not being found by the instructions in '.pc' files, yes. Did this part two months ago, can't rightly remember. The 2nd part, though, is about -- well, I didn't save the logs! -- is about something in the kbugbuster subdir, and this something wanted two libs which were already verifiably installed in Trinity's libdir. One lib which was required was libtdeabc, and the second lib name I really can't recall now.

Ray-V commented 4 years ago

.. in the kbugbuster subdir .. One lib which was required was libtdeabc,

Are you sure about that?

My successful build of sdk shows for linking kbugbuster:

[ 43%] Linking CXX executable kbugbuster
cd /tmp/build/tmp-tdesdk/tdesdk-trinity-14.0.7/build-tdesdk/kbugbuster && /usr/bin/cmake -E cmake_link_script CMakeFiles/kbugbuster.dir/link.txt --verbose=1
/usr/bin/g++ -O2 -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -I/opt/tde/include/tqt -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -O3 -DNDEBUG -rdynamic CMakeFiles/kbugbuster.dir/main.cpp.o -o kbugbuster -L/opt/tde/lib64 -Wl,-rpath,/opt/tde/lib64: gui/libkbbmainwindow.a backend/libkbbbackend_nopic.a /opt/tde/lib64/libtdehtml.so.14.0.0 /opt/tde/lib64/libtdeutils.so.1.2.0 /opt/tde/lib64/libtdeparts.so.2.1.0 /opt/tde/lib64/libtdeprint.so.14.0.0 /opt/tde/lib64/libtdeio.so.14.0.0 /opt/tde/lib64/libtdeui.so.14.0.0 -lfreetype -lfontconfig -lXext /opt/tde/lib64/libtdesu.so.14.0.0 /opt/tde/lib64/libtdewalletclient.so.1.0.1 -lacl -lattr /opt/tde/lib64/libkjs.so.1.2.0 /opt/tde/lib64/libtdecore.so.14.0.0 /opt/tde/lib64/libDCOP.so.14.0.0 /opt/tde/lib64/libtdefx.so.14.0.0 -ltqt -ltqt-mt -lXrender -lX11 -lc -lz -lXcomposite -lICE -lSM -lutil -lpcre -ljpeg

- there's no libtdeabc in there.

The only parts of the build that show a dependency on libtdeabc are:

# find /tmp/build/package-tdesdk/opt/tde/bin/ -type f -exec grep libtdeabc {} \;
Binary file /tmp/build/package-tdesdk/opt/tde/bin/kompare matches
Binary file /tmp/build/package-tdesdk/opt/tde/bin/kbabel matches
Binary file /tmp/build/package-tdesdk/opt/tde/bin/kuiviewer matches

# find /tmp/build/package-tdesdk/opt/tde/ -name "*.so*" -exec grep libtdeabc {} \;
Binary file /tmp/build/package-tdesdk/opt/tde/lib64/tde/libkuiviewerpart.so matches
Binary file /tmp/build/package-tdesdk/opt/tde/lib64/tde/tdeabcformat_kdeaccounts.so matches
Binary file /tmp/build/package-tdesdk/opt/tde/lib64/tde/kcal_bugzilla.so matches

so the build is picking up libtdeabc for those ..

Why don't you do a fresh build as I suggested so that we have some definite data to look at?

yurytch commented 4 years ago

Your patch would do the trick for both of the problems I've reported, I guess. Does the same as my kludge, only for all components and more elegantly, of course. I'll redo the build ASAP and report. Build from git sources is preferrable, I suppose?

(Just to clarify -- I'm quite sure about the -ltdeabc failing, but don't remember what the second lib was and what module was generating the error. One of the kbug... ones, that's for sure. Was dealing with the matter with just half-attention, so to say.)

One small matter: the BUILD-TDE.sh does not offer to graciously cancel the build until the very last decision screen. C-c and C-d also do not work. So, one mis-selection and you have to go through all screens. Also: some of the wording on decision screens is somewhat ambiguous. At least on one of them, which deals with doing a new build or building to an existing installation. I'm not a native English speaker, so maybe I'm misreading, but I'll let you know what wording looks ambiguous to me, okay?

yurytch commented 4 years ago

The build of 14.0.7, core, tdepim, and tdesdk, plus the last two's 'really required' libs, works okay.