library paths shouldn't be hardcoded
Factor looks for libraries named libgtkglext-x11-1.0.so (and for gdk) but on my system, the library has at least a .0 suffix, so I had to
ln -s libgtkglext-x11-1.0.so.0 /lib/libgtkglext-x11-1.0.so
ln -s libgdkglext-x11-1.0.so.0 /lib/libgdkglext-x11-1.0.so
but the correct library paths are in the generated basis/gir/*.gir files, so this step shouldn't be necessary.
Thank you -- we've been relying on the -dev packages on e.g. ubuntu etc, but you're right this is a better approach.
Hello, I face issue with this library too. Unfortunately, I can't start factor on Debian 13
./factor -i=factor.image&
╰─ Cannot resolve C library function ─╯ Library: DLL" libgtkglext-x11-1.0.so" Symbol: gtk_gl_init DlError: libgtkglext-x11-1.0.so: cannot open shared object file: No such file or directory
(U) [ c-to-factor => ] c-to-factor (U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ] (O) command-line-startup (O) with-ui (O) M\ gtk2-ui-backend (with-ui) (U) [ OBJ-CURRENT-THREAD special-object error-thread set-global current-continuation => error-continuation set-global [ original-error set-global ] [ rethrow ] bi ]
There is no such library any more in Debian
Does that message mean that Factor still relies on GTK2? IIRC it was EOL:ed around 2020.
I have the same issue on Debian Trixie/13.
Currently, yes. We need to update the GTK2 backend to GTK3/4.
From the Discord:
installing the .deb from a previous Ubuntu version wasn't something I really thought would work, but I installed the plucky/25.04 version.
That almost works -- I needed to manually add some symlinks that the factor binary was looking for: in /usr/lib/x86_64-linux-gnu I did:
sudo ln -s libgtkglext-x11-1.0.so.0.0.0 libgtkglext-x11-1.0.so sudo ln -s libgdkglext-x11-1.0.so.0.0.0 libgdkglext-x11-1.0.so
Right, thanks. I was planning on showing Factor to an intern but I'm not going to drag them through something like that, I'll pick some other niche language I've used instead.
@cess11 I have ported Factor's UI to GTK3. The latest Linux nightly build has it enabled, as does the latest git ref.