#8269: cygwin: maxima does not build on cygwin, possibly due to ECL bug.
-----------------------------------------------+----------------------------
   Reporter:  was                              |       Owner:  tbd       
       Type:  defect                           |      Status:  new       
   Priority:  major                            |   Milestone:  sage-4.3.3
  Component:  cygwin                           |    Keywords:            
     Author:  Juan Jose Garcia-Ripoll, wstein  |    Upstream:  N/A       
   Reviewer:                                   |      Merged:            
Work_issues:                                   |  
-----------------------------------------------+----------------------------

Comment(by was):

 Juan-Jose had the following suggestion:
 {{{
 It is no wonder Maxima does not build in Cygwin. Someone had introduced,
 who knows why, different build commands for that platform in
 maxima.system. The offending function looks as follows
 (maxima/src/maxima.system)

 #+ecl
 (defun build-maxima-lib ()
   (labels ((list-all-objects (module)
              (if (eql (mk::component-type module) :file)
          (list (mk::component-full-pathname module :binary))
          (apply #'append (mapcar #'list-all-objects (mk::component-
 components module))))))
     (let* ((files (list-all-objects (mk:find-system 'maxima))))
       #+msvc
       (progn
          (c::build-static-library "binary-ecl/maxima-lib" :lisp-files
 (print files))
          (let ((c::*ld-format* (concatenate 'string c::*ld-format* "
 /LIBPATH:binary-ecl")))
            (c::build-fasl "binary-ecl/maxima" :lisp-files '(maxima-lib))))
       #+cygwin
       (c::build-fasl "binary-ecl/maxima" :lisp-files files)
       #-(or cygwin msvc)
       (let ((obj (mapcar #'(lambda (p)
                  ;; Convert dir/foo.fas to dir/foo.o
                  (make-pathname :type "o" :defaults p))
              files)))
    [.... ]

 It is immediately obvious that the code for cygwin is too short to do
 anything useful. A possible fix is to remove the line #+cygwin and the
 following line and change #-(or cygwin msvc) to #-msvc However I can not
 guarantee that there are no other problems left.

 Please note that this is not directly related to ECL.

 Juanjo
 }}}

 I tried this with the following new spkg:

    http://wstein.org/home/wstein/ports/cygwin/maxima-5.20.1.p1.spkg
 and it now fails as follows:
 {{{
 ;;; Note: Invoking external command:
 ;;;   gcc "-I/home/wstein/build/sage-4.3.3.alpha0/local/include/"
 -I/home/wstein/build/sage-4.3.3.alpha0/local/include  -O2  -g  -Wall
 -Dcygwin -O -w -c "/cygdrive/c/WINDOWS/TEMP/ECLINIT5NW89S.c" -o
 "/cygdrive/c/WINDOWS/TEMP/ECLINIT5NW89S.o"
 gcc: /cygdrive/c/WINDOWS/TEMP/ECLINIT5NW89S.o: No such file or directory
 An error occurred during initialization:
 (SYSTEM "gcc -o
 \"/home/wstein/build/sage-4.3.3.alpha0/spkg/build/maxima-5.20.1.p1/src/src
 /binary-ecl/numerical/slatec/dbesj0.fas\"
 -L\"/home/wstein/build/sage-4.3.3.alpha0/local/lib/\"
 \"/cygdrive/c/WINDOWS/TEMP/ECLINIT5NW89S.o\"
 \"/home/wstein/build/sage-4.3.3.alpha0/spkg/build/maxima-5.20.1.p1/src/src
 /binary-ecl/numerical/slatec/dbesj0.o\"   -shared
 -L/home/wstein/build/sage-4.3.3.alpha0/local/lib
 -L/home/wstein/build/sage-4.3.3.alpha0/local/lib  -lecl  -lgmp -lgc   -lm
 ") returned non-zero value 1.
 ;;; Note: Invoking external command:
 ;;;   gcc -o
 "/home/wstein/build/sage-4.3.3.alpha0/spkg/build/maxima-5.20.1.p1/src/src
 /binary-ecl/numerical/slatec/dbesj0.fas"
 -L"/home/wstein/build/sage-4.3.3.alpha0/local/lib/"
 "/cygdrive/c/WINDOWS/TEMP/ECLINIT5NW89S.o"
 "/home/wstein/build/sage-4.3.3.alpha0/spkg/build/maxima-5.20.1.p1/src/src
 /binary-ecl/numerical/slatec/dbesj0.o"   -shared
 -L/home/wstein/build/sage-4.3.3.alpha0/local/lib
 -L/home/wstein/build/sage-4.3.3.alpha0/local/lib  -lecl  -lgmp -lgc   -lm
 make[1]: *** [binary-ecl/maxima] Error 1
 make[1]: Leaving directory
 `/home/wstein/build/sage-4.3.3.alpha0/spkg/build/maxima-5.20.1.p1/src/src'
 make: *** [all-recursive] Error 1
 }}}

 The failure happens during the "make" step.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8269#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to