| Summary: | Build Issue: Initial cmake support for konversation | ||
|---|---|---|---|
| Product: | TDE | Reporter: | Alexander Golubev (Fat-Zer) <fatzer2> |
| Component: | non-core programs | Assignee: | Alexander Golubev (Fat-Zer) <fatzer2> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | bugwatch, darrella, fatzer2, slavek.banko |
| Priority: | P5 | ||
| Version: | R14.0.0 [Trinity] | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Compiler Version: | TDE Version String: | ||
| Application Version: | Application Name: | ||
| Bug Depends on: | |||
| Bug Blocks: | 1300 | ||
| Attachments: |
patch
patch patch build error logt This is my cmake and make commands PREFERENCES.cpp PREFERENCES.h Updated patch to build with cmake Patch to build with cmake (3) Updated cmake conversion patch |
||
awesome! I'll try out the patch today. Created attachment 1061 [details]
patch
small fixes in LINK for main binary in konversation/src. Over vice the build can fail in some special cases
Created attachment 1062 [details]
patch
sorry, previous patch contained bad git submodules
Hey I am getting a build error. I have uploaded a log. Created attachment 1064 [details]
build error logt
(In reply to comment #4) > Hey I am getting a build error. I have uploaded a log. Are you using some -jN option for make? Can you attach full configure/build log e.g. produced by: cmake <your configure options> && make -j1 VERBOSE=1 (or whichever -jN option produces the fail) Also please attach your konversation/src/config/preferences_base.{cpp,h} files located in your build directory. Created attachment 1065 [details]
This is my cmake and make commands
Created attachment 1066 [details]
PREFERENCES.cpp
Created attachment 1067 [details]
PREFERENCES.h
(In reply to comment #8) > Created attachment 1066 [details] > PREFERENCES.cpp preferences_base.{cpp,h}, not preferences. Created attachment 1068 [details]
Updated patch to build with cmake
The package builds with the cmake patch. My configure options:
-DCMAKE_C_FLAGS:STRING="$CPUOPT" \
-DCMAKE_CXX_FLAGS:STRING="$CPUOPT $DEBUG_CMAKE_OPT" \
-DCMAKE_INSTALL_PREFIX=${PREFIX} \
-DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DMAN_INSTALL_DIR=${MANDIR} \
-DWITH_GCC_VISIBILITY=ON \
-DWITH_ALL_OPTIONS=ON \
-DBUILD_ALL=ON
Noticeable differences from the automake build:
* All *.pl files in /opt/trinity/share/apps/kconf_update are chmod 001 rather than chmod 755.
* Missing from /opt/trinity/share/apps/konversation/scripts:
bug
cmd
fortune
gauge
mail
media
sayclip
sysinfo
tdeversion
tinyurl
uptime
weather
* Missing from /opt/trinity/share/doc/tde/HTML/en: konversation-apidocs
* Missing from /opt/trinity/share/doc/tde/HTML: es. Completing the CMakeLists.txt file won't help because of a missing index.docbook file. There is no es/index.docbook file in the pre-Trinity konversation 1.1 sources.
I'm attaching an updated patch. The patch does not resolve the missing konversation-apidocs.
Created attachment 1070 [details]
Patch to build with cmake (3)
Use install (FILES ... PERMISSIONS ... ) for installing executables is incorrect way. For this purpose is intended install (PROGRAMS ... ). Fixed in updated patch.
I added a comment to 'es' of the documentation to make it clear that it is not installed intentionally. Also in updated patch.
I tested the patch in v3.5.13-sru branch, which works flawlessly. When testing in the master branch, I get the same error as described Calvin. I compared preferences_base.cpp and preferences_base.h generated with automake and cmake - are identical. Same source tree built with automake is ok, but with cmake I get an error.
Created attachment 1118 [details]
Updated cmake conversion patch
The existing patch needed to be updated for the recent renaming rampage. I found one typo as well that caused a build failure. With the updated patch I can build konversation with cmake and parallel processing.
(Odpověď na komentář #13)
> Vytvořena příloha 1118
> Updated cmake conversion patch
>
> The existing patch needed to be updated for the recent renaming rampage. I
> found one typo as well that caused a build failure. With the updated patch I
> can build konversation with cmake and parallel processing.
I tested with R14 on Debian, and unfortunately I still cannot approve this patch - still leads to the same FTBFS mentioned by Calvin.
How about pushing what we have to GIT? Then we can more easily study the CMakeLists.txt files for the missing components rather than trying to study a diff file. In reference to comment 15, the first initial patch pushed to GIT in commit 930640c5. The commit does not close this bug report because some people remain unable to build konversation using cmake. Note: the package builds without error for me on Slackware 14.0 32-bit. My cmake config is listed in comment 11. (In reply to comment #14) > (Odpověď na komentář #13) > > Vytvořena příloha 1118 > > Updated cmake conversion patch > > > > The existing patch needed to be updated for the recent renaming rampage. I > > found one typo as well that caused a build failure. With the updated patch I > > can build konversation with cmake and parallel processing. > > I tested with R14 on Debian, and unfortunately I still cannot approve this > patch - still leads to the same FTBFS mentioned by Calvin. Sorry for not responding for a while. Slavek is this still actual for you? If it still FTBFS, can you provide your generated preferences_base.{cpp,h}, NOT preferences. BTW, try to #include "preferences.h" directly to viewcontainer.cpp (In reply to comment #14) > (Odpověď na komentář #13) > > Vytvořena příloha 1118 > > Updated cmake conversion patch > > > > The existing patch needed to be updated for the recent renaming rampage. I > > found one typo as well that caused a build failure. With the updated patch I > > can build konversation with cmake and parallel processing. > > I tested with R14 on Debian, and unfortunately I still cannot approve this > patch - still leads to the same FTBFS mentioned by Calvin. Sorry for not responding for a while. Slavek is this still actual for you? If it still FTBFS, can you provide your generated preferences_base.{cpp,h}, NOT preferences. BTW, try to #include "preferences.h" directly to viewcontainer.cpp Yes, the problem still persists. I tried to add #include "preferences.h" into viewcontainer.cpp, but without change. Interestingly, v3.5.13-sru branch is not affected by this problem - only master branch. Unfortunately I did not have enough time for further research. anyway, I still need preferences_base.{cpp,h} from the system there build fails. I believe the problem is somewhere in them. Got no idea there else it could be.
PS: sorry for flooding with multiple status changes, but for some reason I couldn't put the bug into NEEDINFO state.
Well, I found the core of problem. Konversation uses files preferences.h and preferences_base.h - these control their re-insertion using definition PREFERENCES_H and PREFERENCESBASE_H. But TQt3 also installs the file preferences.h that controls its re-insertion using definition PREFERENCESBASE_H. This very successful conflicts with both above files from Konversation. Fixed in GIT hash c672ecbd. |
Created attachment 1052 [details] patch here is the patch.