upgrading math/octave?

Steve Kargl sgk at troutmask.apl.washington.edu
Fri Oct 13 18:36:22 UTC 2017

On Thu, Oct 12, 2017 at 04:56:07PM -0700, Steve Kargl wrote:
> Has anyone successfully updated math/octave?
> The current math/octave port uses version 4.0.3,
> which was released 2016-07-01.  The newest version
> is 4.2.1 and it was released on 2017-02-22.  The
> newer version contains new features and boatload
> of bugfixes.
> My attempts at an upgrade die with a C++ error.
> libtool: link: c++ -std=gnu++11 -fPIC -D_THREAD_SAFE -pthread -fopenmp -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -O2 -pipe -fstack-protector -fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc6 -B/usr/local/bin -fstack-protector -o src/.libs/octave-cli src/src_octave_cli-main-cli.o src/src_octave_cli-octave-build-info.o -Wl,-R/usr/local/lib  -L/usr/local/lib -L/usr/local/lib/gcc6 libinterp/.libs/liboctinterp.so liboctave/.libs/liboctave.so libgnu/.libs/libgnu.a -lhdf5 -lGraphicsMagick++ -lGraphicsMagick -lz -lGL -lGLU -lfontconfig -lfreetype -lX11 -lgl2ps -lcurl -lumfpack -lcholmod -lamd -lcamd -lcolamd -lccolamd -lcxsparse -lsuitesparseconfig -larpack -lqrupdate -lfftw3_threads -lfftw3 -lfftw3f_threads -lfftw3f -lopenblasp -lreadline -lncurses -lpcre -L/usr/local/bin -L/usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd12.0/6.4.0 -L/usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd12.0/6.4.0/../../../../../x86_64-portbld-freebsd12.0/l
>  ib -L/usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd12.0/6.4.0/../../.. -lgfortran -lssp_nonshared -lquadmath -lutil -lm -fopenmp -pthread -Wl,-rpath -Wl,/usr/local/lib/octave/4.2.1
> libinterp/.libs/liboctinterp.so: undefined reference to `octave::sys::file_stat::~file_stat()'
> ~file_stat() appears in work/octave-4.2.1/liboctave/system/file-stat.h
> lines 235-238
>       // This destructor must remain as an empty destructor defined in the
>       // cpp file rather than in the header file (bug #50234).
>       ~file_stat (void);
> and 
> line 295
>       ~file_fstat (void) { }

It seems I missed an instance of ~file_stat in liboctave/system/file-stat.cc,
which was declared as 'inline     file_stat::~file_stat () { }'.  Removing
inline keyword allows the compilation to continue.  Now, the port
fails at

mv doc/interpreter/doc-cache-t doc/interpreter/doc-cache
lrelease -qt4  -qm libgui/languages/be_BY.qm libgui/languages/be_BY.ts
lrelease: could not find a Qt installation of '4'
gmake[4]: *** [Makefile:27269: libgui/languages/be_BY.qm] Error 1
gmake[4]: Leaving directory '/usr/ports/math/octave42/work/octave-4.2.1'
gmake[3]: *** [Makefile:26135: all-recursive] Error 1
gmake[3]: Leaving directory '/usr/ports/math/octave42/work/octave-4.2.1'
gmake[2]: *** [Makefile:9910: all] Error 2
gmake[2]: Leaving directory '/usr/ports/math/octave42/work/octave-4.2.1'
*** Error code 1

% lrelease -qt4
lrelease: could not find a Qt installation of '4'
% lrelease
lrelease: could not exec '/usr/local/lib/qt5/bin/lrelease': No such file or directory
%  pkg which /usr/local/bin/lrelease
/usr/local/bin/lrelease was installed by package qtchooser-39
% pkg info | grep qt4 | wc -l
% pkg info | grep qt5 | wc -l

20170425 https://www.youtube.com/watch?v=VWUpyCsUKR4
20161221 https://www.youtube.com/watch?v=IbCHE-hONow

More information about the freebsd-ports mailing list