Greg. Sorry Le ven. 11 nov. 2022 à 03:45, Grégory Vanuxem <[email protected]> a écrit :
> Hello, > > Can you give a diff > > Please > __ > Hreg > > Le lun. 7 nov. 2022 à 04:37, Qian Yun <[email protected]> a écrit : > >> Hi, I'd like a review for this patch. >> >> After this patch, I can move on to "load GMP on Windows". >> >> - Qian >> >> On 10/22/22 10:15, Qian Yun wrote: >> > The subset of pr#96 to solve issue#110 is this: >> > >> > diff --git a/src/interp/util.lisp b/src/interp/util.lisp >> > index 63cd20f3..2a6219cd 100644 >> > --- a/src/interp/util.lisp >> > +++ b/src/interp/util.lisp >> > @@ -77,7 +77,7 @@ at load time. >> > ;;; It is set up in the {\bf reroot} function. >> > (defvar $library-directory-list ()) >> > >> > -;;; Prefix a filename with the {\bf FRICAS} shell variable. >> > +;;; Prefix a filename with the {\bf $spadroot} variable. >> > (defun make-absolute-filename (name) >> > (concatenate 'string $spadroot name)) >> > >> > @@ -88,13 +88,10 @@ the system. In particular, these variables are >> > sensitive to the >> > be {\bf \$spadroot}. The {\bf reroot} function will change the >> > system to use a new root directory and will have the same effect >> > as changing the {\bf FRICAS} shell variable and rerunning the system >> > -from scratch. A correct call looks like: >> > -\begin{verbatim} >> > -(in-package "BOOT") >> > -(reroot "${FRICAS}") >> > -\end{verbatim} >> > -where the [[${FRICAS}]] variable points to installed tree. >> > +from scratch. >> > |# >> > +(defvar $spadroot "") >> > + >> > (defun reroot (dir) >> > (setq $spadroot dir) >> > (setq $directory-list >> > @@ -267,10 +264,9 @@ After this function is called the image is clean >> > and can be saved. >> > #+:GCL (system:gbc-time 0) >> > #+(or :sbcl :clisp :openmcl :lispworks) >> > (if *fricas-load-libspad* >> > - (let* ((ax-dir (|getEnv| "FRICAS")) >> > - (spad-lib (concatenate 'string ax-dir >> "/lib/libspad.so"))) >> > + (let ((spad-lib (make-absolute-filename "/lib/libspad.so"))) >> > (format t "Checking for foreign routines~%") >> > - (format t "FRICAS=~S~%" ax-dir) >> > + (format t "FRICAS=~S~%" $spadroot) >> > (format t "spad-lib=~S~%" spad-lib) >> > (if (|fricas_probe_file| spad-lib) >> > (progn >> > @@ -280,7 +276,7 @@ After this function is called the image is clean >> and >> > can be saved. >> > (|quiet_load_alien| spad-lib) >> > #+(or :sbcl :openmcl) >> > (fricas-lisp::init-gmp >> > - (concatenate 'string ax-dir >> "/lib/gmp_wrap.so")) >> > + (make-absolute-filename "/lib/gmp_wrap.so")) >> > #+(and :clisp :ffi) >> > (progn >> > (eval `(FFI:DEFAULT-FOREIGN-LIBRARY >> ,spad-lib)) >> > >> > >> > On 10/14/22 20:19, Qian Yun wrote: >> >> (This is a follow up discussion of >> >> https://github.com/fricas/fricas/pull/96) >> >> >> >> I'd like to discuss this again, to avoid problem like >> >> https://github.com/fricas/fricas/issues/110, >> >> aka to load "libspad.so" when "FRICAS" is not set. >> >> >> >> First, the binary (instead of shell script) FRICASsys should >> >> work when "FRICAS" is not set. >> >> >> >> Second, during a fricas session, we can safely assume that >> >> the environment variable "FRICAS" does not change. >> >> >> >> Third, if so, the we can use "FRICAS" from C side and use >> >> "$spadroot" in Lisp side and still be consistent. >> >> >> >> Finally, if we are considering the use case of using FRICASsys >> >> alone, aka using the Lisp image without the C part, then it >> >> is clear that we should (|getEnv| "FRICAS") once, if it does not >> >> exist, use some other default value, and store it into an >> >> variable ($spadroot) and use that variable later. >> >> >> >> - Qian >> >> -- >> You received this message because you are subscribed to the Google Groups >> "FriCAS - computer algebra system" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/fricas-devel/a7abd54b-cc5e-c97c-2045-9dea36cf8d29%40gmail.com >> . >> > -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/fricas-devel/CAHnU2dZfnVF_Y%3D0haoxPc2T-qrAq8%2BnnSNcpSxkCg2jmGH9KLQ%40mail.gmail.com.
