Neil Hopcroft

A digital misfit

Review of the octave package build errors

Some of the octave packages are causing build errors, here is a quick review of how things are:

  • ad: gives “error: ‘DECLARE_OCTAVE_ALLOCATOR’ does not name a type”
  • ann: there appears to be a couple of problems here, delving a bit deeper into the build, this package can be built from the command line, allowing the setting of some options to the configure script. It seems like there have been some changes to types in some headers which break the build, also the configuration in Makeconf is not correctly extracting names for a few of the variables it requests from Octave, leaving some control characters on the beginning of their strings – this is quite confusing since they are invisible characters leading to errors claiming ‘ar not found’ even when ‘ar’ is available. Removing these control characters removes a couple of errors but does not fix the build.
  • communications: Gives “warning: autoload: ‘gf.oct’ is not an absolute file name”, there is some C++ source that appears to create gf.oct, but it doesn’t compile.
    database: Missing pq_interface.oct file. There is a configure script and some C++ source code which isn’t built as part of the package installation. Building this code creates the pq_interface.oct file. I have added this to the build script. This appears to resolve the problem. Fix included in CI build.
  • fem-fenics C++ code is not built, attempting to build it yields error about dolfin missing – this is probably worth an entry all by itself.
  • fixed: Gives “error: no match for ‘operator==’ (operand types are ‘const volatile FixedPoint’ and ‘const volatile FixedPoint’)” amongst many other errors.
  • fl-core: Complains ” error: ‘_SC_NPROCESSORS_ONLN’ was not declared in this scope”.
  • galois: Gives “tar: field-0.0.1.tar: Cannot stat: No such file or directory”
  • graceplot: Fails with “error: ‘symbol_record’ was not declared in this scope”. Installing grace doesn’t improve this.
  • jhandles: Fails with “Java support not compiled”, it seems I need to install the java package first, but I haven’t yet found any source code for it.
  • mpi: “/bin/sh: mpic++: command not found” – installing openmpi should help.
  • multiprecision: “package is missing file: DESCRIPTION” – adding a description file leads to a build error.
  • NaN: Fails to install because of capital letters, renaming tgz file nan.tgz makes it work. I have adjusted the .tgz creation to use lower case file names.
  • ngspice: “/usr/bin/ld: cannot find -lngspice”, added libngspice build.
  • ocs: Reports a number of missing directories, but claims to install anyway
  • oct2mat: Fails with “unterminated character string constant”
  • octcdf: ncdap-config command is missing. Again, there is a configure script and some C++ code which isn’t built. Seems like we need netCDF library for the ncdap-config command. However, compiling netCDF doesn’t appear to yield the command, although it does create dap-config. I have tried making a symlink of this as ncdap-config, hoping that it is the same thing renamed. Indeed, it seems better, although I am now seeing “undefined symbol: uuid_unparse”. This looks like it might be a missing version of uuid-devel.
  • optim: “invalid doc file format make: *** [../doc/optim.texi] Error 25”
  • optiminterp: “mkoctfile lacks Fortran 90 support”. This error can be resolved by making the src code first, but that fails because of missing Makeconf.in. Attempting to copy this file from another project gives me syntax errors. More investigation neeeded.
  • pdb: Gives “error: ‘Octave_map’ was not declared in this scope.”
  • perl: README says: “This is a perl package and is part of CPAN. It makes no sense to make and octave package of this.”
  • prony: “The keyword ‘description’ of the package ‘prony’ has an empty value” – indeed, there are a number of things missing from the DESCRIPTION file. It installs with these updates.
  • queueing: Complains about misplaced {}, but installs anyway.
  • real2rgb: Complains “the DESCRIPTION file must have a Categories field, when no INDEX file is given” and fails to install, even adding a Categories field doesn’t resolve this.
  • secs1d: Complains “error: movefile: no files to move”
  • secs2d: Complains “error: ‘Octave_map’ does not name a type”
  • sparsersb: Complains “octave_allocator class has been deprecated” and “relocation R_X86_64_32 against `.text’ can not be used when making a shared object; recompile with -fPIC”, the former will require some code rewriting while the latter might be resolved with a rebuild of something. Rebuilding librsb resolves the relocation problem.
  • system-identification: package name ‘system identification’ doesn’t correspond to its filename ‘system-identification’. Fixing the package DESCRIPTION file gets past that problem, but leads to errors for missing files system-identification/inst/tisean_wrapper/src/* and system-identification-0.1.0/tisean_wrapper. The former is an empty directory in the source control system and can be resolved by placing a file in the directory, the latter I don’t yet know how to resolve.
  • tk_octave: Complains “fatal error: tk.h: No such file or directory”. This implies tk is not installed, and there is no package in the yum repository. Building the latest tk requires the latest tcl too. These resolve the tk.h error, but now blt.h is missing.
  • triangular: Commplains “error: ‘DECLARE_OCTAVE_ALLOCATOR’ does not name a type”
  • tsa: Complains “make: *** No rule to make target `covm_mex.cpp’, needed by `covm_mex.mex’. Stop.”
  • video: “Package is empty”. Attempting to build the src directory leads to missing libavformat, from ffmpeg.
  • xraylib: Complains “error: no matching function for call to ‘Array::Array(int)’”

I will go into a bit more detail on these over the next few posts.


Leave a Reply

Your email address will not be published.