Package Details: reduce-common-svn 20190919.5135-1

Git Clone URL: https://aur.archlinux.org/reduce-svn.git (read-only, click to copy)
Package Base: reduce-svn
Description: REDUCE Computer Algebra System -- common files
Upstream URL: http://reduce-algebra.sourceforge.net/
Licenses: BSD
Groups: science
Conflicts: reduce-common
Provides: reduce-common
Submitter: wangjiezhe
Maintainer: wangjiezhe
Last Packager: wangjiezhe
Votes: 1
Popularity: 0.000000
First Submitted: 2015-12-21 09:03
Last Updated: 2019-09-19 16:50

Latest Comments

thx1138 commented on 2021-02-26 14:43

Note that Arch has upgraded automake from version 1.15 to 1.16. As a result, the build will fail. I don't know if anyone is maintaining the svn repository, and it leaves a bit of a mess. I was able to build this manually, using the PKGBUILD, makepkg --nobuild, andmakepkg --noextract --install`. The main issue is updating the configure.ac files. If your immediate goal is to build a working package, here are some guidelines.

Note that the PKGBUILd provides split packages for reduce-csl, reduce-psl, reduce-common, and reduce-addons. makepkg will build and install all of these.

Download the PKGBUILD and all the source files, except for the reduce svn, which will be done automatically by makepkg. Edit the PKGBUILD, comment-out ./autogen.sh and add --without-autogen to the csl and psl configure commands. The top level configure will run autogen.sh by default, so there is no need to run this explicitly, except that here, the idea is to run it manually while fixing errors and addressing warnings. As it is, even with --without-autogen, configure will still run autogen.sh in a few subdirectories.

Also, on the psl build line, change make to make -j1. The psl build generates many psl modules that depend upon the others. The build order matters, and the psl build will fail if the modules are built in parallel.

Look to see if there is a left-over ~/.reducerc file and remove it. The psl build will look for this file and otherwise, will possibly try to load some nonexistent module, fail, and abort the build.

Now run makepkg --nobuild. Note that this provides both a $BUILDDIR/reduce-svn/src/reduce/ directory and a $BUILDDIR/reduce-svn/src/reduce-build/ directory. The first directory is just "noise" here, since the changes are to be made in the reduce-build directory. cd there.

First, gratuitously run find -name config.cache -exec rm -v {} \;. If there are any stray pre-existing config.cache files that do not match the current config state, configure will abort the build.

Next, look at the output of find -name autogen.sh. The plan is to run each of those manually. I suggest ./autogen.sh 2>&1 | tee autologN. In the output there will be sections that begin with ./directory: aclocal/autoreconf -f -i. Search the log for "error". Those have to be addressed first, since they cause subsequent errors. Look for errors of the form configure.ac:46: error: AC_CONFIG_MACRO_DIR can only be used once. Note the autoreconf directory, cd there, and edit the configure.ac, to comment-out every subsequent AC_CONFIG_MACRO_DIR. This includes ./libraries/libffi/configure.ac and ./csl/cslbase/configure.ac.

Rerun each instance of autogen.sh, and now look for instructions of the form configure.ac:167: You should run autoupdate. Just blindly follow the instruction. Find the preceding autoconf directory, cd there and run autoupdate. Do this once for each configure.ac file that is indicated. Note that the warnings will not go away, but the configure file generated will work now. Anyone who actually knows what they are doing with automake may want to provide a proper fix.

There was one generated configure file that needed to be fixed manually because of a failed autoupdate. A newline is inserted into a case statement, and the right parenthesis is displaced to a seemingly random position later in the file. .../reduce-build/libraries/libedit-20140620-3.1/configure: line 12862: syntax error near unexpected token `newline' .../reduce-build/libraries/libedit-20140620-3.1/configure: line 12862: ` ''' It should look like '') as_dir=./ ;;. Also, find and delete the stray right parenthesis: .../reduce-build/libraries/libedit-20140620-3.1/configure: line 13631: syntax error near unexpected token `)'

Since autogen.sh is rerun in this directory by the top level configure, repeatedly reintroducing the configure script error, I edited the file and ran configure and make there manually.

So now, go back to the PKGBUILD directory and try running makepkg --noextract --install. Hopefully that will build to completion and give working packages.

aug_uste commented on 2018-03-27 16:24

trying to parallelize the build with MAKEFLAGS=-j4 somehow breaks, the Makefile must have a missing dependency somewhere...