Octave package installation

  • Open
  • quality assurance status badge
Details
2 participants
  • Guillaume Le Vaillant
  • Zacchaeus Scheffer
Owner
unassigned
Submitted by
Zacchaeus Scheffer
Severity
normal
Z
Z
Zacchaeus Scheffer wrote on 29 Sep 2021 20:06
(address . bug-guix@gnu.org)
CAJejy7=q3BOS1Bj9GgX3XGcaA1T7Q2nfxcM=VtTyT_nJ=3Bheg@mail.gmail.com
Hi Guix!

After installing octave, I tried to install the image package in octave in
two ways. One by running:
Toggle quote (1 lines)
> pkg install image-<version#>.tar.gz
where image-<version#>.tar.gz is in my cwd. I also tried installing with:
Toggle quote (1 lines)
> pkg install -forge image
In both cases, I had the same problem. The first error I was getting was:
Toggle quote (3 lines)
>configure: error: in `/tmp/oct-6RV451/image-2.12.0/src':
>configure: error: C++ compiler cannot create executables

This error can be fixed by installing gcc-toolchain. After doing so,
attempting to install image gives:
Toggle quote (2 lines)
>ld: cannot find -loctinterp
>ld: cannot find -loctave
repeatedly (full output below). These libraries seem like they should be
included in the octave installation, and also like they should be absolute
paths. I looked for any instance of octinterp in filenames and found these
in the octave install:
./include/octave-6.2.0/octave/liboctinterp-build-info.h
./lib/octave/6.2.0/liboctinterp.la
./lib/octave/6.2.0/liboctinterp.so.8.0.1
./lib/octave/6.2.0/liboctinterp.so
./lib/octave/6.2.0/liboctinterp.so.8
./lib/pkgconfig/octinterp.pc
I tried installing image with these in my cwd, but no dice. Even if these
are the correct library files, octave is installing this in my user
directory so the cwd won't be the same.

I need this to work for a class, so I'm willing to put in some hours (days)
to make this work, but I'm pretty lost if anyone has ideas on where to go
next.

Thanks,
Zacchae
Attachment: file
G
G
Guillaume Le Vaillant wrote on 10 Oct 2021 22:56
(name . Zacchaeus Scheffer)(address . zaccysc@gmail.com)(address . 50897@debbugs.gnu.org)
87o87w4may.fsf@kitej
Zacchaeus Scheffer <zaccysc@gmail.com> skribis:

Toggle quote (36 lines)
> Hi Guix!
>
> After installing octave, I tried to install the image package in octave in
> two ways. One by running:
>> pkg install image-<version#>.tar.gz
> where image-<version#>.tar.gz is in my cwd. I also tried installing with:
>> pkg install -forge image
> In both cases, I had the same problem. The first error I was getting was:
>>configure: error: in `/tmp/oct-6RV451/image-2.12.0/src':
>>configure: error: C++ compiler cannot create executables
>
> This error can be fixed by installing gcc-toolchain. After doing so,
> attempting to install image gives:
>>ld: cannot find -loctinterp
>>ld: cannot find -loctave
> repeatedly (full output below). These libraries seem like they should be
> included in the octave installation, and also like they should be absolute
> paths. I looked for any instance of octinterp in filenames and found these
> in the octave install:
> ./include/octave-6.2.0/octave/liboctinterp-build-info.h
> ./lib/octave/6.2.0/liboctinterp.la
> ./lib/octave/6.2.0/liboctinterp.so.8.0.1
> ./lib/octave/6.2.0/liboctinterp.so
> ./lib/octave/6.2.0/liboctinterp.so.8
> ./lib/pkgconfig/octinterp.pc
> I tried installing image with these in my cwd, but no dice. Even if these
> are the correct library files, octave is installing this in my user
> directory so the cwd won't be the same.
>
> I need this to work for a class, so I'm willing to put in some hours (days)
> to make this work, but I'm pretty lost if anyone has ideas on where to go
> next.
>
> Thanks,
> Zacchae

Hi,

I was able to build an octave package after specifying the location of
the required libraries using the LDFLAGS environment variable:

Toggle snippet (6 lines)
export LDFLAGS=-L${GUIX_PROFILE}/lib/octave/6.2.0
octave
pkg install xyz.tar.gz
pkg load xyz

However, it would be better to have an octave-build-system making Guix
able to build, install and setup Octave packages (e.g. Octave Forge
packages).
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYWNXFQ8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j89wAD/bfOBGQEey5kNjask7P705dNFz3/h6VK0eToB
BvIZKlQBAIpTtXEMSN5eJxoWzPwr7kVa/v1xKr/e8BESx9fJ52xz
=5DJs
-----END PGP SIGNATURE-----

Z
Z
Zacchaeus Scheffer wrote on 11 Oct 2021 18:33
(name . Guillaume Le Vaillant)(address . glv@posteo.net)(address . 50897@debbugs.gnu.org)
CAJejy7kOFeVHexaPrqYaTH-L-VN1DUvBXwQ9Fin5pNBD51stYA@mail.gmail.com
That certainly works as a hack. I ended up installing from source locally
because I needed it to work now. It is strange that my local build didn't
encounter this problem when all I did was grab the tarball, untar, cd in and
Toggle quote (1 lines)
>./configure --prefix=~/.local && make && make install
which should be more or less equivalent to how guix builds it (build system
is gnu-build-system). An octave-build-system is definitely a good idea,
but the ability to install octave packages the "normal" way should probably
be resolved first and preserved (just like you can still install emacs
packages through (M)ELPA or through guix).

-zacchae
Attachment: file
?