Dear Maintainer, With only netgen installed, the graphical interface does not start: $ netgen NETGEN-6.2.2606 ... Error in Tcl-Script: result = couldn't load file "libnggui.so": libnggui.so: cannot open shared object file: No such file or directory ng/ng.tcl loads the GUI library by its unversioned name: load libnggui[info sharedlibextension] gui In the Debian packaging that name exists only in libnglib-dev (debian/libnglib-dev.install: usr/lib/*/libnggui.so), while the runtime package libnglib-6.2t64 ships libnggui.so.6.2 and libnggui.so.6.2.2606. Installing libnglib-dev makes the GUI start, which is why it is easy to miss on a development machine. A possible correction is a Debian patch that loads the library by its SONAME, so no -dev symlink is needed at run time: - load libnggui[info sharedlibextension] gui + load libnggui[info sharedlibextension].6.2 gui Note that the netgen binary does not read ng/ng.tcl at run time: the Tcl sources are compiled into ng/onetcl.cpp, which is committed pre-generated in the source tree. The same change has to be made in ng/onetcl.cpp (or onetcl.cpp regenerated during the build), otherwise the patch has no effect. Steps to reproduce, in a clean debian:testing container: apt-get install netgen xvfb xauth xvfb-run -a netgen Found while packaging a stereo 3D version of netgen for Sparky Stereo OS, an edition of SparkyLinux. Regards, Daniel Campos Ramos
Hello,
Here is a tested patch for this report, as a Debian patch applied after fix-version.patch.
It loads libnggui.so.6.2 first and falls back to the unversioned name, in ng/ng.tcl and in the pre-generated ng/onetcl.cpp, as the report describes.
Tested in a clean debian:testing container without libnglib-dev.
With 6.2.2606+dfsg1-1, `netgen -batchmode` stops at "couldn't load file libnggui.so".
With the patch it loads the GUI library and reaches "This operation needs a mesh", the same as with libnglib-dev installed.
Started from the desktop menu, the patched package opens Netgen's window.
The version in the load line follows the SOVERSION set in fix-version.patch, so the two change together.
Description: Load the GUI library by its SONAME
fix-version.patch gives libnggui the SONAME libnggui.so.6.2, and the
unversioned libnggui.so link is shipped only in libnglib-dev, so the Tcl
script's "load libnggui.so gui" failed whenever libnglib-dev was not
installed: the GUI started from the menu printed "couldn't load file
libnggui.so" and exited. Load the library by its SONAME, and keep the
unversioned name as the fallback for builds without fix-version.patch.
The version here follows the SOVERSION set in fix-version.patch.
Author: Daniel Ramos (Capitain Jack) <Capitain_Jack@yahoo.com>
Assisted-by: Claude Opus via Claude Code
Forwarded: not-needed
Last-Update: 2026-10-10
--- a/ng/ng.tcl
+++ b/ng/ng.tcl
@@ -2,7 +2,9 @@
catch {lappend auto_path $env(NETGENDIR)/../lib }
if {[catch {Ng_GetCommandLineParameter batchmode} result ]} {
- load libnggui[info sharedlibextension] gui
+ if {[catch {load libnggui[info sharedlibextension].6.2 gui}]} {
+ load libnggui[info sharedlibextension] gui
+ }
}
set batchmode [Ng_GetCommandLineParameter batchmode]
--- a/ng/onetcl.cpp
+++ b/ng/onetcl.cpp
@@ -3,8 +3,10 @@
,"catch {lappend auto_path $env(NETGENDIR) }\n"
,"catch {lappend auto_path $env(NETGENDIR)/../lib }\n"
,"if {[catch {Ng_GetCommandLineParameter batchmode} result ]} {\n"
+,"if {[catch {load libnggui[info sharedlibextension].6.2 gui}]} {\n"
,"load libnggui[info sharedlibextension] gui\n"
,"}\n"
+,"}\n"
,"set batchmode [Ng_GetCommandLineParameter batchmode]\n"
,"if {$batchmode==\"undefined\"} {\n"
,"if {[catch {package require tkdnd } result ]} {\n"
This patch was prepared with AI assistance; I directed and tested it.
Daniel Ramos
We believe that the bug you reported is fixed in the latest version of
netgen, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 1150173@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Drew Parsons <dparsons@debian.org> (supplier of updated netgen package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sat, 17 Oct 2026 17:54:58 +0200
Source: netgen
Architecture: source
Version: 6.2.2606+dfsg1-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Changed-By: Drew Parsons <dparsons@debian.org>
Closes: 1125008 1150068 1150173
Changes:
netgen (6.2.2606+dfsg1-3) unstable; urgency=medium
.
* Team upload.
* debian/tests Depends: dpkg-dev (for dpkg-architecture). Closes: #1150068
* netgen Depends: libnglib-dev instead of libnglib-6.2t64
(>= ${binary:Version}). Tcl is not smart about shared libraries,
treating "libnglib.so" literally, and is ignorant of the ABI.
Closes: #1150173, #1125008.
* move debian/menu to netgen.menu
Checksums-Sha1:
e40829dea4c32db1f8af91f175bb6409dab6c2a4 3019 netgen_6.2.2606+dfsg1-3.dsc
aea6b66f1c894d1f248cf2e4f7219850d8c38aa9 25596 netgen_6.2.2606+dfsg1-3.debian.tar.xz
beb0a2b0e71b7b1c7c42139318345eae82ebac77 28374 netgen_6.2.2606+dfsg1-3_amd64.buildinfo
Checksums-Sha256:
1b1b7760739c50748fa11dd909bdb1b8b40638c3eb1bf1f5a7acbea4f1b391f8 3019 netgen_6.2.2606+dfsg1-3.dsc
dc0bd581287ab6add158222e7e708e4c46009f6149ab6435ca19342701d4efd9 25596 netgen_6.2.2606+dfsg1-3.debian.tar.xz
bad9e14d7f30409d537a49b61e9c8d2c6510889f979db5f70e0b39c0457d9f1e 28374 netgen_6.2.2606+dfsg1-3_amd64.buildinfo
Files:
8fe070efcc3679732547a6648ad4abcb 3019 math optional netgen_6.2.2606+dfsg1-3.dsc
c2b8f0725282d9853e1bad3748961bbb 25596 math optional netgen_6.2.2606+dfsg1-3.debian.tar.xz
0565136ad20969b7170a3a22bd817120 28374 math optional netgen_6.2.2606+dfsg1-3_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEI8mpPlhYGekSbQo2Vz7x5L1aAfoFAmrTnzAACgkQVz7x5L1a
AfoyQw//Zv5vBte3IXcX3RejdpftEVGEjdFBi5f1ow7yK5zquiiZiWR+RxleMX3s
Q+Driy/krbFivgvlE5I/vq17Q6OZ7qUdJBo561hgTfcR+c/MUgeZAO11qLA2es/K
9mP+G2TDVHLdBHgeBxMurCadRKkJiqdKDX2mb5lv11cQE+GVuasHTXA1i6tYTIAW
FPhXVKF6681G6vUYNpG+o4b/el9QRzj1Xtf4OAhNH/xtcwIaFg24l9wiIo7I7kY6
RHTOeRbyauV8TII6M8aJ119NPRqO6veWF12rZQfIr+ISx6mz+WY+ox16E4X0hfxf
vEZAAe3LzSTQGfB3GnjqAxFRNSmDCa27dyc8mHSAcyLrZXqG8kAzoQAMfOGUpty7
tJLfoezGl/RRylDlklj3mqSyhtgUpvnXPnjTF8JXDgIgROItWszANA0XdO8kW8hd
+EyysHH0Y2mf/r6EIMDje+CXiStxFYxgeOKRh74fp/CdOJ577xrFh7pcZblGXiqN
mQ/9LLw3AroPP15HYfrClrl24pVqjMnv8AtCtoL+NtByVlJ4MiqXzEnnFtjYylU1
UGKMU3B5XRYDNObrgNZ8QUwLsKMMRNrOPFB+ONBMaLYSF/3r2SGSaJKP0zpbMQPq
cr8oPqtxB8MrbnQsiY7zH2GPulGdo9IBTdKUw+bME2aQ0ZX/X1E=
=BOTS
-----END PGP SIGNATURE-----