Oh yeah, plugins. Cool. All makes sense now.
Maybe next time I do this I'll try Atlas.
thanks
JM
On 5/27/25 23:23, Ben Stern wrote:
dlopen is one way to allow plugins (aka extensions) to work. If I can
arbitrarily open shared object files (aka libraries) at runtime, aka link
them in at runtime, I can extend a program without needing the original
author to know everything my extension does.
It's analogous to Perl's "use" functionality. (I'm not asserting "use
DBI::DBD" does a dlopen, but I'm not asserting it doesn't, either.)
I also don't know why octave doesn't link explicitly against liboctave but
I'm sure there's a reason. Perhaps this way liboctave can be upgraded
underneath octave without having to relink it, but this is mere speculation.
Cheers,
Ben
On Tue, May 27, 2025 at 12:51:09AM -0400, J. Milgram wrote:
hmm... dl ... open
Ah, so then ... dlopening liboctave is a way for octave to get to
libopenblas, without it being picked up by "ldd octave" ...(?) That explains
a lot.
Dumb related question: why does dlopen exist? Why not just link to the
shared object at compile time?
thx
Judah
On 5/25/25 22:02, Ben Stern wrote:
0 bstern@farad:~$ ldd /usr/lib64/octave/7.3.0/liboctave.so.9.0.0 | grep -i blas
libopenblas.so.0 => /usr/lib64/libopenblas.so.0 (0x00007f0dfe74e000)
Looks like:
- octave dlopens liboctave at runtime
- I need to upgrade octave
Ben
On Sun, May 25, 2025 at 06:34:39PM -0400, J. Milgram wrote:
Good idea to check with "strings" ... nothing familiar popped up, though.
I was able to convince myself by experiment that "strings" would have popped
out the blas symbols if blas had been statically linked so that's a good
tool for the toolbox.
thanks
Judah
On 5/25/25 17:54, Peter J. Teuben wrote:
Maybe a statc link. The strings command might give names you recognize
On Sun, May 25, 2025, 17:02 J. Milgram <milg...@cgpp.com> wrote:
Here's a mystery I'm hoping someone can explain:
I just built octave (9.2.0). As usual, an easy build. But this
time I'm
curious: How can I confirm that it linked against OpenBLAS and not
one
of the other blas's I have installed?
ldd /usr/bin/octave doesn't turn up any blas libraries at all. (huh?!)
The build procedure is advertised as using the first blas it
finds from
the list [ OpenBLAS, atlas, netlib reference implementation ]. I have
the first and third installed so am hoping for OpenBLAS.
Anyone know a way to check this? Or why ldd doesn't show the
executable
linked to any blas at all?
thanks! And a meaningful Mem Day to all.
Judah
-- =====
milg...@cgpp.com
301-257-7069
You received this email because you are subscribed to the UM Linux
User's Group (UM-LINUX) mailing list. If you would like to
unsubscribe from this list, simply send an email to
lists...@listserv.umd.edu with the message signoff UM-LINUX in the
body.
You received this email because you are subscribed to the UM Linux User's
Group (UM-LINUX) mailing list. If you would like to unsubscribe from this
list, simply send an email to lists...@listserv.umd.edu with the message
signoff UM-LINUX in the body.
--
=====
milg...@cgpp.com
301-257-7069
You received this email because you are subscribed to the UM Linux User's Group
(UM-LINUX) mailing list. If you would like to unsubscribe from this list,
simply send an email to lists...@listserv.umd.edu with the message signoff
UM-LINUX in the body.
--
=====
milg...@cgpp.com
301-257-7069
--
=====
milg...@cgpp.com
301-257-7069
You received this email because you are subscribed to the UM Linux User's Group
(UM-LINUX) mailing list. If you would like to unsubscribe from this list,
simply send an email to lists...@listserv.umd.edu with the message signoff
UM-LINUX in the body.