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