Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: deps/wxWidgets: Fix BambuStudio linking #3278

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

hadess
Copy link
Contributor

@hadess hadess commented Jan 2, 2024

We can't have local copies of nanosvg being used in both wxWidgets and slic3r, so disable the wxWidgets usage.

[470/471] Linking CXX executable src/bambu-studio
FAILED: src/bambu-studio
: && /run/ccache/bin/c++ -std=gnu++20 -fext-numeric-literals -Wall -Wno-reorder -pthread -O3 -DNDEBUG -L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed src/CMakeFiles/BambuStudio.dir/BambuStudio.cpp.o -o src/bambu-studio -L/run/build/BambuStudio/deps/build/destdir/usr/local/lib -Wl,-rpath,/run/build/BambuStudio/deps/build/destdir/usr/local/lib:  src/libslic3r/liblibslic3r.a  -ldl  -lstdc++  -lpangoft2-1.0  src/slic3r/liblibslic3r_gui.a  -ldl  src/libslic3r/liblibslic3r.a  src/libnest2d/liblibnest2d.a  src/libslic3r/liblibslic3r.a  src/libnest2d/liblibnest2d.a  src/admesh/libadmesh.a  src/miniz/libminiz_static.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_log-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_filesystem-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_thread-gcc13-mt-x64-1_78.a  -lrt  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_locale-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_regex-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_chrono-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_atomic-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_date_time-gcc13-mt-x64-1_78.a  src/clipper/libclipper.a  src/boost/libnowide.a  src/glu-libtess/libglu-libtess.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libqhullcpp.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libqhullstatic_r.a  src/semver/libsemver.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libtbbmalloc.a  src/libslic3r/liblibslic3r_cgal.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libgmpxx.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libmpfr.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libgmp.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libpng.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKXDESTEP.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKSTEP.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKSTEP209.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKSTEPAttr.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKSTEPBase.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKXCAF.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKXSBase.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKVCAF.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKCAF.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKLCAF.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKCDF.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKV3d.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKService.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKMesh.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKBO.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKPrim.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKHLR.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKShHealing.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKTopAlgo.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKGeomAlgo.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKBRep.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKGeomBase.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKG3d.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKG2d.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKMath.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKernel.a  src/clipper2/libClipper2.a  src/mcut/libmcut.a  -lfreetype  -lfontconfig  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libopenvdb.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_system-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_iostreams-gcc13-mt-x64-1_78.a  -lbz2  -llzma  -lzstd  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libHalf-2_5.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libblosc.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libtbb.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libnlopt.a  src/imgui/libimgui.a  src/minilzo/libminilzo_static.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libGLEW.a  /usr/lib/x86_64-linux-gnu/libGL.so  src/hidapi/libhidapi.a  -ldl  -L/run/build/BambuStudio/deps/build/destdir/usr/local/lib  -pthread  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_gl-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_aui-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_baseu_net-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_media-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_webview-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_html-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_baseu-3.2.a  /usr/lib/x86_64-linux-gnu/libSM.so  /usr/lib/x86_64-linux-gnu/libICE.so  /usr/lib/x86_64-linux-gnu/libX11.so  /usr/lib/x86_64-linux-gnu/libXext.so  /usr/lib/x86_64-linux-gnu/libxkbcommon.so  /usr/lib/x86_64-linux-gnu/libEGL.so  /usr/lib/x86_64-linux-gnu/libGLX.so  -lwayland-egl  -lwayland-client  /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so  /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so  /usr/lib/x86_64-linux-gnu/libgstplayer-1.0.so  /usr/lib/x86_64-linux-gnu/libsoup-3.0.so  /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so  /usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.1.so  -lwx_gtk3u_core-3.2  -lgtk-3  -lgdk-3  -lz  -lharfbuzz  -lpangocairo-1.0  -lpango-1.0  -latk-1.0  -lcairo  -lcairo-gobject  /usr/lib/x86_64-linux-gnu/libSM.so  /usr/lib/x86_64-linux-gnu/libICE.so  /usr/lib/x86_64-linux-gnu/libX11.so  /usr/lib/x86_64-linux-gnu/libXext.so  /usr/lib/x86_64-linux-gnu/libxkbcommon.so  /usr/lib/x86_64-linux-gnu/libEGL.so  /usr/lib/x86_64-linux-gnu/libGLX.so  -lwayland-egl  -lwayland-client  /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so  /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so  /usr/lib/x86_64-linux-gnu/libgstplayer-1.0.so  /usr/lib/x86_64-linux-gnu/libsoup-3.0.so  /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so  /usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.1.so  -lwx_gtk3u_core-3.2  -lgtk-3  -lgdk-3  -lz  -lharfbuzz  -lpangocairo-1.0  -lpango-1.0  -latk-1.0  -lcairo  -lcairo-gobject  -lwx_baseu-3.2  /usr/lib/x86_64-linux-gnu/libz.so  /usr/lib/x86_64-linux-gnu/libfontconfig.so  /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so  -lnotify  -lgdk_pixbuf-2.0  /usr/lib/x86_64-linux-gnu/libpcre2-32.so  -lsecret-1  -lglib-2.0  -lgobject-2.0  -lgio-2.0  -lc  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libpng.a  /usr/lib/x86_64-linux-gnu/libz.so  /usr/lib/x86_64-linux-gnu/libfontconfig.so  /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so  -lnotify  -lgdk_pixbuf-2.0  /usr/lib/x86_64-linux-gnu/libpcre2-32.so  -lsecret-1  -lglib-2.0  -lgobject-2.0  -lgio-2.0  -lc  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libpng.a  -lm  -ldl  -lm  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libtiff.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib64/libjpeg.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libexpat.a  /usr/lib/x86_64-linux-gnu/librt.a  /app/lib/libglfw.so.3.4  /usr/lib/x86_64-linux-gnu/libz.so  /usr/lib/x86_64-linux-gnu/libcurl.so  /usr/lib/x86_64-linux-gnu/libssl.so  /usr/lib/x86_64-linux-gnu/libcrypto.so  /usr/lib/x86_64-linux-gnu/libssl.so  /usr/lib/x86_64-linux-gnu/libcrypto.so  /usr/lib/x86_64-linux-gnu/libdbus-1.so  -lOSMesa  /usr/lib/x86_64-linux-gnu/libEGL.so  /usr/lib/x86_64-linux-gnu/libOpenGL.so  /usr/lib/x86_64-linux-gnu/libwayland-server.so  /usr/lib/x86_64-linux-gnu/libwayland-egl.so  /usr/lib/x86_64-linux-gnu/libwayland-client.so  /usr/lib/x86_64-linux-gnu/libcurl.so  -lgtk-3  -lgdk-3  -lz  -lharfbuzz  -lpangocairo-1.0  -lpango-1.0  -latk-1.0  -lcairo  -lcairo-gobject  -lgdk_pixbuf-2.0  -lgio-2.0  -lglib-2.0  -lgobject-2.0  -lgstreamer-1.0  -lgstbase-1.0  -lglib-2.0  -lgobject-2.0  -lgstreamer-1.0  -lgstbase-1.0 && cd /run/build/BambuStudio/build/src && ln -sfn /run/build/BambuStudio/resources /run/build/BambuStudio/build/src/../resources && cd /run/build/BambuStudio/build/src && ln -sfn zh_cn /run/build/BambuStudio/build/src/../resources/i18n/zh_CN
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o):/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvg.h:1241: multiple definition of `nsvg__colors'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):(.data.rel.local+0x0): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvg__parseXML(char*, void (*)(void*, char const*, char const**), void (*)(void*, char const*), void (*)(void*, char const*), void*)':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvg.h:331: multiple definition of `nsvg__parseXML(char*, void (*)(void*, char const*, char const**), void (*)(void*, char const*), void (*)(void*, char const*), void*)'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xba50): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgDuplicatePath':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvg.h:2963: multiple definition of `nsvgDuplicatePath'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xbb40): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgDelete':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvg.h:2993: multiple definition of `nsvgDelete'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xbbd0): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgParse':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvg.h:2910: multiple definition of `nsvgParse'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xbcb0): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgParseFromFile':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvg.h:2934: multiple definition of `nsvgParseFromFile'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xc460): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgDeleteRasterizer':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvgrast.h:168: multiple definition of `nsvgDeleteRasterizer'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xc530): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgCreateRasterizer':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvgrast.h:152: multiple definition of `nsvgCreateRasterizer'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xc5c0): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgRasterize':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvgrast.h:1368: multiple definition of `nsvgRasterize'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xc600): first defined here

@bambu123
Copy link
Collaborator

bambu123 commented Jan 8, 2024

It will disable bmpsvg. Instead we should inline nanosvg functions in header files.

We can't have local copies of nanosvg being used in both wxWidgets and
slic3r, so add a new dep for nanosvg, use it in both wxWidgets and
libslic3r and remove the local copy.

[470/471] Linking CXX executable src/bambu-studio
FAILED: src/bambu-studio
: && /run/ccache/bin/c++ -std=gnu++20 -fext-numeric-literals -Wall -Wno-reorder -pthread -O3 -DNDEBUG -L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed src/CMakeFiles/BambuStudio.dir/BambuStudio.cpp.o -o src/bambu-studio -L/run/build/BambuStudio/deps/build/destdir/usr/local/lib -Wl,-rpath,/run/build/BambuStudio/deps/build/destdir/usr/local/lib:  src/libslic3r/liblibslic3r.a  -ldl  -lstdc++  -lpangoft2-1.0  src/slic3r/liblibslic3r_gui.a  -ldl  src/libslic3r/liblibslic3r.a  src/libnest2d/liblibnest2d.a  src/libslic3r/liblibslic3r.a  src/libnest2d/liblibnest2d.a  src/admesh/libadmesh.a  src/miniz/libminiz_static.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_log-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_filesystem-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_thread-gcc13-mt-x64-1_78.a  -lrt  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_locale-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_regex-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_chrono-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_atomic-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_date_time-gcc13-mt-x64-1_78.a  src/clipper/libclipper.a  src/boost/libnowide.a  src/glu-libtess/libglu-libtess.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libqhullcpp.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libqhullstatic_r.a  src/semver/libsemver.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libtbbmalloc.a  src/libslic3r/liblibslic3r_cgal.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libgmpxx.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libmpfr.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libgmp.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libpng.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKXDESTEP.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKSTEP.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKSTEP209.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKSTEPAttr.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKSTEPBase.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKXCAF.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKXSBase.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKVCAF.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKCAF.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKLCAF.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKCDF.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKV3d.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKService.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKMesh.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKBO.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKPrim.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKHLR.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKShHealing.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKTopAlgo.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKGeomAlgo.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKBRep.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKGeomBase.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKG3d.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKG2d.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKMath.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libTKernel.a  src/clipper2/libClipper2.a  src/mcut/libmcut.a  -lfreetype  -lfontconfig  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libopenvdb.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_system-gcc13-mt-x64-1_78.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libboost_iostreams-gcc13-mt-x64-1_78.a  -lbz2  -llzma  -lzstd  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libHalf-2_5.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libblosc.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libtbb.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libnlopt.a  src/imgui/libimgui.a  src/minilzo/libminilzo_static.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libGLEW.a  /usr/lib/x86_64-linux-gnu/libGL.so  src/hidapi/libhidapi.a  -ldl  -L/run/build/BambuStudio/deps/build/destdir/usr/local/lib  -pthread  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_gl-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_aui-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_baseu_net-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_media-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_webview-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_html-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_baseu-3.2.a  /usr/lib/x86_64-linux-gnu/libSM.so  /usr/lib/x86_64-linux-gnu/libICE.so  /usr/lib/x86_64-linux-gnu/libX11.so  /usr/lib/x86_64-linux-gnu/libXext.so  /usr/lib/x86_64-linux-gnu/libxkbcommon.so  /usr/lib/x86_64-linux-gnu/libEGL.so  /usr/lib/x86_64-linux-gnu/libGLX.so  -lwayland-egl  -lwayland-client  /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so  /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so  /usr/lib/x86_64-linux-gnu/libgstplayer-1.0.so  /usr/lib/x86_64-linux-gnu/libsoup-3.0.so  /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so  /usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.1.so  -lwx_gtk3u_core-3.2  -lgtk-3  -lgdk-3  -lz  -lharfbuzz  -lpangocairo-1.0  -lpango-1.0  -latk-1.0  -lcairo  -lcairo-gobject  /usr/lib/x86_64-linux-gnu/libSM.so  /usr/lib/x86_64-linux-gnu/libICE.so  /usr/lib/x86_64-linux-gnu/libX11.so  /usr/lib/x86_64-linux-gnu/libXext.so  /usr/lib/x86_64-linux-gnu/libxkbcommon.so  /usr/lib/x86_64-linux-gnu/libEGL.so  /usr/lib/x86_64-linux-gnu/libGLX.so  -lwayland-egl  -lwayland-client  /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so  /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so  /usr/lib/x86_64-linux-gnu/libgstplayer-1.0.so  /usr/lib/x86_64-linux-gnu/libsoup-3.0.so  /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so  /usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.1.so  -lwx_gtk3u_core-3.2  -lgtk-3  -lgdk-3  -lz  -lharfbuzz  -lpangocairo-1.0  -lpango-1.0  -latk-1.0  -lcairo  -lcairo-gobject  -lwx_baseu-3.2  /usr/lib/x86_64-linux-gnu/libz.so  /usr/lib/x86_64-linux-gnu/libfontconfig.so  /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so  -lnotify  -lgdk_pixbuf-2.0  /usr/lib/x86_64-linux-gnu/libpcre2-32.so  -lsecret-1  -lglib-2.0  -lgobject-2.0  -lgio-2.0  -lc  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libpng.a  /usr/lib/x86_64-linux-gnu/libz.so  /usr/lib/x86_64-linux-gnu/libfontconfig.so  /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so  -lnotify  -lgdk_pixbuf-2.0  /usr/lib/x86_64-linux-gnu/libpcre2-32.so  -lsecret-1  -lglib-2.0  -lgobject-2.0  -lgio-2.0  -lc  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libpng.a  -lm  -ldl  -lm  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libtiff.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib64/libjpeg.a  /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libexpat.a  /usr/lib/x86_64-linux-gnu/librt.a  /app/lib/libglfw.so.3.4  /usr/lib/x86_64-linux-gnu/libz.so  /usr/lib/x86_64-linux-gnu/libcurl.so  /usr/lib/x86_64-linux-gnu/libssl.so  /usr/lib/x86_64-linux-gnu/libcrypto.so  /usr/lib/x86_64-linux-gnu/libssl.so  /usr/lib/x86_64-linux-gnu/libcrypto.so  /usr/lib/x86_64-linux-gnu/libdbus-1.so  -lOSMesa  /usr/lib/x86_64-linux-gnu/libEGL.so  /usr/lib/x86_64-linux-gnu/libOpenGL.so  /usr/lib/x86_64-linux-gnu/libwayland-server.so  /usr/lib/x86_64-linux-gnu/libwayland-egl.so  /usr/lib/x86_64-linux-gnu/libwayland-client.so  /usr/lib/x86_64-linux-gnu/libcurl.so  -lgtk-3  -lgdk-3  -lz  -lharfbuzz  -lpangocairo-1.0  -lpango-1.0  -latk-1.0  -lcairo  -lcairo-gobject  -lgdk_pixbuf-2.0  -lgio-2.0  -lglib-2.0  -lgobject-2.0  -lgstreamer-1.0  -lgstbase-1.0  -lglib-2.0  -lgobject-2.0  -lgstreamer-1.0  -lgstbase-1.0 && cd /run/build/BambuStudio/build/src && ln -sfn /run/build/BambuStudio/resources /run/build/BambuStudio/build/src/../resources && cd /run/build/BambuStudio/build/src && ln -sfn zh_cn /run/build/BambuStudio/build/src/../resources/i18n/zh_CN
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o):/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvg.h:1241: multiple definition of `nsvg__colors'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):(.data.rel.local+0x0): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvg__parseXML(char*, void (*)(void*, char const*, char const**), void (*)(void*, char const*), void (*)(void*, char const*), void*)':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvg.h:331: multiple definition of `nsvg__parseXML(char*, void (*)(void*, char const*, char const**), void (*)(void*, char const*), void (*)(void*, char const*), void*)'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xba50): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgDuplicatePath':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvg.h:2963: multiple definition of `nsvgDuplicatePath'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xbb40): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgDelete':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvg.h:2993: multiple definition of `nsvgDelete'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xbbd0): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgParse':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvg.h:2910: multiple definition of `nsvgParse'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xbcb0): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgParseFromFile':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvg.h:2934: multiple definition of `nsvgParseFromFile'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xc460): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgDeleteRasterizer':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvgrast.h:168: multiple definition of `nsvgDeleteRasterizer'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xc530): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgCreateRasterizer':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvgrast.h:152: multiple definition of `nsvgCreateRasterizer'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xc5c0): first defined here
/usr/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: /run/build/BambuStudio/deps/build/destdir/usr/local/lib/libwx_gtk3u_core-3.2.a(bmpsvg.cpp.o): in function `nsvgRasterize':
/run/build/BambuStudio/deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/src/generic/../../3rdparty/nanosvg/src/nanosvgrast.h:1368: multiple definition of `nsvgRasterize'; src/slic3r/liblibslic3r_gui.a(BitmapCache.cpp.o):BitmapCache.cpp:(.text+0xc600): first defined here
@hadess hadess force-pushed the wip/hadess/nanosvg-redefinition branch from bf52bf5 to b06dcdb Compare January 8, 2024 19:00
@hadess
Copy link
Contributor Author

hadess commented Jan 8, 2024

I'll be testing something out now, that I can't easily test locally. Let's see if it builds!

@hadess
Copy link
Contributor Author

hadess commented Jan 9, 2024

The build fails in part because the version of wxWidgets that BambuStudio uses doesn't have any build flags to control the NanoSVG usage. It would be good to upgrade that a version with that feature first, I'll try and do that separately.

@hadess hadess changed the title deps/wxWidgets: Fix BambuStudio linking WIP: deps/wxWidgets: Fix BambuStudio linking Jan 9, 2024
@hadess
Copy link
Contributor Author

hadess commented Jan 9, 2024

The build fails in part because the version of wxWidgets that BambuStudio uses doesn't have any build flags to control the NanoSVG usage. It would be good to upgrade that a version with that feature first, I'll try and do that separately.

Done in #3340

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants