Open JRSV opened 5 months ago
Ah yes, sorry, apparently libFLAC isn't selected to be packaged to deken (see: https://github.com/Ant1r/ofxPof/blob/b80210527454484f64003b7a09c8e7f9f8a09ac3/linuxExternal/upload.sh#L24C1-L30C1 ).
I'll try to upload a new version soon, in the meantime you could try to add the file libFLAC.so.8
from the following archive to the [your-externals-directory]/pof/libs/
directory:
great thanks... now I get libtiff.so.5 missing, I can't find any info about dependencies, is there any?? I did install the ./install_dependencies but I guess that is not specific for this.
again, libtiff.so5 seems to be a previous version as I can find libtiff.so6
libtiff.so.5.zip What next ;-?
I'll just have to add these dependencies. I don't think you can do anything, except trying to compile Pof by yourself. But I warn you: this can be quite long and tedious.
hehe.. cool, if you keep them coming, I keep adding until hopefully it loads entirely. HOWEVER!!! this last one crashes PD, it crashes at startup
running from terminal I get:
$ pd Pd-0.54.1 ("") compiled 18:11:18 Feb 11 2024 float precision = 32 bits port 41959 TCL_LIBRARY="/usr/local/lib/pd/lib/tcl/library" TK_LIBRARY="/usr/local/lib/pd/lib/tk/library" wish "/usr/local/lib/pd/tcl/pd-gui.tcl" 41959 Waiting for connection request... ... connected /usr/local/lib/pd/bin/pd-watchdog Illegal instruction jrsv@jrsv-dell:~ $ pdsend errorname: >>error writing "sock559c6dd83780": broken pipe<<
Ouch... So it seems we escaped from the dependency hell, but we encountered a more dangerous boss... It could be an incompatibility between the external binary and the newer Pd version. However this happens relatively rarely, Pd is quite stable in this regard. Or a more general discrepancy towards the other OS libraries.
You can help to find out what's going on, if you run pd in the debugger:
gdb -ex run --args pd -lib pof
When it crashes, type bt
(for: backtrace) and copy the buffer here.
In any case, I'm afraid there will have no other choice than recompiling for the OS version. That's what is done for every app in a distribution after all, but I guess it would be quite difficult to refactor an openFrameworks based app in a way that it would complies to debian packaging rules. But I admit I never tried (and don't know the procedure at all)...
oh darn!!! was afraid this was gonna happen. Ok, lets start from the begging, here is gdb output by your instructions:
$ gdb -ex run --args pd -lib pof GNU gdb (Debian 13.1-3) 13.1 Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: https://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/.
For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from pd... Starting program: /usr/local/bin/pd -lib pof [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Pd-0.54.1 ("") compiled 18:11:18 Feb 11 2024 float precision = 32 bits port 42477 TCL_LIBRARY="/usr/local/lib/pd/lib/tcl/library" TK_LIBRARY="/usr/local/lib/pd/lib/tk/library" wish "/usr/local/lib/pd/tcl/pd-gui.tcl" 42477 [Detaching after fork from child process 92886] Waiting for connection request... ... connected [Detaching after fork from child process 92889] /usr/local/lib/pd/bin/pd-watchdog
Program received signal SIGILL, Illegal instruction. 0x00007ffff619ab6b in ofFilePath::getCurrentExePath[abi:cxx11]() () from /home/jrsv/Documents/Pd/externals/pof/pof.pd_linux (gdb) watchdog: signaling pd... watchdog: signaling pd... bwatchdog: signaling pd... watchdog: signaling pd... bt
at /home/jrsv/Documents/Pd/externals/pof/pof.pd_linux
at /home/jrsv/Documents/Pd/externals/pof/pof.pd_linux
at /home/jrsv/Documents/Pd/externals/pof/pof.pd_linux
at /home/jrsv/Documents/Pd/externals/pof/pof.pd_linux
at /home/jrsv/Documents/Pd/externals/pof/pof.pd_linux
at /lib/x86_64-linux-gnu/libc.so.6
at /lib/x86_64-linux-gnu/libc.so.6
at /lib/x86_64-linux-gnu/libc.so.6
--Type
(fd=<optimized out>, dirbuf=dirbuf@entry=0x7fffffffcc20 "/home/jrsv/Documents/Pd/externals/pof", nameptr=0x7fffffffcc46 "pof.pd_linux", symname=symname@entry=0x7fffffffc440 "pof_setup", objectname=<optimized out>) at s_loader.c:317
(canvas=<optimized out>, objectname=<optimized out>, path=0x555555734570 "/home/jrsv/Documents/Pd/externals") at s_loader.c:411
(path=0x555555734570 "/home/jrsv/Documents/Pd/externals", data=0x7fffffffd4b0) at s_loader.c:474
(x=x@entry=0x0, fun=fun@entry=0x555555600940 <sys_loadlib_iter>, user_data=user_data@entry=0x7fffffffd4b0) at g_canvas.c:1930
(x=x@entry=0x0, fun=fun@entry=0x555555600940 <sys_loadlib_iter>, user_data=user_data@entry=0x7fffffffd4b0) at g_canvas.c:1896
(canvas=canvas@entry=0x0, classname=0x555555735500 "pof") at s_loader.c:512
(dummy=<optimized out>, s=<optimized out>, argc=<optimized out>, argv=0x7fffffffd970) at s_main.c:312
(x=<optimized out>, target=0x5555556ba578 <glob_pdobject>,
target@entry=0x0, argc=argc@entry=0, argv=argv@entry=0x0) at m_binbuf.c:764
at s_inter.c:698
at s_inter.c:241
at /lib/x86_64-linux-gnu/libc.so.6
(gdb) watchdog: signaling pd... watchdog: signaling pd... c Continuing.
Program terminated with signal SIGILL, Illegal instruction. The program no longer exists. (gdb)
Sorry I don't clearly understand what it's about.
It seems the crash happens in ofFilePath::getCurrentExePath()
(which isn't a very complicated code, where I don't see what could crash), but there's also this "abi:cxx11" suffix which I don't really understand (btw I think the github formatting has damaged these lines a bit, next time try to put them in a "code" block), but which could point to a C++ version problem.
So...
That's ok, its a pitty I cant try the library. FYI: If I put the lines as code, it gets reaaaally messed up, as far as I can tell, it looks similar to the info in the terminal.
anyway, thanks.
There could be a last thing to check: if you type in the command line:
readlink /proc/self/exe
It should normally return something like:
/bin/readlink
(which is the name of the program that reads the special file /proc/self/exe; it's possible that the crash happens while reading this special file).
Does it work? No permission issue?
works with no issue : /
Hello,
I am trying to use the library installing it through Deken, but unfortunately I get the following error when loading:
libFLAC.so.8: cannot open shared object file: No such file or directory
I am running a Debian 12 based system
if I do: dpkg -l | grep libflac
I get: ii libflac++10:amd64 1.4.2+ds-2 amd64 Free Lossless Audio Codec - C++ runtime library ii libflac-dev:amd64 1.4.2+ds-2 amd64 Free Lossless Audio Codec - C development library ii libflac12:amd64 1.4.2+ds-2 amd64 Free Lossless Audio Codec - runtime C library ii libflac12:i386 1.4.2+ds-2 i386 Free Lossless Audio Codec - runtime C library
so it seems it is linked to a previous? version... maybe?
any ideas how to fix this?
BTW, I dont seem to find libflac8 installation candidate
cheers