Open squalus opened 1 year ago
Tried with a debug build of QT.
FreeCAD 0.20.2, Libs: 0.20.2RUnknown
© Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2022
FreeCAD is free and open-source software licensed under the terms of LGPL2+ license.
FreeCAD wouldn't be possible without FreeCAD community.
##### #### ### ####
# # # # # #
# ## #### #### # # # # #
#### # # # # # # # ##### # #
# # #### #### # # # # #
# # # # # # # # # ## ## ##
# # #### #### ### # # #### ## ## ##
[New Thread 0x7fffeb6f3640 (LWP 658276)]
[New Thread 0x7fffeaef2640 (LWP 658277)]
[New Thread 0x7fffdbfff640 (LWP 658278)]
[New Thread 0x7fffd77fe640 (LWP 658279)]
[New Thread 0x7fffdb7fe640 (LWP 658280)]
[New Thread 0x7fffdaffd640 (LWP 658281)]
[Detaching after vfork from child process 658282]
[Detaching after vfork from child process 658283]
Accelerator conflict between Std_ViewFullscreen (F11) and Std_MacroStepInto (F11)
Accelerator conflict between Std_MacroStepInto (F11) and Std_ViewFullscreen (F11)
[New Thread 0x7fffc551a640 (LWP 658285)]
[Detaching after fork from child process 658286]
[Detaching after fork from child process 658287]
[Detaching after fork from child process 658288]
[New Thread 0x7fffc4d19640 (LWP 658320)]
[New Thread 0x7fffb80d7640 (LWP 658321)]
[New Thread 0x7fffb78d6640 (LWP 658322)]
[New Thread 0x7fffb70d5640 (LWP 658323)]
[New Thread 0x7fffb5b1f640 (LWP 658324)]
[New Thread 0x7fff9ffff640 (LWP 658325)]
[New Thread 0x7fff9f7fe640 (LWP 658326)]
[New Thread 0x7fff9effd640 (LWP 658327)]
[New Thread 0x7fff9e7fc640 (LWP 658328)]
[New Thread 0x7fff9dffb640 (LWP 658329)]
[New Thread 0x7fff9d7fa640 (LWP 658330)]
[New Thread 0x7fff9cff9640 (LWP 658331)]
[New Thread 0x7fff7ffff640 (LWP 658332)]
[New Thread 0x7fff7f7fe640 (LWP 658333)]
[New Thread 0x7fff7effd640 (LWP 658334)]
Cannot mix incompatible Qt library (5.15.7) with this library (5.15.8)
Thread 1 "..FreeCAD-wrapp" received signal SIGABRT, Aborted.
0x00007ffff13a7bc7 in __pthread_kill_implementation () from /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/libc.so.6
(gdb) bt
#0 0x00007ffff13a7bc7 in __pthread_kill_implementation () from /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/libc.so.6
#1 0x00007ffff135ab46 in raise () from /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/libc.so.6
#2 0x00007ffff13454b5 in abort () from /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/libc.so.6
#3 0x00007ffff67a3f17 in messageHandler (type=QtFatalMsg, context=..., msg=...) at /build/source/src/Gui/Application.cpp:1707
#4 0x00007ffff19e471b in qt_message_print (msgType=msgType@entry=QtFatalMsg, context=..., message=...) at global/qlogging.cpp:1843
#5 0x00007ffff19e49bb in qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=...,
msg=msg@entry=0x7ffff1ddd500 "Cannot mix incompatible Qt library (%d.%d.%d) with this library (%d.%d.%d)", ap=ap@entry=0x7fffffff4cd0) at global/qlogging.cpp:378
#6 0x00007ffff19e4fb3 in QMessageLogger::fatal (this=this@entry=0x7fffffff4dd0, msg=msg@entry=0x7ffff1ddd500 "Cannot mix incompatible Qt library (%d.%d.%d) with this library (%d.%d.%d)")
at global/qlogging.cpp:890
#7 0x00007ffff1c1c1fd in QObjectPrivate::checkForIncompatibleLibraryVersion (version=<optimized out>, this=<optimized out>) at kernel/qobject_p.h:438
#8 QObjectPrivate::QObjectPrivate (this=<optimized out>, version=<optimized out>) at kernel/qobject.cpp:191
#9 0x00007fffe9636e9e in ?? () from /nix/store/xbj03rh5zv7nqmh6k8ri4l3z229l95fi-qtdeclarative-5.15.7/lib/libQt5Quick.so.5
#10 0x00007fffe9636f1f in QQuickRenderControl::QQuickRenderControl(QObject*) () from /nix/store/xbj03rh5zv7nqmh6k8ri4l3z229l95fi-qtdeclarative-5.15.7/lib/libQt5Quick.so.5
#11 0x00007fffe3f1bc0d in ?? () from /nix/store/imhm8j8j4yzg4y09scwmsa2bh46ys301-qtdeclarative-5.15.8/lib/libQt5QuickWidgets.so.5
#12 0x00007fffe00d9f11 in ?? () from /nix/store/0hajf5cxbgvqpjfvan1q85pr4p78mv9g-qtwebengine-5.15.11/lib/libQt5WebEngineWidgets.so.5
#13 0x00007fffe00c6a77 in ?? () from /nix/store/0hajf5cxbgvqpjfvan1q85pr4p78mv9g-qtwebengine-5.15.11/lib/libQt5WebEngineWidgets.so.5
#14 0x00007fffb8b7c60a in ?? () from /nix/store/0hajf5cxbgvqpjfvan1q85pr4p78mv9g-qtwebengine-5.15.11/lib/libQt5WebEngineCore.so.5
#15 0x0000000000000013 in ?? ()
#16 0x00007fffb8b7c5c0 in ?? () from /nix/store/0hajf5cxbgvqpjfvan1q85pr4p78mv9g-qtwebengine-5.15.11/lib/libQt5WebEngineCore.so.5
#17 0x000000000261a280 in ?? ()
#18 0x0000000002424920 in ?? ()
#19 0x00007fffffff4ff0 in ?? ()
#20 0x00007fffbd6b8543 in ?? () from /nix/store/0hajf5cxbgvqpjfvan1q85pr4p78mv9g-qtwebengine-5.15.11/lib/libQt5WebEngineCore.so.5
#21 0x00007fffffff4fc0 in ?? ()
#22 0x00007fffbad03dca in ?? () from /nix/store/0hajf5cxbgvqpjfvan1q85pr4p78mv9g-qtwebengine-5.15.11/lib/libQt5WebEngineCore.so.5
#23 0x000000000000005e in ?? ()
#24 0x00007fffbad19040 in ?? () from /nix/store/0hajf5cxbgvqpjfvan1q85pr4p78mv9g-qtwebengine-5.15.11/lib/libQt5WebEngineCore.so.5
#25 0x4676fa6fa1472092 in ?? ()
#26 0x00000000fffffffe in ?? ()
#27 0x00007fffbf911a47 in ?? () from /nix/store/0hajf5cxbgvqpjfvan1q85pr4p78mv9g-qtwebengine-5.15.11/lib/libQt5WebEngineCore.so.5
#28 0x00007fffbff6ba08 in ?? () from /nix/store/0hajf5cxbgvqpjfvan1q85pr4p78mv9g-qtwebengine-5.15.11/lib/libQt5WebEngineCore.so.5
#29 0x0000000000000000 in ?? ()
Looks to be related to #86369.
If I run it like this, it works:
QT_PLUGIN_PATH= ./result/bin/freecad
If I run it like this, it works:
QT_PLUGIN_PATH= ./result/bin/freecad
This problem exists when one installs FreeCAD 20.2 from nixOS/unstable on a nixOS/22.11 system, your workaround worked for me:
nix-env -f channel:nixpkgs-unstable -iA freecad # Install Unstable in user space
which freecad # Confirm source /home/deftdawg/.nix-profile/bin/freecad
QT_PLUGIN_PATH="" freecad # Unset Qt Plugin Path workaround
I've been trying to build FreeCAD in nix develop mode, and have reverse-engineered/inspected a lot of the build scripts and outputs in an attempt to make it possible to make changes to the C++ source code:
Here are some observations:
$ nix build -p nixpkgs#freecad
$ ls -a result/bin
. freecad freecadcmd .FreeCADCmd-wrapped ..FreeCADCmd-wrapped-wrapped .FreeCAD-wrapped_
.. FreeCAD FreeCADCmd .FreeCADCmd-wrapped_ .FreeCAD-wrapped ..FreeCAD-wrapped-wrapped
# FreeCAD is a wrapper of .FreeCAD-wrapped_
# which is a wrapper of .FreeCAD-wrapped
# which is a wrapper of ..FreeCAD-wrapped-wrapped
# which is the actual executable
I don't know how the qtWrapperArgs
parameter causes such complexity from the freecad/default.nix file, but I think there is a bug due to the discrepancy between the nix build
and the nix develop; genericBuild
outputs.
The difference is in .FreeCAD-wrapped_
which helpfully says how it was wrapped:
$ head -n 40 result/bin/.FreeCAD-wrapped_
# ------------------------------------------------------------------------------------
# The C-code for this binary wrapper has been generated using the following command:
makeCWrapper '/nix/store/18dfapfb7bpry2i6k2ylwh3djlw104f0-freecad-0.20.2/bin/.FreeCADCmd-wrapped' \
--inherit-argv0 \
--set 'COIN_GL_NO_CURRENT_CONTEXT_CHECK' '1' \
--prefix 'PATH' ':' '/nix/store/08742aqkbshgm60ijwl265ac7lwllmnj-libredwg-0.12.5/bin' \
--set 'QT_QPA_PLATFORM' 'xcb' \
--prefix 'QT_PLUGIN_PATH' ':' '/nix/store/9j0acz9qqp1lygwif5jncpz8hsyfmylw-qtbase-5.15.9-bin/lib/qt-5.15.9/plugins' \
--prefix 'QT_PLUGIN_PATH' ':' '/nix/store/hqcwapbw9s4bx8r7fsd49qd558w85nam-qtsvg-5.15.9-bin/lib/qt-5.15.9/plugins' \
--prefix 'QT_PLUGIN_PATH' ':' '/nix/store/wwh84qsv7kry8615jv6zqwgzjbvvidjh-qtdeclarative-5.15.9-bin/lib/qt-5.15.9/plugins' \
--prefix 'QML2_IMPORT_PATH' ':' '/nix/store/wwh84qsv7kry8615jv6zqwgzjbvvidjh-qtdeclarative-5.15.9-bin/lib/qt-5.15.9/qml' \
--prefix 'QML2_IMPORT_PATH' ':' '/nix/store/2gb12znr86dbj03azpm793gdff4sc65q-qtquickcontrols-5.15.9/lib/qt-5.15.9/qml' \
--prefix 'QT_PLUGIN_PATH' ':' '/nix/store/qgdd4r60pqdp4gj7m5dbi3ra05vpglp2-qtwayland-5.15.9-bin/lib/qt-5.15.9/plugins' \
--prefix 'QML2_IMPORT_PATH' ':' '/nix/store/qgdd4r60pqdp4gj7m5dbi3ra05vpglp2-qtwayland-5.15.9-bin/lib/qt-5.15.9/qml' \
--prefix 'QT_PLUGIN_PATH' ':' '/nix/store/vilh9lyi4wb5k290p9ggy667nqdf3q0v-qttools-5.15.9-bin/lib/qt-5.15.9/plugins' \
--prefix 'QT_PLUGIN_PATH' ':' '/nix/store/i6jwa2xmky2w5yj04gkwzavd3jrbd0z4-qtmultimedia-5.15.9-bin/lib/qt-5.15.9/plugins' \
--prefix 'QML2_IMPORT_PATH' ':' '/nix/store/i6jwa2xmky2w5yj04gkwzavd3jrbd0z4-qtmultimedia-5.15.9-bin/lib/qt-5.15.9/qml' \
--prefix 'QT_PLUGIN_PATH' ':' '/nix/store/yzbibzcxy3f848grj5g2a7wy8rhp2gi8-qtlocation-5.15.9-bin/lib/qt-5.15.9/plugins' \
--prefix 'QML2_IMPORT_PATH' ':' '/nix/store/yzbibzcxy3f848grj5g2a7wy8rhp2gi8-qtlocation-5.15.9-bin/lib/qt-5.15.9/qml' \
--prefix 'QML2_IMPORT_PATH' ':' '/nix/store/pf3kg8wn7ysbksvr3j17lynmsq0idx3d-qtwebchannel-5.15.9-bin/lib/qt-5.15.9/qml' \
--prefix 'QT_PLUGIN_PATH' ':' '/nix/store/rlakl2r815si4if8xmmzdqz3fyz770qb-qtwebengine-5.15.13-bin/lib/qt-5.15.9/plugins' \
--prefix 'QML2_IMPORT_PATH' ':' '/nix/store/rlakl2r815si4if8xmmzdqz3fyz770qb-qtwebengine-5.15.13-bin/lib/qt-5.15.9/qml' \
--prefix 'QML2_IMPORT_PATH' ':' '/nix/store/q94yddhcx45x57cjyjzji7ibsbq2zvhh-qtxmlpatterns-5.15.9/lib/qt-5.15.9/qml' \
--prefix 'PYTHONPATH' ':' '/nix/store/vx36dpl66cr9h377i1ch4xj7v92s5bql-shiboken2-5.15.10/lib/python3.10/site-packages:/nix/store/5w43clkaa1rhzb11cl6gybfzakx89ld0-pyside2-5.15.10/lib/python3.10/site-packages:/nix/store/1z9w3khx8xrk9hfrky19lsbc5vf218cs-python3.10-gitpython-3.1.31/lib/python3.10/site-packages:/nix/store/g0fl04c4s5qcdfhvzsbygcjfbfq17rbz-python3.10-ddt-1.6.0/lib/python3.10/site-packages:/nix/store/jhflvwr40xbb0xr6jx4311icp9cym1fp-python3-3.10.12/lib/python3.10/site-packages:/nix/store/xpn1fy2frxwpkc8f8dskp7mnmj2c22xb-python3.10-gitdb-4.0.10/lib/python3.10/site-packages:/nix/store/i9szkis5j7659k1i953dbwfjxidqfi5w-python3.10-smmap-5.0.0/lib/python3.10/site-packages:/nix/store/g57ps0xvv1kgl1yg0vbk72vk89jmiy9w-python3.10-matplotlib-3.7.1/lib/python3.10/site-packages:/nix/store/b8aprcbxrwi3iwdslaxbnxnvh61n9dvf-python3.10-contourpy-1.0.7/lib/python3.10/site-packages:/nix/store/dbykha9ik0d0if8bkyb9yzkn5ws2mi18-python3.10-numpy-1.24.2/lib/python3.10/site-packages:/nix/store/ywv0f7jmwd4s2dmcmh83h1sk9mlhhqhw-python3.10-cycler-0.11.0/lib/python3.10/site-packages:/nix/store/990pi5qr1z4msd4qcw8i1yq1vrhz4j0g-python3.10-six-1.16.0/lib/python3.10/site-packages:/nix/store/mbrl83v62nqpm12bkmiyvplprk60b3zf-python3.10-fonttools-4.38.0/lib/python3.10/site-packages:/nix/store/p178xbzdj6pjsgng8d3z9snz5b6qn5rk-python3.10-kiwisolver-1.4.4/lib/python3.10/site-packages:/nix/store/g4b3sss35jbybsb5hnpdbic8wb9hy0ri-python3.10-packaging-23.0/lib/python3.10/site-packages:/nix/store/2hh03nqnk8lnkvclmk1d9xws31sx6wv3-python3.10-pillow-9.5.0/lib/python3.10/site-packages:/nix/store/cvvgp5c3mg53sbz22vf1ss77zp4nrs7l-python3.10-olefile-0.46/lib/python3.10/site-packages:/nix/store/xpy8c76rlgpgj7nnndkik45bj0p6b00c-python3.10-defusedxml-0.7.1/lib/python3.10/site-packages:/nix/store/7fvcvr1hrx8c6h47v2cl9nj1qj1sa3dd-python3.10-pyparsing-3.0.9/lib/python3.10/site-packages:/nix/store/1i7bilwh6nyzv7jq8nbjmzafhzgvid6a-python3.10-python-dateutil-2.8.2/lib/python3.10/site-packages:/nix/store/l19ig0ia2458r9ra8r0dv0iyppg2pp0b-python3.10-tkinter-3.10.12/lib/python3.10/site-packages:/nix/store/7zjsrwgzdkzq065m6hgbhlx3jkqgjl8h-python3.10-pivy-0.6.8/lib/python3.10/site-packages:/nix/store/x9cgmyl5b18jjvwhbjjy8cawx4yxdzw2-python3.10-ply-3.11/lib/python3.10/site-packages:/nix/store/vr3x8flh8gg0kdshlz1y5ka8zxwkiimp-python3.10-pycollada-0.7.2/lib/python3.10/site-packages:/nix/store/ci6sxn8vfm9sw4wd6kqpyw9hq59gf8kn-python3.10-pyyaml-6.0/lib/python3.10/site-packages:/nix/store/9wdpkxn4gbfm1vbg1844dy5iw68jl7za-python3.10-scipy-1.10.1/lib/python3.10/site-packages' \
--prefix 'XDG_DATA_DIRS' ':' '/nix/store/18dfapfb7bpry2i6k2ylwh3djlw104f0-freecad-0.20.2/share'
If we build this outside the sandbox using nix develop
like so:
$ nix develop nixpkgs#freecad
$ genericBuild # This takes 30 minutes
$ ls -a ../../outputs/out/bin/
. freecad freecadcmd .FreeCADCmd-wrapped ..FreeCADCmd-wrapped-wrapped .FreeCAD-wrapped_
.. FreeCAD FreeCADCmd .FreeCADCmd-wrapped_ .FreeCAD-wrapped ..FreeCAD-wrapped-wrapped
$ head -n 30 ../../outputs/out/bin/.FreeCAD-wrapped_
# ------------------------------------------------------------------------------------
# The C-code for this binary wrapper has been generated using the following command:
makeCWrapper '/home/julian/junk/fcdev8/outputs/out/bin/.FreeCAD-wrapped' \
--inherit-argv0 \
--prefix 'PYTHONPATH' ':' '/nix/store/fcsaryzvq3idn8v5611ss449sjzq4bbs-shiboken2-5.15.5/lib/python3.10/site-packages:/nix/store/xin0sy25kyyncq9mn3fp0cjp00gffycn-pyside2-5.15.5/lib/python3.10/site-packages:/nix/store/szss9xb0ac1llbphqmv23pxwmgx1195i-python3.10-gitpython-3.1.31/lib/python3.10/site-packages:/nix/store/jzkdldwk205mq8lpnbq5p6qi3q3yf9wj-python3.10-ddt-1.6.0/lib/python3.10/site-packages:/nix/store/763kk6xg6vaslzh1hgvwgdk1h582b7s3-python3-3.10.12/lib/python3.10/site-packages:/nix/store/sqvaxpm1p7dr6wv0bf9ql7nr09gr36id-python3.10-gitdb-4.0.10/lib/python3.10/site-packages:/nix/store/izx1qdbybvyfi16shkgimywwjhc1qv5x-python3.10-smmap-5.0.0/lib/python3.10/site-packages:/nix/store/qsdbwrigizz57yg6ayvjcpwnw5w783zf-python3.10-matplotlib-3.7.0/lib/python3.10/site-packages:/nix/store/ff6dvrwf755r080y6cxxx9q6a80ilr4a-python3.10-contourpy-1.0.7/lib/python3.10/site-packages:/nix/store/ps5kkijix47lnfg3nlq5zwyq22ra4pms-python3.10-numpy-1.24.2/lib/python3.10/site-packages:/nix/store/sch0mpzq516bzsxlax30l9xzxzcdivng-python3.10-cycler-0.11.0/lib/python3.10/site-packages:/nix/store/vg75cacnivafjh08hl3nr1fbhg8yy6xx-python3.10-six-1.16.0/lib/python3.10/site-packages:/nix/store/v4vcglgq3ibvknswjiamfc2qrryqc289-python3.10-fonttools-4.38.0/lib/python3.10/site-packages:/nix/store/92aj8r8p38l9wk5lw4y1n8avw9g1cpmy-python3.10-kiwisolver-1.4.4/lib/python3.10/site-packages:/nix/store/lnsgk43y9fnlwsrkjf7a8gjqmd12qgwq-python3.10-packaging-23.0/lib/python3.10/site-packages:/nix/store/bhm1hkqxcm0mybayanvrgs8ixain4anm-python3.10-pillow-9.4.0/lib/python3.10/site-packages:/nix/store/47cmw7l08drv2g83dsvf6wfr7pkhfmbz-python3.10-olefile-0.46/lib/python3.10/site-packages:/nix/store/gxwimry12hps91g59wn52iq61dzxldzn-python3.10-defusedxml-0.7.1/lib/python3.10/site-packages:/nix/store/5qra1070qhcxp24kv7xs8wwnkk9139qp-python3.10-pyparsing-3.0.9/lib/python3.10/site-packages:/nix/store/khhyhdmj3b23j74f6ardi35g9zh92y5k-python3.10-python-dateutil-2.8.2/lib/python3.10/site-packages:/nix/store/48r7n26rzagwbmxiw6x6ypl2vkvvls0l-python3.10-tkinter-3.10.12/lib/python3.10/site-packages:/nix/store/miwiwvmp90p8khi7wahfphi4v4mav50b-python3.10-pivy-0.6.8/lib/python3.10/site-packages:/nix/store/98bail3sbbd9zm66xzh8v110z68qgy83-python3.10-ply-3.11/lib/python3.10/site-packages:/nix/store/5ibbgc9bsnbvpck20wp31qb53v9hvh3k-python3.10-pycollada-0.7.2/lib/python3.10/site-packages:/nix/store/p0vg1jgzzcjvgqbgpk973dik6j31zy2x-python3.10-pyyaml-6.0/lib/python3.10/site-packages:/nix/store/jggqzrci347jfs6dwb8cswbnbfzmy9xl-python3.10-scipy-1.10.1/lib/python3.10/site-packages' \
--prefix 'XDG_DATA_DIRS' ':' '/home/julian/junk/fcdev8/outputs/out/share'
# (Use `nix-shell -p makeBinaryWrapper` to get access to makeCWrapper in your shell)
# ------------------------------------------------------------------------------------
As you can see, most of the QT prefixes in the wrapping are missing. The other three wrappings are the same.
The the function that adds (or misses out) those QT_PLUGIN_PATH
and QML2_IMPORT_PATH
prefixes is qtHostPathHook(). I don't know enough shell-script to see where it gets called in a loop over an erroneously empty list.
Beware of running nix-shell -p makeBinaryWrapper
as it suggests if you are trying to do stuff in nix develop
as it unexpectedly imports a new version of genericBuild
(it looks like every nix-shell -p
invocation does this).
If you are trying to get freecad into a state where you can hack and rebuild the C++ code to chase down bugs or reprogram the application, do the following:
# I think this is version 23.05
$ nix develop nixpkgs#freecad
# I used declare -f genericBuild to help create this list of phases
$ phases="qtPreHook unpackPhase updateAutotoolsGnuConfigScriptsPhase configurePhase ninjaBuildPhase"
$ genericBuild # This leaves you in directory source/build
$ bin/FreeCAD
Aborted (core dumped)
$ export QT_PLUGIN_PATH=/nix/store/x4rhw1vm5haswrksa56ib8yqc0p4n3k4-qtwebengine-5.15.13-bin/lib/qt-5.15.9/plugins:/nix/store/9brisp3913fbwknpb9qbmj34b0ikz54k-qtlocation-5.15.9-bin/lib/qt-5.15.9/plugins:/nix/store/rcyjdcgvd4dxqnac1h93kx2f975scb3z-qtmultimedia-5.15.9-bin/lib/qt-5.15.9/plugins:/nix/store/f22hr7yjyx8s1rngixdphbcxn6d6jr8c-qttools-5.15.9-bin/lib/qt-5.15.9/plugins:/nix/store/j4mdy01770nkj38501qbzr9a6y0m32zl-qtwayland-5.15.9-bin/lib/qt-5.15.9/plugins:/nix/store/dzgpz9zp8izfyjpiwwaxapd1lhfs6fjx-qtdeclarative-5.15.9-bin/lib/qt-5.15.9/plugins:/nix/store/xpsfaxya2zasnrlkrln8xw5ihz1428hj-qtsvg-5.15.9-bin/lib/qt-5.15.9/plugins:/nix/store/isynznjw5g4z1b2bnh7spijj1m6jh98b-qtbase-5.15.9-bin/lib/qt-5.15.9/plugins:$QT_PLUGIN_PATH
$ export PYTHONPATH=/nix/store/fcsaryzvq3idn8v5611ss449sjzq4bbs-shiboken2-5.15.5/lib/python3.10/site-packages:/nix/store/xin0sy25kyyncq9mn3fp0cjp00gffycn-pyside2-5.15.5/lib/python3.10/site-packages:/nix/store/szss9xb0ac1llbphqmv23pxwmgx1195i-python3.10-gitpython-3.1.31/lib/python3.10/site-packages:/nix/store/jzkdldwk205mq8lpnbq5p6qi3q3yf9wj-python3.10-ddt-1.6.0/lib/python3.10/site-packages:/nix/store/763kk6xg6vaslzh1hgvwgdk1h582b7s3-python3-3.10.12/lib/python3.10/site-packages:/nix/store/sqvaxpm1p7dr6wv0bf9ql7nr09gr36id-python3.10-gitdb-4.0.10/lib/python3.10/site-packages:/nix/store/izx1qdbybvyfi16shkgimywwjhc1qv5x-python3.10-smmap-5.0.0/lib/python3.10/site-packages:/nix/store/qsdbwrigizz57yg6ayvjcpwnw5w783zf-python3.10-matplotlib-3.7.0/lib/python3.10/site-packages:/nix/store/ff6dvrwf755r080y6cxxx9q6a80ilr4a-python3.10-contourpy-1.0.7/lib/python3.10/site-packages:/nix/store/ps5kkijix47lnfg3nlq5zwyq22ra4pms-python3.10-numpy-1.24.2/lib/python3.10/site-packages:/nix/store/sch0mpzq516bzsxlax30l9xzxzcdivng-python3.10-cycler-0.11.0/lib/python3.10/site-packages:/nix/store/vg75cacnivafjh08hl3nr1fbhg8yy6xx-python3.10-six-1.16.0/lib/python3.10/site-packages:/nix/store/v4vcglgq3ibvknswjiamfc2qrryqc289-python3.10-fonttools-4.38.0/lib/python3.10/site-packages:/nix/store/92aj8r8p38l9wk5lw4y1n8avw9g1cpmy-python3.10-kiwisolver-1.4.4/lib/python3.10/site-packages:/nix/store/lnsgk43y9fnlwsrkjf7a8gjqmd12qgwq-python3.10-packaging-23.0/lib/python3.10/site-packages:/nix/store/bhm1hkqxcm0mybayanvrgs8ixain4anm-python3.10-pillow-9.4.0/lib/python3.10/site-packages:/nix/store/47cmw7l08drv2g83dsvf6wfr7pkhfmbz-python3.10-olefile-0.46/lib/python3.10/site-packages:/nix/store/gxwimry12hps91g59wn52iq61dzxldzn-python3.10-defusedxml-0.7.1/lib/python3.10/site-packages:/nix/store/5qra1070qhcxp24kv7xs8wwnkk9139qp-python3.10-pyparsing-3.0.9/lib/python3.10/site-packages:/nix/store/khhyhdmj3b23j74f6ardi35g9zh92y5k-python3.10-python-dateutil-2.8.2/lib/python3.10/site-packages:/nix/store/48r7n26rzagwbmxiw6x6ypl2vkvvls0l-python3.10-tkinter-3.10.12/lib/python3.10/site-packages:/nix/store/miwiwvmp90p8khi7wahfphi4v4mav50b-python3.10-pivy-0.6.8/lib/python3.10/site-packages:/nix/store/98bail3sbbd9zm66xzh8v110z68qgy83-python3.10-ply-3.11/lib/python3.10/site-packages:/nix/store/5ibbgc9bsnbvpck20wp31qb53v9hvh3k-python3.10-pycollada-0.7.2/lib/python3.10/site-packages:/nix/store/p0vg1jgzzcjvgqbgpk973dik6j31zy2x-python3.10-pyyaml-6.0/lib/python3.10/site-packages:/nix/store/jggqzrci347jfs6dwb8cswbnbfzmy9xl-python3.10-scipy-1.10.1/lib/python3.10/site-packages:$PYTHONPATH
# This now runs the app
$ bin/FreeCAD
# Now edit the source code
$ vim ../source
# edit line 537: sMenuText = QT_TR_NOOP("Nixos Rules OK")
$ ninjaBuildPhase
...
$ bin/FreeCAD
It's not quite using an IDE with a debugger, but for me it's the first real progress I've made towards being able to quickly iterate and test changes to the FreeCAD C++ code under NixOS.
Just a heads up there is a request to update FreeCAD to latest stable v0.21 https://github.com/NixOS/nixpkgs/issues/249109
Just a heads up there is a request to update FreeCAD to latest stable v0.21 #249109
FreeCAD 21.2 is now in 23.11 (new stable) and runs without crashing on start-up, so think we can probably close this issue.
Please close issue
Still crashes on startup for me unless I unset QT_PLUGIN_PATH
Steps To Reproduce
NixOS x86_64-linux
nixpkgs master @ 747927516efcb
Additional context
Notify maintainers
@viric @gebner @AndersonTorres
Metadata