I am working on adding Darwin support for meshlab, which is a Qt-based application that includes many plugins. I successfully built it and was able to run the application, but unfortunately, none of the plugins are loading.
The error messages I am encountering are as follows:
› QT_DEBUG_PLUGINS=1 ./result/Applications/meshlab.app/Contents/MacOS/meshlab
...
QMachOParser: '/nix/store/rmzvmf0hplp85d43ngcsic84kcxlzmsw-meshlab-2023.12/Applications/meshlab.app/Contents/PlugIns/libdecorate_background.so' is not a valid Mach-O binary (not a dynamic library)
QMachOParser: '/nix/store/rmzvmf0hplp85d43ngcsic84kcxlzmsw-meshlab-2023.12/Applications/meshlab.app/Contents/PlugIns/libdecorate_base.so' is not a valid Mach-O binary (not a dynamic library)
QMachOParser: '/nix/store/rmzvmf0hplp85d43ngcsic84kcxlzmsw-meshlab-2023.12/Applications/meshlab.app/Contents/PlugIns/libdecorate_raster_proj.so' is not a valid Mach-O binary (not a dynamic library)
QMachOParser: '/nix/store/rmzvmf0hplp85d43ngcsic84kcxlzmsw-meshlab-2023.12/Applications/meshlab.app/Contents/PlugIns/libdecorate_shadow.so' is not a valid Mach-O binary (not a dynamic library)
QMachOParser: '/nix/store/rmzvmf0hplp85d43ngcsic84kcxlzmsw-meshlab-2023.12/Applications/meshlab.app/Contents/PlugIns/libedit_align.so' is not a valid Mach-O binary (not a dynamic library)
QMachOParser: '/nix/store/rmzvmf0hplp85d43ngcsic84kcxlzmsw-meshlab-2023.12/Applications/meshlab.app/Contents/PlugIns/libedit_manipulators.so' is not a valid Mach-O binary (not a dynamic library)
QMachOParser: '/nix/store/rmzvmf0hplp85d43ngcsic84kcxlzmsw-meshlab-2023.12/Applications/meshlab.app/Contents/PlugIns/libedit_measure.so' is not a valid Mach-O binary (not a dynamic library)
QMachOParser: '/nix/store/rmzvmf0hplp85d43ngcsic84kcxlzmsw-meshlab-2023.12/Applications/meshlab.app/Contents/PlugIns/libedit_paint.so' is not a valid Mach-O binary (not a dynamic library)
...
I don’t see any dynamic dependency errors:
› otool -L result/Applications/meshlab.app/Contents/MacOS/.meshlab-wrapped
result/Applications/meshlab.app/Contents/MacOS/.meshlab-wrapped:
/nix/store/rmzvmf0hplp85d43ngcsic84kcxlzmsw-meshlab-2023.12/lib/libmeshlab-common-gui.dylib (compatibility version 0.0.0, current version 0.0.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/nix/store/rmzvmf0hplp85d43ngcsic84kcxlzmsw-meshlab-2023.12/lib/libmeshlab-common.dylib (compatibility version 0.0.0, current version 0.0.0)
/nix/store/sxghqbd8n3dbqwj96kaa0a10y7rpj88b-qtbase-5.15.16/lib/libQt5Network.5.dylib (compatibility version 5.15.0, current version 5.15.16)
/nix/store/sxghqbd8n3dbqwj96kaa0a10y7rpj88b-qtbase-5.15.16/lib/libQt5OpenGL.5.dylib (compatibility version 5.15.0, current version 5.15.16)
/nix/store/sxghqbd8n3dbqwj96kaa0a10y7rpj88b-qtbase-5.15.16/lib/libQt5Widgets.5.dylib (compatibility version 5.15.0, current version 5.15.16)
/nix/store/sxghqbd8n3dbqwj96kaa0a10y7rpj88b-qtbase-5.15.16/lib/libQt5Gui.5.dylib (compatibility version 5.15.0, current version 5.15.16)
/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
/nix/store/sxghqbd8n3dbqwj96kaa0a10y7rpj88b-qtbase-5.15.16/lib/libQt5Xml.5.dylib (compatibility version 5.15.0, current version 5.15.16)
/nix/store/sxghqbd8n3dbqwj96kaa0a10y7rpj88b-qtbase-5.15.16/lib/libQt5Core.5.dylib (compatibility version 5.15.0, current version 5.15.16)
/nix/store/h9gjlmn79071nixwwdhi4rc86jbmir5d-openmp-18.1.8/lib/libomp.dylib (compatibility version 5.0.0, current version 5.0.0)
/nix/store/4lkjqxs6lwlzq10mirr8p17pl12mqlpy-glew-2.2.0/lib/libGLEW.2.2.dylib (compatibility version 2.2.0, current version 2.2.0)
/nix/store/m1frh81sdsab2v03n49ai9l5yhzn8s2x-libcxx-18.1.8/lib/libc++.1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5)
› otool -L result/Applications/meshlab.app/Contents/PlugIns/libio_base.so
result/Applications/meshlab.app/Contents/PlugIns/libio_base.so:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5)
Is there any guidance for debugging or documentation regarding Qt on Nix? Any help would be appreciated!
If you’re interested, my code is available here.