[Csnd] Cannot open shared library
Date | 2020-05-10 22:16 |
From | "Jeanette C." |
Subject | [Csnd] Cannot open shared library |
Hey hey, I noticed that I have a small issue with csound and opcode libraries. Something like this appears when typing: $ csound -z WARNING: could not open library '/usr/lib/csound/plugins64-6.0/libelse.so' (/usr/lib/csound/plugins64-6.0/libelse.so: undefined symbol: __pow_finite) This message is repeated for: libhdf5ops.so libwebsocketIO.so Apparently the required libraries libhdf5.so and lib websockets.so aren't found, although they are installed on the system. All involved packages were installed through my system package manager (ArchLinux pacman). Can anyone suggest a solution? If that might be indicative: having installed risset, I had issues, because it only looked at /usr/local/lib instead of /usr/lib . In the shell environment the OPCODE6DIR points to /usr/local/lib/csound/plugin64-6.0 . Best wishes, Jeanette -- * Website: http://juliencoder.de - for summer is a state of sound * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g * SoundCloud: https://soundcloud.com/jeanette_c * Twitter: https://twitter.com/jeanette_c_s * Audiobombs: https://www.audiobombs.com/users/jeanette_c * GitHub: https://github.com/jeanette-c What's practical is logical. What the hell, who cares? All I know is I'm so happy when you're dancing there. <3 (Britney Spears) Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2020-05-10 22:19 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] Cannot open shared library |
Platform, Distribution? $ csound --version On 10.05.20 23:16, Jeanette C. wrote: > Hey hey, > I noticed that I have a small issue with csound and opcode libraries. > Something like this appears when typing: > $ csound -z > WARNING: could not open library > '/usr/lib/csound/plugins64-6.0/libelse.so' > (/usr/lib/csound/plugins64-6.0/libelse.so: undefined symbol: > __pow_finite) > > This message is repeated for: > libhdf5ops.so > libwebsocketIO.so > > Apparently the required libraries libhdf5.so and lib websockets.so > aren't found, although they are installed on the system. All involved > packages were installed through my system package manager (ArchLinux > pacman). > > Can anyone suggest a solution? > > If that might be indicative: having installed risset, I had issues, > because it only looked at /usr/local/lib instead of /usr/lib . In the > shell environment the OPCODE6DIR points to > /usr/local/lib/csound/plugin64-6.0 . > > Best wishes, > > Jeanette > Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2020-05-10 22:28 |
From | "Jeanette C." |
Subject | Re: [Csnd] Cannot open shared library |
May 10 2020, Eduardo Moguillansky has written: > Platform, Distribution? Linux: ArchLinux. Csound installed through pacman, version 6.14.0-3 risset installed from github and eve edited to no longer include /usr/local/lib hardcoded. Best wishes, Jeanette > > $ csound --version > > On 10.05.20 23:16, Jeanette C. wrote: >> Hey hey, >> I noticed that I have a small issue with csound and opcode libraries. >> Something like this appears when typing: >> $ csound -z >> WARNING: could not open library '/usr/lib/csound/plugins64-6.0/libelse.so' >> (/usr/lib/csound/plugins64-6.0/libelse.so: undefined symbol: __pow_finite) >> >> This message is repeated for: >> libhdf5ops.so >> libwebsocketIO.so >> >> Apparently the required libraries libhdf5.so and lib websockets.so aren't >> found, although they are installed on the system. All involved packages >> were installed through my system package manager (ArchLinux pacman). >> >> Can anyone suggest a solution? >> >> If that might be indicative: having installed risset, I had issues, because >> it only looked at /usr/local/lib instead of /usr/lib . In the shell >> environment the OPCODE6DIR points to /usr/local/lib/csound/plugin64-6.0 . >> >> Best wishes, >> >> Jeanette >> > > Csound mailing list > Csound@listserv.heanet.ie > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND > Send bugs reports to > https://github.com/csound/csound/issues > Discussions of bugs and features can be posted here > -- * Website: http://juliencoder.de - for summer is a state of sound * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g * SoundCloud: https://soundcloud.com/jeanette_c * Twitter: https://twitter.com/jeanette_c_s * Audiobombs: https://www.audiobombs.com/users/jeanette_c * GitHub: https://github.com/jeanette-c What's practical is logical. What the hell, who cares? All I know is I'm so happy when you're dancing there. <3 (Britney Spears) Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2020-05-10 22:40 |
From | Rory Walsh |
Subject | Re: [Csnd] Cannot open shared library |
If you don't need those opcodes, you can probably just remove the .so files? On Sun, 10 May 2020 at 22:28, Jeanette C. <julien@mail.upb.de> wrote: May 10 2020, Eduardo Moguillansky has written: |
Date | 2020-05-10 22:44 |
From | "Jeanette C." |
Subject | Re: [Csnd] Cannot open shared library |
May 10 2020, Rory Walsh has written: > If you don't need those opcodes, you can probably just remove the .so > files? Well, the libelse.so I just installed and wanted to try. The hdf5 and websocket opcode I don't need and I can ignore for the time being. :) Best wishes, Jeanette > > On Sun, 10 May 2020 at 22:28, Jeanette C. |
Date | 2020-05-10 23:03 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] Cannot open shared library |
Your installation is somewhat confusing: csound on linux is
hardcoded to default to /usr/local/lib, so you've changed that.
Besides that OPCODE6DIR should have no influence since you are
using a doubles build. You can build the plugins yourself. git clone https://github.com/csound-plugins/csound-plugins cd csound-plugins mkdir build cd build pacman install nasm cmake .. make -j8 sudo make install On 10.05.20 23:44, Jeanette C. wrote:
May 10 2020, Rory Walsh has written: |
Date | 2020-05-10 23:10 |
From | "Jeanette C." |
Subject | Re: [Csnd] Cannot open shared library |
May 11 2020, Eduardo Moguillansky has written: > Your installation is somewhat confusing: csound on linux is hardcoded to > default to /usr/local/lib, ... You can set the installation path of Csound to be /usr instead of /usr/local, which is usually done by package managers. Best wishes, Jeanette -- * Website: http://juliencoder.de - for summer is a state of sound * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g * SoundCloud: https://soundcloud.com/jeanette_c * Twitter: https://twitter.com/jeanette_c_s * Audiobombs: https://www.audiobombs.com/users/jeanette_c * GitHub: https://github.com/jeanette-c What's practical is logical. What the hell, who cares? All I know is I'm so happy when you're dancing there. <3 (Britney Spears) Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2020-05-10 23:57 |
From | Pete Goodeve |
Subject | Re: [Csnd] Cannot open shared library |
Attachments | None |
Date | 2020-05-11 01:28 |
From | Hlöðver Sigurðsson |
Subject | Re: [Csnd] Cannot open shared library |
Btw, I strongly advice against such assumption "csound on linux is hardcoded to default to /usr/local/lib," about any linux software. An installation directory defaults to prefix path used during installation, wherever that may be. Relying on absolute installation paths makes installations impure and non-posix compliant. On Mon, 11 May 2020 at 00:57, Pete Goodeve <pete.goodeve@computer.org> wrote: On Sun, May 10, 2020 at 11:16:01PM +0200, Jeanette C. wrote: |
Date | 2020-05-11 01:43 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] Cannot open shared library |
It is not **my** assumption, look at Top/csmodule.c On 11.05.20 02:28, Hlöðver Sigurðsson
wrote:
|
Date | 2020-05-11 02:28 |
From | Hlöðver Sigurðsson |
Subject | Re: [Csnd] Cannot open shared library |
aaaaahaha :D wow, I did not see this https://github.com/csound/csound/blame/a739e0b3c152aa5a34bd7407cc938c8908005db0/Top/csmodule.c#L162 thanks for telling me, there's a lot of dirty work that needs to be done, so my nagging is justified, just need to direct it correctly, and I should mention, that debugging problems from installation directory makes total sense. On Mon, 11 May 2020 at 02:44, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:
|
Date | 2020-05-11 03:07 |
From | Steven Yi |
Subject | Re: [Csnd] Cannot open shared library |
There's also this in CMake if(BUILD_RELEASE) add_definitions("-D_CSOUND_RELEASE_") if(LINUX) set(DEFAULT_OPCODEDIR "${CMAKE_INSTALL_PREFIX}/${PLUGIN_INSTALL_DIR}") add_definitions("-DCS_DEFAULT_PLUGINDIR=\"${DEFAULT_OPCODEDIR}\"") endif() else() add_definitions("-DBETA") endif() And it's unknown whether packagers may or may not override CS_DEFAULT_PLUGINDIR. Probably makes sense to check the environment variables for OPCODE6DIR64 too for where to install opcode libraries. Arch's package does look like it needs to be fixed to set OPCODE6DIR64. On Sun, May 10, 2020 at 9:28 PM Hlöðver Sigurðsson <hlolli@gmail.com> wrote:
|
Date | 2020-05-11 11:46 |
From | "Jeanette C." |
Subject | Re: [Csnd] Cannot open shared library |
May 11 2020, Steven Yi has written: ... > Arch's package does look like it needs to be fixed to set OPCODE6DIR64. ... Thanks Steven and all of you. Should OPCODE6DIR64 be set somewhere in the cmake configuration process? I'll be happy to pass it on. Best wishes, Jeanette -- * Website: http://juliencoder.de - for summer is a state of sound * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g * SoundCloud: https://soundcloud.com/jeanette_c * Twitter: https://twitter.com/jeanette_c_s * Audiobombs: https://www.audiobombs.com/users/jeanette_c * GitHub: https://github.com/jeanette-c There must be another way Cause I believe in taking chances But who am I to say - What a girl is to do <3 (Britney Spears) Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2020-05-11 12:10 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] Cannot open shared library |
Now risset looks first at OPCODE6DIR64 and uses that if defined. On linux it then looks at /usr/local/lib/csound... and if not found looks at /usr/lib/csound/... But all this would be much easier if csound had a default search
path for user plugins. Then we wouldn't be having this
conversation. On 11.05.20 04:07, Steven Yi wrote:
|
Date | 2020-05-11 13:41 |
From | Michael Gogins |
Subject | Re: [Csnd] Cannot open shared library |
Different platforms have different conventions. On Linux, /usr is for files managed by the system's installer or package manager, e.g. "sudo apt install", and /usr/local is for files installed in other ways, e.g. "sudo make install." Then there may also be a ~/.local tree for files installed without needing root or sudo permissions. Given a package, installing to /usr/, /usr/local/, or ~/local/ should result in exactly the same tree of files under these three roots. Except maybe for etc. Also on Linux/Unix, there is a common convention for the precedence of configuration commands. In increasing order of priority, the default is set by the command given without options, i.e. by the default values of options; then by options given in /etc if they exist; then by the values of environment variables; then by options given in ~/.somethingrc or ~/.config/something if they exist; and finally, by options given on the command line. I think. For 64 bit sample word builds of Csound: Default: /usr/local/lib/csound/plugins64-6.0 Environment: the value of OPCODE6DIR64 (the Debian package sets this to /usr/lib/csound/plugins64-6.0). .csound6rc: --env:OPCODE6DIR64=something Command line: --env:OPCODE6DIR64=something For risset, then, try in order: 1. Plugin dir given as command option (risset install --opcodedir something) 2. Plugin dir in ~/.csound6rc 3. Value of OPCODE6DIR64 4. Default to /usr/local/csound/lib/plugin64-6.0. ----------------------------------------------------- Michael GoginsIrreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Mon, May 11, 2020 at 7:12 AM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:
|