Reduce algebra system successfully built on DragonFlyBSD 5.2

Nelson H. F. Beebe beebe at math.utah.edu
Sat Apr 21 13:35:59 PDT 2018


Recent correspondence on the Reduce algebra system developers list at

	reduce-algebra-developers at lists.sourceforge.net

raised the issue of porting that system to OpenBSD and other BSD
members.  Reduce is the second oldest computer algebra system, and was
developed at Utah, shortly after MIT's Macsyma; both first appeared in
1968, a half century ago this year.

Older versions of Reduce have been ported to FreeBSD (e.g., binary
package reduce-20170124 in FreeBSD 10.x, 11.x and 12.x, and in PCBSD
and its succcessor TrueOS), but packaging systems of all other BSD
family members, including DragonFlyBSD, appear to lack Reduce.

I'm happy to report that a recent version of Recent has been
successfully built on the new DragonFlyBSD 5.2 (11-Apr-2018) with this
recipe:

	cd $prefix/ashare/reduce
	gtar xf ~/Reduce-svn4372-src.tar.gz
	cd Reduce-svn4372-src
        mkdir /tmp/bin
        ln -s /usr/local/bin/guname /tmp/bin/uname
        set path = ( /tmp/bin /bin /usr/bin /usr/local/bin )
        env CC='gcc6 -I/usr/local/include/freetype2 -I/usr/local/include/ncurses'       \
           CXX='g++6 -I/usr/local/include/freetype2 -I/usr/local/include/ncurses'       \
           ./configure --with-csl && gmake all check
	ln -s `pwd`/bin/redcsl $prefix/bin/reduce-20180228-csl
	ln -s reduce-20180228-csl $prefix/bin/reduce-csl
	ln -s reduce-csl $prefix/bin/reduce

Here is a short demonstration:

	% set path=( $path $prefix/ashare/reduce/Reduce-svn4372-src/scripts )

	Reduce (Free CSL version, revision 4330), 21-Apr-18 ...

	1: int(sin(x), x);

	 - cos(x)

	2: int(exp(-x) * sin(x), x);

	  - (cos(x) + sin(x))
	----------------------
		    x
		 2*e
	3: on rounded;

	4: precision 75;

	12

	5: sin(22);

	 -0.00885130929040387592169025681577233246328920395133256644233083529808955201463

More information about publications about Reduce can be found in
bibliographies at

	http://www.math.utah.edu/tex/bib/

in the files

	red-a-f.bib red-g-l.bib red-m-z.bib redbooks.bib redextra.bib reduce.bib

and at the FAQ at

	http://www.math.utah.edu/faq/reduce/

The official SourceForce site for Reduce source code is

        http://reduce-algebra.sourceforge.net/

Its release as Free Software was announced in its original author's
paper

	Anthony C. Hearn
	REDUCE is free software as of January 2009
	ACM Communications in Computer Algebra 43(1--2) 15--16 March/June 2009
	https://doi.org/10.1145/1610296.1610299

and its first 40 years are described at

	http://reduce-algebra.com/reduce40.pdf

Three further points should be noted:

(1) Reduce can be hosted on either Portable Standard Lisp (PSL) or on
    Codemist Standard Lisp (CSL).  My DragonFlyBSD build selected the
    latter, because the PSL version has proved more difficult to port,
    and because PSL will not currently work on systems with W^X
    (write, or execute, but not both) protection for stack memory.

(2) Reduce must currently be built where it is to be installed; that
    restriction may be lifted in the future, because it makes Reduce
    unusual compared to other packages.

(3) I had to extend PATH above to run it outside its build tree; that
    has not been necessary on other O/Ses, but a 3-line wrapper shell
    script could easily hide that misfeature on DragonFlyBSD.

Perhaps someone on this list who is familiar with package construction
for DragonFlyBSD might be willing to build and repackage the latest
version of Reduce for inclusion in the DragonFlyBSD package
repository.

I'm now turning to build attempts for Reduce on older DragonFlyBSD
releases.

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- University of Utah                    FAX: +1 801 581 4148                  -
- Department of Mathematics, 110 LCB    Internet e-mail: beebe at math.utah.edu  -
- 155 S 1400 E RM 233                       beebe at acm.org  beebe at computer.org -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------


More information about the Users mailing list