Created attachment 585980 [details] emerge --info Just starting scribus (built from scribus-9999) I get Cannot find plugin: /usr/lib64/scribus/plugins//libxpsexplugin.so: undefined symbol: _ZTI13UpdateMemento Cannot find plugin: /usr/lib64/scribus/plugins//libwmfimplugin.so: undefined symbol: _ZTI14LoadSavePlugin and many more lines with missing symbols Scribus Crash ------------- Scribus crashes due to Signal #11 zsh: segmentation fault (core dumped) scribus where "_ZTI14LoadSavePlugin" -> typeinfo for LoadSavePlugin and "_ZTI13UpdateMemento" -> typeinfo for UpdateMemento Version 1.5.5_pre20190429 runs fine here, though. Thanks for a hint, Helmut
I am getting the same error(s), but I am still looking into what causes this.
Please test with 1.5.5.
scribus-1.5.5 is working fine here. I also noticed that if I skip the ebuild, and build scribus-9999 manually, cmake gets the libdir wrong, but it does build a working scribus (with plugins and everything).
This makes no sense to me, but the commit that breaks everything is this one : https://github.com/scribusproject/scribus/commit/2e527fc3cb3d4ff34d9c73669e1f33343d02b755 also known as ESVN_REVISION=23103 ps. the reason I am using the Scribus mirror on github is because Subversion interacts badly with my NFS-mounted-distfiles setup.
scribus-9999::gentoo continues to segfault on startup, but I have narrowed the problem down to something that cmake-utils.eclass is doing that is not compatible with scribus upstream. # diff -u /mnt/repos/{gentoo,fixes}/eclass/cmake-utils.eclass --- /mnt/repos/gentoo/eclass/cmake-utils.eclass 2019-07-14 15:01:36.287386000 -0400 +++ /mnt/repos/fixes/eclass/cmake-utils.eclass 2019-10-23 19:47:40.044910000 -0400 @@ -481,7 +481,7 @@ if [[ ${EAPI} != 5 ]]; then default_src_prepare - _cmake_cleanup_cmake + #_cmake_cleanup_cmake else debug-print "$FUNCNAME: PATCHES=$PATCHES" [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}" By commenting this one line, Scribus is now able to compile and run properly.
maybe kde@gentoo.org team could help with this as they maintain dev-util/cmake?
Created attachment 602252 [details, diff] scribus_ebuild.patch This is what I am using at the moment. It compiles fine, and runs without crashing.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91e7091096936ef82d8ea76edc8b595a4d4f7d92 commit 91e7091096936ef82d8ea76edc8b595a4d4f7d92 Author: Miroslav Šulc <fordfrog@gentoo.org> AuthorDate: 2020-01-03 07:23:37 +0000 Commit: Miroslav Šulc <fordfrog@gentoo.org> CommitDate: 2020-01-03 07:24:00 +0000 app-office/scribus: fixed 9999 1) added python3_8 2) switched from cmake-utils to cmake 3) removed unused config args Bug: https://bugs.gentoo.org/691684 Package-Manager: Portage-2.3.84, Repoman-2.3.20 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org> app-office/scribus/scribus-9999.ebuild | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)
@cyrillic: thank your for the patch! @all: i'm not closing this bug as scribus crashes for me anyway, but on a different issue (some unparsable icc profile). please report back if this commit fixes the issue for you and scribus starts up without crash. thanks!
Comment on attachment 602252 [details, diff] scribus_ebuild.patch reverted invalid src_prepare() change.
cmake_src_prepare makes some changes to the build system and it is not silent about that: > * Working in BUILD_DIR: "/var/tmp/portage/app-office/scribus-9999/work/scribus-9999_build" > * Hardcoded definition(s) removed in CMakeLists.txt: > * set(CMAKE_COLOR_MAKEFILE ON) > * set(CMAKE_VERBOSE_MAKEFILE OFF) > * set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Set Debug Build Type" FORCE) > * set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Set Release with Debug I > * set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Set Release Build Type" FORCE)
(In reply to Andreas Sturmlechner from comment #11) > cmake_src_prepare makes some changes to the build system ... I am sorry about that. I was not expecting the workaround that I used to get committed as-is. The problem is that one or more of those build system changes is resulting in a scribus that gets signal 11 instead of starting normally. I am not sure if patching scribus could help the situation, or if _cmake_cleanup_cmake needs to do its job differently.
(In reply to cyrillic from comment #12) > or if _cmake_cleanup_cmake needs to do its job differently ... Actually, the function has been renamed _cmake_modify-cmakelists When I come up with a more elegant solution, I will post it, and if someone else knows what to do here, don't be shy :)
Only the CMAKE_BUILD_TYPE changes could be relevant, but I did not find that in use anywhere else.
Created attachment 624608 [details, diff] patch for scribus-9999 to compile correctly This patch allows scribus from svn head to be compiled (1.5.6). The ZLIB changes have to be disabled and setting the CMAKE_BUILD_TYPE is necessary.
I was having the zlib configuration issue as well: -- Found PkgConfig: x86_64-pc-linux-gnu-pkg-config (found version "0.29.2") -- Checking for modules 'minizip;zlib' -- Found minizip, version 1.2.11 -- Found zlib, version 1.2.11 ZLIB Library Found OK OSG found OK -- Found OpenGL: /usr/lib64/libOpenGL.so -- Looking for memrchr -- Looking for memrchr - found -- Found JPEG: /usr/lib64/libjpeg.so (found version "62") JPEG Library Found OK -- Could NOT find ZLIB (missing: ZLIB_INCLUDE_DIR) CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:164 (message): Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR) (Required is at least version "1.6") Commenting the zlib related lines from attachment 624608 [details, diff] let's me build successfully. Changing the CMAKE_BUILD_TYPE was not necessary, to build the package, but setting it globally in the ebuild solved the startup crash. I found, however, another issue related to python. Cmake selects python3.8 on my tests, although my PYTHON_SINGLE_TARGET is set to python3.6. * USE: abi_x86_64 amd64 boost elibc_glibc examples graphicsmagick hunspell kernel_linux osg pdf python_single_target_python3 _6 scripts templates tk userland_GNU * FEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox * Using python3.6 to build ... Python 3.x Selected -- Found Python3: /usr/bin/python3.8 (found version "3.8.2") found components: Interpreter Development Python 3.x Library Found OK (Version 3.8.2) Interpreter: /usr/bin/python3.8 Include directories: /usr/include/python3.8 Library directories: /usr/lib64 Runtime library directories: /usr/lib64 which led to /usr/lib64/scribus/plugins/libscriptplugin.so being linked against libpython3.8.so: app-office/scribus $ ldd /usr/lib64/scribus/plugins/libscriptplugin.so | grep -i python libpython3.8.so.1.0 => /usr/lib64/libpython3.8.so.1.0 (0x00007fa9b9218000) I'm adding my changes in an attachment.
Created attachment 625358 [details, diff] 0001-app-office-scribus-fix-startup-crash.patch Ebuild patch fixing the startup crash, as well as a zlib related issue in src_configure and an issue with selecting python implementation.
(In reply to Bernd from comment #16) > Changing the CMAKE_BUILD_TYPE was not > necessary, to build the package, but setting it globally in the ebuild > solved the startup crash. Thank you. It worked for me too.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=624ba2504e489972a8d5c511628352bcc8748803 commit 624ba2504e489972a8d5c511628352bcc8748803 Author: Bernd Waibel <waebbl@gmail.com> AuthorDate: 2020-03-24 18:53:16 +0000 Commit: Miroslav Šulc <fordfrog@gentoo.org> CommitDate: 2020-03-27 10:08:04 +0000 app-office/scribus: fix startup crash The patch fixes the crash on startup, as well as a zlib package finding related issue in src_configure. It also solves an issue whith selecting the correct python implementation. Bug: https://bugs.gentoo.rog/691684 Package-Manager: Portage-2.3.95, Repoman-2.3.21 Signed-off-by: Bernd Waibel <waebbl@gmail.com> Closes: https://bugs.gentoo.org/691684 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org> app-office/scribus/scribus-9999.ebuild | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)
(In reply to cyrillic from comment #18) > (In reply to Bernd from comment #16) > > Changing the CMAKE_BUILD_TYPE was not > > necessary, to build the package, but setting it globally in the ebuild > > solved the startup crash. > > Thank you. It worked for me too. This can only be considered a workaround, not a fix.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb70711765546964429e8734e71a17d26ce6cd56 commit eb70711765546964429e8734e71a17d26ce6cd56 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2023-02-05 15:33:43 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2023-02-06 10:35:21 +0000 app-office/scribus: Add python3_11, fix memleak, fix dashed lines Use upstream poppler-22.09 support patch, amended by Debian for dashed lines fix. Drop CMAKE_BUILD_TYPE="Release" Hopefully stop cmake overwriting user optimisations Bug: https://bugs.gentoo.org/691684 Closes: https://bugs.gentoo.org/886251 Closes: https://bugs.gentoo.org/893158 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> app-office/scribus/Manifest | 1 + app-office/scribus/files/scribus-1.5.8-cmake.patch | 28 ++++ app-office/scribus/scribus-1.5.8-r5.ebuild | 168 +++++++++++++++++++++ 3 files changed, 197 insertions(+)