On Thu, May 25, 2023 at 12:11:05PM -0600, Jonathan Drews wrote: > On Thu, May 25, 2023 at 03:23:23PM +0200, Dima Pasechnik wrote: > > > > Can you also add building maxima.fas and installing it into > > /usr/local/lib/ecl/ ? > > Then one can use Maxima from any application which can load libecl.so > > (e.g. from an application written in C). > > If we ever port SageMath (sagemath.org) to OpenBSD (there is a port to > > FreeBSD) > > then maxima.fas will be necessary. > > > You are going to have to enlighten me as to what the *.fas extension > means. I did a web search and could only find this page which did not
Well, see the ECL manual, Sect. 3.1.1.2: https://ecl.common-lisp.dev/static/manual/System-building.html#Native-FASL It's a basically a dynamic shared library. On Linux I can do $ ldd local/lib/ecl/maxima.fas linux-vdso.so.1 (0x00007ffd17c88000) libecl.so.21.2 => /home/dimpase/work/software/sage/local/lib/libecl.so.21.2 (0x00007cb5df721000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007cb5df5c5000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007cb5df3f1000) libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007cb5df370000) libgc.so.1 => /lib/x86_64-linux-gnu/libgc.so.1 (0x00007cb5df2f8000) libffi.so.7 => /lib/x86_64-linux-gnu/libffi.so.7 (0x00007cb5df2ec000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007cb5df2c8000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007cb5df2c2000) /lib64/ld-linux-x86-64.so.2 (0x00007cb5e06d2000) > give me much information. I looked at Sages web page and did not see > anything. Here is what I did find: > > https://archlinux.org/packages/extra/x86_64/maxima-fas/ > > Concerning xmaxima.fas, it's built! Look: > > $ cd /usr/ports/pobj/maxima-5.46.0/ > $ find . -type f -name "maxima.fas" > ./maxima-5.46.0/src/binary-ecl/maxima.fas > > there is a whole bunch of *.fas files in > /usr/ports/pobj/maxima-5.46.0/maxima-5.46.0/src/binary-ecl/ I think you don't need any of these, except maxima.fas > > I just have to figure out how to install them. I looked for configure > options but I did not see any. I don't think there is anything provided by Maxima build system in this respect (it's highly lisp-system dependent, after all). One has to copy maxima.fas into /usr/local/lib/ecl/ I suppose OpenBSD ports build system has a way to do this, so that it's correctly gets uninstalled, too. > Lete me test the basic funcionality of > maxima (diff, integrate, taylor etc.). Most of those functions have to > be tested. Afterwards, I will look into isntalling the *.fas files in > /usr/local/lib/ecl/. > > > As well, less urgently, > > shouldn't there be a way to get Maxima compiled with sbcl, only only ecl. > > (sbcl typically gives considerably better performance, and it's available > > in ports, > > but embedding into applications is a different story, harder than with ecl). > > I suppose you are refering to Steel Bank Common Lisp: > > http://www.sbcl.org/ > > I will have to ask about this on the Maxima mail list. Give me some > time. There is a port: /usr/ports/lang/sbcl - yes, there is a port, as I wrote. I think for Maxima developers sbcl is the primary lisp system, and many Linux distros by default ship Maxima built with sbcl. Cheers, Dima