Closed dvzrv closed 4 years ago
Any ideas what has changed ?
@flatmax - argh, there are piles and piles of warnings against 5.1.0, but the only important message is buried in the middle:
$ make 2>&1 | grep error
Octave.C:46:21: error: default argument given for parameter 2 of ‘octave_value get_global_value(const string&, bool)’ [-fpermissive]
The important message is right at the beginning:
Octave.C:46:21: error: default argument given for parameter 2 of ‘octave_value get_global_value(const string&, bool)’ [-fpermissive]
46 | extern octave_value get_global_value (const string& nm, bool silent = false);
| ^~~~~~~~~~~~~~~~
In file included from /usr/include/octave-5.1.0/octave/../octave/hook-fcn.h:33,
from /usr/include/octave-5.1.0/octave/../octave/input.h:34,
from /usr/include/octave-5.1.0/octave/../octave/lex.h:34,
from /usr/include/octave-5.1.0/octave/../octave/parse.h:36,
from Octave.C:18:
/usr/include/octave-5.1.0/octave/../octave/variables.h:144:1: note: previous specification in ‘octave_value get_global_value(const string&, bool)’ here
144 | get_global_value (const std::string& nm, bool silent = false);
| ^~~~~~~~~~~~~~~~
Since the function prototype is declared in octave's header, there is really no need to have that "extern" line. Just deleting it works.
In the middle of the configure, there is also a message:
warning: LFLAGS is deprecated and will be removed in a future version of Octave, use LDFLAGS instead
checking for /usr/include/octave-5.1.0/octave/../octave/octave.h... yes
Anyway, I was able to get past octave related errors, by doing two things:
delete the "extern octave_value get_global_value ..." line in src/Octave.C line 46
setting LDFLAGS to find where octave's libraries are:
LDFLAGS=-L`octave-config -p OCTLIBDIR` ./configure
I am having a lot of other problems finding the other libraries though, but octave related errors are gone.
It appears I am just one step away from finishing:
libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-redhat-linux/9/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/9/crtbeginS.o .libs/libgtkIOStream_la-WSOLA.o .libs/libgtkIOStream_la-BitStream.o .libs/libgtkIOStream_la-Octave.o .libs/libgtkIOStream_la-JackPortMonitorGui.o .libs/libgtkIOStream_la-JackPortMonitor.o -L/usr/lib64 /usr/lib64/octave/5.1.0/liboctinterp.so -L/usr/lib64/octave/5.1.0 -lhdf5 -lGraphicsMagick++ -lGraphicsMagick -lz -lGL -lGLU -lfontconfig -lfreetype -lX11 -lgl2ps /usr/lib64/octave/5.1.0/liboctave.so -lcurl -lcholmod -lumfpack -lamd -lcamd -lcolamd -lccolamd -lcxsparse -lsuitesparseconfig -larpack -lqrupdate -lfftw3_threads -lfftw3 -lfftw3f_threads -lfftw3f -lreadline -lncurses -lpcre -ldl -lopenblas -L/usr/lib/gcc/x86_64-redhat-linux/9 -L/usr/lib/gcc/x86_64-redhat-linux/9/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/9/../../.. -lgfortran -lquadmath -lutil -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -ljack -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-redhat-linux/9/crtendS.o /usr/lib/gcc/x86_64-redhat-linux/9/../../../../lib64/crtn.o -g -O2 -pthread -fopenmp -Wl,-soname -Wl,libgtkIOStream-1.7.0.so.1 -o .libs/libgtkIOStream-1.7.0.so.1.0.7
/usr/bin/ld: cannot find -lgl2ps
/usr/bin/ld: cannot find -lcholmod
/usr/bin/ld: cannot find -lumfpack
/usr/bin/ld: cannot find -lamd
/usr/bin/ld: cannot find -lcamd
/usr/bin/ld: cannot find -lcolamd
/usr/bin/ld: cannot find -lccolamd
/usr/bin/ld: cannot find -lcxsparse
/usr/bin/ld: cannot find -lsuitesparseconfig
/usr/bin/ld: cannot find -larpack
/usr/bin/ld: cannot find -lqrupdate
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:608: libgtkIOStream.la] Error 1
make[2]: Leaving directory '/home/Hin-Tak/my-git/pi-notes/repos/gtkiostream/src'
make[1]: *** [Makefile:514: all-recursive] Error 1
make[1]: Leaving directory '/home/Hin-Tak/my-git/pi-notes/repos/gtkiostream'
make: *** [Makefile:421: all] Error 2
The linking seems to be the order of the command line arguments, you need to have -L
before all the -l
's .
Argh, I have fixed the library issue - your autoconf script is a bit screwy. Anyway, the octave issue is as above.
The current latest stable release (1.7.0) is incompatible with the current Octave version (5.1.0).