Bug report: gnucap-default-plugins.so fails to load on Arch Linux (snapshot 2026.03.29)
Aniol Martí <[email protected]> Mon, 25 May 2026 20:42:17 +0200
| Newsgroups | gmane.comp.gnu.gnucap.bugs |
|---|---|
| Message-ID | <[email protected]> |
Hello, I am writing to report a bug in gnucap snapshot 2026.03.29 on Arch Linux x86_64. ## Summary gnucap fails to load gnucap-default-plugins.so at startup, causing all directives (.INCLUDE, .PRINT, .AC, .END, etc.) to be unrecognized. ## Environment - OS: Arch Linux x86_64. - gnucap version: snapshot 2026.03.29 (main, core-lib and default plugins all matching). - Installed via AUR package. Also tried gnucap-git and manual build. ## Symptoms Running `gnucap -b circuit.cir` produces errors like: .INCLUDE uA741.model ^ ? INCLUDE: no match .PRINT AC vdb(4) ^ ? PRINT: no match .AC DEC 100 20 20k > f1.dat ^ ? AC: no match .END ^ ? END: no match ## Diagnosis Using strace, I found the following sequence when gnucap attempts to load the plugin: openat(AT_FDCWD, "/usr/lib/gnucap/gnucap-default-plugins.so", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOTDIR (Not a directory) openat(AT_FDCWD, "/usr/lib/gnucap/gnucap-default-plugins.so", O_RDONLY|O_CLOEXEC) = 3 The first openat call uses the O_DIRECTORY flag on a .so file, which fails with ENOTDIR. Although a second correct openat call follows and succeeds (fd=3), the plugin appears not to be initialised properly. All directives remain unrecognised throughout the session. The .so file exists, has correct permissions (755), and all its dependencies are satisfied (verified with ldd). ## Steps to reproduce 1. Install gnucap snapshot 2026.03.29 on Arch Linux. 2. Run `gnucap -b <any.cir>` with a standard netlist containing .PRINT, .AC, .END, etc. 3. Observe that all directives are reported as unrecognised. ## Additional notes Manually running `load /usr/lib/gnucap/gnucap-default-plugins.so` in interactive mode triggers a segmentation fault with the message "already loaded, replacing", suggesting the plugin is being loaded twice or there is a conflict during reinitialisation. Thank you for your time and for maintaining gnucap. Best regards, Aniol