Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 940182 - media-gfx/prusaslicer-2.8.1 throws error "libsoup2 symbols detected" when net-libs/libsoup:2.x and :3.0 are installed.
Summary: media-gfx/prusaslicer-2.8.1 throws error "libsoup2 symbols detected" when net...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: 3D Printing Team
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2024-09-24 00:23 UTC by Elton Carvalho
Modified: 2024-11-21 08:49 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info was too long for commetn body (emergeindo.txt,21.17 KB, text/plain)
2024-09-24 00:24 UTC, Elton Carvalho
Details
build.log (prusaslicer-2.8.1:20241114-203734.log.gz,143.71 KB, application/gzip)
2024-11-14 20:51 UTC, Fat-Zer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Elton Carvalho 2024-09-24 00:23:24 UTC
When I try to run prusa-slicer-2.8.1, it errors out with the message 

libsoup-ERROR **: 21:12:24.500: libsoup2 symbols detected. Using libsoup2 and libsoup3 in the same process is not supported.
Trace/breakpoint trap

I currently have net-libs/libsoup-2.74.3 and net-libs/libsoup-3.4.4 installed in my system, each pulled in by a few different packages.

media-gfx/prusaslicer-2.8.1 was built this morning and the log shows it used libsoup-2.4

Upstream has these two closed bugs mentioning its incompatible with Ubuntu 24.04 and Mint 22. The solution seemed to just use the AppImage.

https://github.com/prusa3d/PrusaSlicer/issues/12893
https://github.com/prusa3d/PrusaSlicer/issues/13194

Reproducible: Always

Steps to Reproduce:
1. Build https://github.com/prusa3d/PrusaSlicer/issues/13194 in a system with net-libs/libsoup:2.4 and :3.0
2. Try to run prusa-slicer
Actual Results:  
prusa-slicer errors out with messsage "libsoup2 symbols detected"

Expected Results:  
Prusa-slice runs.
Comment 1 Elton Carvalho 2024-09-24 00:24:26 UTC
Created attachment 903623 [details]
emerge --info was too long for commetn body
Comment 2 Sergey 'L29Ah' Alirzaev 2024-09-24 10:38:21 UTC
Same with prusaslicer-9999
Comment 3 Sergey 'L29Ah' Alirzaev 2024-09-24 12:37:11 UTC
Pushed the last prusaslicer release that doesn't require webkit (and doesn't have the libsoup conflict as a result) to ::booboo as a workaround.
Comment 4 Marian Kyral 2024-09-27 14:32:23 UTC
I've upgraded Inkscape to unstable version that uses newer libsoup and also p7zip that forced wxGtk:4. After that, wxGtk:4 and libsoup:2 was not needed any more and were uninstalled. Prusaslicer now starts normally.
Comment 5 Marian Kyral 2024-09-27 14:36:10 UTC
Sorry, webkit-gtk:4 and wxGtk:3 ;-)
Comment 6 Miroslav Šulc gentoo-dev 2024-10-24 07:20:55 UTC
i have both versions of libsoup installed and have no issue with running prusaslicer 2.8.1:

$ equery list libsoup
 * Searching for libsoup ...
[IP-] [  ] net-libs/libsoup-2.74.3:2.4
[IP-] [  ] net-libs/libsoup-3.4.4:3.0
Comment 7 Elton Carvalho 2024-10-24 14:55:17 UTC
(In reply to Miroslav Šulc from comment #6)
> i have both versions of libsoup installed and have no issue with running
> prusaslicer 2.8.1:
> 
> $ equery list libsoup
>  * Searching for libsoup ...
> [IP-] [  ] net-libs/libsoup-2.74.3:2.4
> [IP-] [  ] net-libs/libsoup-3.4.4:3.0

I have the same versions of libsoup and prusaslicer as of when I reported the bug and it is now magically working as well. net-libs/webkit-gtk (dependency of wxGTK) was updated from 2.44.1 to 2.44.4 in the meantime, not sure if it has something to do with it.
Comment 8 justXi 2024-11-05 20:06:18 UTC
I had the same problem... 

On my system wxGTK linked against webkit-gtk:4.1 and prusaslicer linked wxGTK and against webkit-gtk:4... 

After uninstalling webkit-gtk:4 (not needed on my system) and rebuilding prusaslicer, it works again.
Comment 9 Ben 2024-11-09 16:14:34 UTC
Ran into this problem as well. Seems to be some ordering issue then?  Have the same versions installed and it does not work for me.

Should we maintain the non-webkit old version in portage?  Granted no idea how long it will still compile due to other libraries changing...
Comment 10 Fat-Zer 2024-11-14 20:51:11 UTC
Created attachment 908718 [details]
build.log


I can confirm media-gfx/prusaslicer-2.8.1 volunteerly links against libwebkit2gtk-4.0 if it's installed even if all it's dependencies are linked against libwebkit2gtk-4.1

$ ldd /usr/bin/prusa-slicer |grep webkit
        libwebkit2gtk-4.0.so.37 => /usr/lib64/libwebkit2gtk-4.0.so.37 (0x00007f63e6e00000)
        libwebkit2gtk-4.1.so.0 => /usr/lib64/libwebkit2gtk-4.1.so.0 (0x00007f63e1c00000)

rebuild doesn't solve the issue.

You can see it in the build.log, grepping by webkit2gtk-4.0 

-- Checking for one of the modules 'webkit2gtk-4.0;webkit2gtk-4.1'
.....
[505/505] : && /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -O2 -march=ivybridge -pipe -fext-numeric-literals -Wall -Wno-reorder -pthread -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs     -Wl,--export-dynamic -pthread src/CMakeFiles/PrusaSlicer.dir/PrusaSlicer.cpp.o -o src/prusa-slicer  src/libslic3r/liblibslic3r.a  -ldl  -lstdc++  src/slic3r/liblibslic3r_gui.a  -ldl  src/libslic3r/liblibslic3r.a  src/libslic3r/liblibslic3r.a  /usr/lib64/libboost_system.so.1.85.0  /usr/lib64/libboost_locale.so.1.85.0  /usr/lib64/libboost_regex.so.1.85.0  /usr/lib64/libboost_date_time.so.1.85.0  /usr/lib64/libboost_nowide.so.1.85.0  src/clipper/libclipper.a  bundled_deps/glu-libtess/libglu-libtess.a  /usr/lib64/libqhullcpp.a  /usr/lib64/libqhull_r.so.8.0.2  src/libslic3r/liblibslic3r_cgal.a  /usr/lib64/libgmpxx.so  /usr/lib64/libmpfr.so  /usr/lib64/libgmp.so  /usr/lib64/libpng.so  /usr/lib64/libjpeg.so  bundled_deps/libqoi.a  bundled_deps/libsemver.a  bundled_deps/admesh/libadmesh.a  /usr/lib64/libbgcode_convert.so.0.2.0  /usr/lib64/libbgcode_binarize.so.0.2.0  /usr/lib64/libbgcode_core.so.0.2.0  bundled_deps/miniz/libminiz_static.a  /usr/lib64/libopenvdb.so  /usr/lib64/libboost_iostreams.so.1.85.0  /usr/lib64/libImath-3_1.so.29.10.0  /usr/lib64/libtbb.so.12.9  /usr/lib64/libtbbmalloc.so.2.9  /usr/lib64/libnlopt.so  /usr/lib64/libexpat.so.1.9.3  -lm  bundled_deps/avrdude/libavrdude.a  bundled_deps/liblocalesutils.a  bundled_deps/imgui/libimgui.a  src/libvgcode/liblibvgcode.a  /usr/lib64/libGLEW.so  /usr/lib64/libGL.so  bundled_deps/hidapi/libhidapi.a  -ldl  /usr/lib64/libz.so  /usr/lib64/libcurl.so  -L/usr/lib64  -pthread  -lwx_baseu-3.2-gtk3  -lwx_gtk3u_core-3.2-gtk3  -lwx_gtk3u_html-3.2-gtk3  -lwx_gtk3u_gl-3.2-gtk3  -lwx_gtk3u_webview-3.2-gtk3  /usr/lib64/libpng.so  /usr/lib64/libz.so  /usr/lib64/libjpeg.so  /usr/lib64/librt.a  /usr/lib64/libnanosvgrast.so  /usr/lib64/libnanosvg.so  -lm  /usr/lib64/libssl.so  /usr/lib64/libcrypto.so  /usr/lib64/libboost_log.so.1.85.0  /usr/lib64/libboost_filesystem.so.1.85.0  /usr/lib64/libboost_thread.so.1.85.0  /usr/lib64/libboost_chrono.so.1.85.0  /usr/lib64/libboost_atomic.so.1.85.0  /usr/lib64/libdbus-1.so  -lgtk-3  -lgdk-3  -lpangocairo-1.0  -lpango-1.0  -lharfbuzz  -latk-1.0  -lcairo-gobject  -lcairo  -lgdk_pixbuf-2.0  -lgio-2.0  -lgobject-2.0  -lglib-2.0  -lfontconfig  /usr/lib64/libwebkit2gtk-4.0.so  /usr/lib64/libgtk-3.so  /usr/lib64/libgdk-3.so  /usr/lib64/libpangocairo-1.0.so  /usr/lib64/libpango-1.0.so  /usr/lib64/libharfbuzz.so  /usr/lib64/libatk-1.0.so  /usr/lib64/libcairo-gobject.so  /usr/lib64/libcairo.so  /usr/lib64/libgdk_pixbuf-2.0.so  /usr/lib64/libsoup-2.4.so  /usr/lib64/libgmodule-2.0.so  /usr/lib64/libgio-2.0.so  /usr/lib64/libjavascriptcoregtk-4.0.so  /usr/lib64/libgobject-2.0.so  /usr/lib64/libglib-2.0.so && cd /var/tmp/portage/media-gfx/prusaslicer-2.8.1/work/PrusaSlicer-version_2.8.1_build/src && ln -sf prusa-slicer prusa-gcodeviewer && cd /var/tmp/portage/media-gfx/prusaslicer-2.8.1/work/PrusaSlicer-version_2.8.1_build/src && ln -sfn /var/tmp/portage/media-gfx/prusaslicer-2.8.1/work/PrusaSlicer-version_2.8.1/resources /var/tmp/portage/media-gfx/prusaslicer-2.8.1/work/PrusaSlicer-version_2.8.1_build/src/../resources

PS: the CMakeLists.txt should be quite easy to patch, so it will search only for 4.1 ;)
Comment 11 Fat-Zer 2024-11-20 03:35:41 UTC
And for clarification libsoup2 is pulled in by linking with `net-libs/webkit-gtk:4`, so to reproduce the bug you need have installed both: net-libs/webkit-gtk:4 and net-libs/webkit-gtk:4.1 and not only net-libs/libsoup:{2.4,3}
Comment 12 Larry the Git Cow gentoo-dev 2024-11-21 08:49:27 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b8e1f97640c55ecf980d43666885c49785d9383

commit 1b8e1f97640c55ecf980d43666885c49785d9383
Author:     Miroslav Šulc <fordfrog@gentoo.org>
AuthorDate: 2024-11-21 08:44:26 +0000
Commit:     Miroslav Šulc <fordfrog@gentoo.org>
CommitDate: 2024-11-21 08:49:24 +0000

    media-gfx/prusaslicer: fixes and improvements
    
    improved handling of eigen3
    (thanks to jmickelin: https://github.com/prusa3d/PrusaSlicer/issues/13608)
    fixed libsoup double linking
    (thanks to Alexander Golubev <fatzer2@gmail.com>)
    
    Closes: https://github.com/gentoo/gentoo/pull/39379
    Closes: https://bugs.gentoo.org/940182
    Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>

 ...saslicer-2.8.1-fix-libsoup-double-linking.patch | 11 ++++++++++
 .../files/prusaslicer-2.8.1-fixed-linking.patch    | 25 ----------------------
 ...er-2.8.1.ebuild => prusaslicer-2.8.1-r1.ebuild} |  6 ++++--
 media-gfx/prusaslicer/prusaslicer-9999.ebuild      |  6 ++++--
 4 files changed, 19 insertions(+), 29 deletions(-)