Bug#1150173: netgen: GUI does not start without libnglib-dev: loads the unversioned libnggui.so
Daniel Ramos
capitain_jack at yahoo.com
Sun Oct 11 05:14:01 BST 2026
Control: tags -1 patch
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 at 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
More information about the debian-science-maintainers
mailing list