On Tue, Feb 18, 2020 21:21:19 -0700, Orion Poplawski wrote:
<snip> There is also an API and arch/host directory involved:
path() in octave reports: /usr/lib64/octave/4.4.1/site/oct/x86_64-redhat-linux-gnu /usr/lib64/octave/site/oct/api-v52/x86_64-redhat-linux-gnu /usr/lib64/octave/site/oct/x86_64-redhat-linux-gnu /usr/lib64/octave/4.4.1/oct/x86_64-redhat-linux-gnu
and for example, an octave package will install it's library in:
/usr/lib64/octave/packages/netcdf-1.0.12/x86_64-redhat-linux-gnu-api-v52/__netcdf__.oct
See also:
%octave_host %(octave-config -p CANONICAL_HOST_TYPE || echo 0) %octave_api %(octave-config -p API_VERSION || echo 0)
Ah! Thanks Orion! That makes sense. I put the mex file in the right %{octpkglibdir}/%{octave_host}-%{octave_api} folder and now it is loaded properly.
Do you think this should/could be added to the guidelines? It doesn't mention %{octave_host} for example, and a note that says something like "For arch specific bits, Octave looks at %{octpkglibdir}/%{octave_host}-%{octave_api}" would help us novice octave packagers. I suspect a few of us aren't aware of this bit :)