Home | Docs | Forums | Lists | Bugs | Planet | Store | GMN | Get Gentoo!
Not eligible to see or edit group visibility for this bug.
View Bug Activity | Format For Printing | XML | Clone This Bug
The ebuild uses command "lisp", which doesn't exist in my system. I guess the ebuild should depend on another package which provides this command. I tried to emerge packages such as gcl, clisp but it didn't help. Reproducible: Always Steps to Reproduce: 1.emerge maxima 2. 3. Actual Results: [...] make[1]: Entering directory `/var/tmp/portage/maxima-5.9.1-r2/work/maxima-5.9.1/src' test -d binary-cmucl || mkdir binary-cmucl test -d binary-cmucl/numerical || mkdir binary-cmucl/numerical test -d binary-cmucl/numerical/slatec || mkdir binary-cmucl/numerical/slatec (echo '(progn (load "../lisp-utils/defsystem.lisp") (funcall (intern "OPERATE-ON-SYSTEM" :mk) "maxima" :compile :verbose t))' | lisp -noinit -batch) && \ (echo '(progn (load "../lisp-utils/defsystem.lisp") (funcall (intern "OPERATE-ON-SYSTEM" :mk) "maxima" :load :verbose t) (ext:save-lisp "binary-cmucl/maxima.core"))' | lisp -noinit -batch) /bin/sh: lisp: command not found make[1]: *** [binary-cmucl/maxima.core] Error 127 make[1]: Leaving directory `/var/tmp/portage/maxima-5.9.1-r2/work/maxima-5.9.1/src' make: *** [all-recursive] Error 1 !!! ERROR: sci-mathematics/maxima-5.9.1-r2 failed. !!! Function src_compile, Line 63, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. Expected Results: compile. emerge --info Portage 2.0.51.22-r1 (default-linux/amd64/2005.0, gcc-3.4.4, glibc-2.3.5-r0, 2.6.11-gentoo-r11 x86_64) ================================================================= System uname: 2.6.11-gentoo-r11 x86_64 AMD Athlon(tm) 64 Processor 3800+ Gentoo Base System version 1.6.12 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.9 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.ntua.gr/pub/linux/gentoo http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo http://gentoo.mirror.icd.hu/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo" LANG="en_US.utf8" LINGUAS="en el" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X a52 aalib acpi alsa apache2 arts avi bash-completion berkdb bitmap-fonts bonobo cdr crypt cups curl directfb dts dv dvd dvdread eds encode esd fam fame fbcon flac font-server foomaticdb fortran gdbm ggi gif gimpprint gnome gpm gstreamer gtk2 gtkhtml guile hal imagemagick imlib ipv6 jack java jp2 jpeg junit kde kdeenablefinal libcaca libwww lzw lzw-tiff mad matroska mozilla mp3 mpeg mysql nas ncurses nls nptl nptlonly ogg oggvorbis opengl oss pam perl pic png ppds python qt quicktime readline real samba sdl slang ssl subtitles symlink tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts unicode usb userlocales vorbis xine xinerama xml xml2 xmms xpm xrandr xv xvid xvmc zlib linguas_en linguas_el userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS, MAKEOPTS
The ebuild seems to expect cmucl on an x86: DEPEND="tetex? ( virtual/tetex ) emacs? ( virtual/emacs ) auctex? ( app-emacs/auctex ) >=sys-apps/texinfo-4.3 x86? ( !clisp? ( !sbcl? ( !gcl? ( !cmucl? ( dev-lisp/cmucl ) ) ) ) ) clisp? ( >=dev-lisp/clisp-2.33.2-r1 ) x86? ( cmucl? ( >=dev-lisp/cmucl-19a ) ) x86? ( gcl? ( >=dev-lisp/gcl-2.6.4 ) ) x86? ( sbcl? ( >=dev-lisp/sbcl-0.8.14 ) )" I'ld remove the last three x86? (with corresponding parens...)
Adding "clisp" to the USE flags in make.conf will help!
I haven't figured out exactly what's wrong, but I can't seem to get maxima-5.9.1-r2 to compile at all at the moment. I'm cycling through the four lisps trying to find out which if any actually build. To the original poster: "cmucl" when correctly installed defines the command "lisp". THe other lisps all show up as themselves; i.e., clisp, gcl or sbcl. So if you haven't installed "cmucl", you won't have "lisp". I don't know if that's going to help, though. This is just plain messed up at the moment.
OK ... I have a combination that works!! This is on an x86 with everything involved in /etc/portage/package.keywords: DreamGate portage # emerge -pv cmucl clisp gcl sbcl maxima These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] dev-lisp/cmucl-19b -doc -lesstif -nosource 0 kB [ebuild R ] dev-lisp/clisp-2.34-r1 +X -fastcgi +pcre +postgres +readline +zlib 0 kB [ebuild R ] dev-lisp/gcl-2.6.7 +X +ansi -custreloc -debug -dlopen -doc +emacs -gprof +readline +tcltk 0 kB [ebuild R ] dev-lisp/sbcl-0.9.3 -hardened +ldb -nosource -threads -unicode 0 kB [ebuild R ] sci-mathematics/maxima-5.9.1-r2 +auctex +clisp -cmucl +emacs +gcl +sbcl +tetex 0 kB Total size of downloads: 0 kB DreamGate portage # ----------------------------------------------------------------------------- In other words, it looks like CMUCL can't compile maxima-5.9.1-r2, but the other three Lisps can do it. I'll verify that CMUCL (19b) fails to compile maxima. It's definitely installed. I took a look at the ebuild and if you don't specify a USE flag for one of the four Lisps, it defaults to CMUCL.
Yup ... CMUCL 19B won't compile maxima 5.9.1-r2 -- let's call this a CMUCL problem. Thus spake DreamGate: DreamGate portage # emerge -pv maxima These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] sci-mathematics/maxima-5.9.1-r2 +auctex -clisp* +cmucl* +emacs -gcl* -sbcl* +tetex 0 kB Total size of downloads: 0 kB DreamGate portage # emerge -v maxima Calculating dependencies ...done! >>> emerge (1 of 1) sci-mathematics/maxima-5.9.1-r2 to / >>> md5 files ;-) maxima-5.9.1.ebuild >>> md5 files ;-) maxima-5.9.1-r2.ebuild >>> md5 files ;-) files/5.9.1-sbcl-gentoo.patch >>> md5 files ;-) files/50maxima-gentoo.el >>> md5 files ;-) files/digest-maxima-5.9.1 >>> md5 files ;-) files/maxima-emacs.patch >>> md5 files ;-) files/digest-maxima-5.9.1-r2 >>> md5 src_uri ;-) maxima-5.9.1.tar.gz >>> Unpacking source... >>> Unpacking maxima-5.9.1.tar.gz to /var/tmp/portage/maxima-5.9.1-r2/work * Applying 5.9.1-sbcl-gentoo.patch ... [ ok ] * Applying maxima-emacs.patch ... [ ok ] >>> Source unpacked. checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for lisp... true checking for lisp... (cached) true cmucl runtime is "/usr/bin/././lisp" checking POSIX shell to see that it contains getopts... trying /bin/sh POSIX shell is /bin/sh configure: creating ./config.status config.status: creating Makefile config.status: creating maxima-local config.status: creating xmaxima-local config.status: creating maxima.spec config.status: creating maxima.iss config.status: creating src/Makefile config.status: creating src/maxima config.status: creating src/maxima.bat config.status: creating src/rmaxima config.status: creating src/autoconf-variables.lisp config.status: creating lisp-utils/Makefile config.status: creating tests/Makefile config.status: creating doc/Makefile config.status: creating doc/emaxima/Makefile config.status: creating doc/info/Makefile config.status: creating doc/intromax/Makefile config.status: creating doc/man/Makefile config.status: creating doc/man/maxima.1 config.status: creating doc/share/Makefile config.status: creating interfaces/Makefile config.status: creating interfaces/emacs/Makefile config.status: creating interfaces/emacs/emaxima/Makefile config.status: creating interfaces/emacs/misc/Makefile config.status: creating interfaces/xmaxima/Makefile config.status: creating interfaces/xmaxima/autoconf-variables.tcl config.status: creating interfaces/xmaxima/Tkmaxima/Header.tcl config.status: creating interfaces/xmaxima/win32/Makefile config.status: creating plotting/header.tcl config.status: creating plotting/mgnuplot config.status: creating share/Makefile config.status: creating demo/Makefile config.status: creating plotting/Makefile Summary: CMUCL enabled. Executable name: "lisp" cmucl runtime is "/usr/bin/././lisp" default lisp: cmucl wish executable name: "wish" Making all in src make[1]: Entering directory `/var/tmp/portage/maxima-5.9.1-r2/work/maxima-5.9.1/src' test -d binary-cmucl || mkdir binary-cmucl test -d binary-cmucl/numerical || mkdir binary-cmucl/numerical test -d binary-cmucl/numerical/slatec || mkdir binary-cmucl/numerical/slatec (echo '(progn (load "../lisp-utils/defsystem.lisp") (funcall (intern "OPERATE-ON-SYSTEM" :mk) "maxima" :compile :verbose t))' | lisp -noinit -batch) && \ (echo '(progn (load "../lisp-utils/defsystem.lisp") (funcall (intern "OPERATE-ON-SYSTEM" :mk) "maxima" :load :verbose t) (ext:save-lisp "binary-cmucl/maxima.core"))' | lisp -noinit -batch) CMU Common Lisp CVS 19b 19b-release-20050628-3 + minimal debian patches (19B), running on DreamGate With core: /usr/lib/cmucl/lisp.core Dumped on: Thu, 2005-08-18 08:13:16-07:00 on DreamGate For support see http://www.cons.org/cmucl/support.html Send bug reports to http://bugs.gentoo.org Type (help) for help or (quit) to exit. Loaded subsystems: Python 1.1, target Intel x86 CLOS based on Gerd's PCL 2004/04/14 03:32:47 * ; Loading #P"/var/tmp/portage/maxima-5.9.1-r2/work/maxima-5.9.1/lisp-utils/defsystem.lisp". Warning: Old-style IN-PACKAGE. ; Compiling LAMBDA (.PV-CELL. .NEXT-METHOD-CALL. OBJECT STREAM): ; Compiling Top-Level Form: ; Compiling LAMBDA (.PV-CELL. .NEXT-METHOD-CALL. OBJECT STREAM): ; Compiling Top-Level Form: ; Loading #P"/var/tmp/portage/maxima-5.9.1-r2/work/maxima-5.9.1/src/maxima.system". ; - Compiling defsystem "maxima" ; - Loading module "package" ; Compilation unit aborted. Error in batch processing: Error in function NAMESTRING: Cannot determine the namestring for pathnames with no host: #<Unprintable pathname, Host=NIL, Device=NIL, Directory=(:ABSOLUTE "var" "tmp" "portage" "maxima-5.9.1-r2" "work" "maxima-5.9.1" "src"), Name="maxima-package", Type="lisp", Version=NIL> make[1]: *** [binary-cmucl/maxima.core] Error 1 make[1]: Leaving directory `/var/tmp/portage/maxima-5.9.1-r2/work/maxima-5.9.1/src' make: *** [all-recursive] Error 1 !!! ERROR: sci-mathematics/maxima-5.9.1-r2 failed. !!! Function src_compile, Line 63, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. DreamGate portage #
You are right. AMD64 support for Maxima is obviously broken since the ebuild does not depend on any lisp implementation on this architecture. I removed the ~amd64 keyword until this is fixed and tested properly. Sorry about this. :( Matthew: I am CC'ing you on this since you added the broken amd64 support. Please fix it ASAP and make the commit message something other than "." this time.
*** Bug 103227 has been marked as a duplicate of this bug. ***
*** Bug 103259 has been marked as a duplicate of this bug. ***
Probably its a good thing to change the summery...
Use the attached ebuild for amd64 support via sbcl and gcl. Your fallback in src_compile() should have been qualified for x86 BTW. Also, you can test for an ANSI-supporting gcl by testing for the presence of /usr/$(lib_dir)/gcl/unixport/saved_ansi_gcl $ uname -mi x86_64 AuthenticAMD $ ACCEPT_KEYWORDS='~amd64' USE='gcl' sudo emerge maxima ... $ maxima Maxima 5.9.1 http://maxima.sourceforge.net Using Lisp GNU Common Lisp (GCL) GCL 2.6.7 (aka GCL) Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. This is a development version of Maxima. The function bug_report() provides bug reporting information. (%i1) $ ACCEPT_KEYWORDS='~amd64' USE='sbcl' sudo emerge maxima ... $ maxima Maxima 5.9.1 http://maxima.sourceforge.net Using Lisp SBCL 0.9.3 Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. This is a development version of Maxima. The function bug_report() provides bug reporting information. (%i1)
Created an attachment (id=66773) [details] maxima-5.9.1-r3.ebuild
There are two bugs here. The amd64 support and the breakage on cmucl. Bug #103227 and Bug #103259 are duplicates of the bug in Comment #5 here, but the desciption and summary is for a completely different bug.
*** Bug 103892 has been marked as a duplicate of this bug. ***
Added Matthew's work to CVS. This should fix the "lisp: command not found" error. Changing summary accordingly.
Things have certainly improved with the new ebuild. A quick peek at the DEPENDs raised a few questions: DEPEND="tetex? ( virtual/tetex ) emacs? ( virtual/emacs ) auctex? ( app-emacs/auctex ) >=sys-apps/texinfo-4.3 x86? ( !clisp? ( !sbcl? ( !gcl? ( !cmucl? ( dev-lisp/cmucl ) ) ) ) ) # No specific version of cmucl? # Why test on cmucl? amd64? ( !gcl? ( dev-lisp/sbcl ) ) # amd64 does compile with clisp too. I'ld add a '!clisp?' clause here. # No specific version of sbcl? clisp? ( >=dev-lisp/clisp-2.33.2-r1 ) x86? ( cmucl? ( >=dev-lisp/cmucl-19a ) ) # Suggestion: ask for minimal versions regardless of architecture unless a certain combination is known to be bad. x86? ( gcl? ( >=dev-lisp/gcl-2.6.7 ) ) x86? ( sbcl? ( >=dev-lisp/sbcl-0.8.14 ) ) amd64? ( gcl? ( >=dev-lisp/gcl-2.6.7 ) )" # You forgot amd64? ( sbcl? ( >=dev-lisp/sbcl-0.8.14 ) ) This version is for cut-and-paste: DEPEND="tetex? ( virtual/tetex ) emacs? ( virtual/emacs ) auctex? ( app-emacs/auctex ) >=sys-apps/texinfo-4.3 x86? ( !clisp? ( !sbcl? ( !gcl? ( >=dev-lisp/cmucl-19a ) ) ) ) amd64? ( !clisp? ( !gcl? ( >=dev-lisp/sbcl-0.8.14 ) ) ) clisp? ( >=dev-lisp/clisp-2.33.2-r1 ) cmucl? ( >=dev-lisp/cmucl-19a ) gcl? ( >=dev-lisp/gcl-2.6.7 ) sbcl? ( >=dev-lisp/sbcl-0.8.14 )"
Created an attachment (id=67886) [details] sci-mathematics/maxima/maxima-5.9.1-r4.ebuild New ebuild for maxima
Here is a new ebuild for maxima with some changes: - No more use of arch use flags - Now all use flags work as should. (before USE="-cumcl" emerge maxima was useless as it used cucml anyway, in x86) - Now the default lisp is gcl and not cmucl. This is preferable as gcl has readline support and produces a fast binary. - No more gcl use flag, to prevent point 2 To address the problem with cmucl in amd64, the use flag cmucl should be added to use.mask for amd64 (it only affects maxima). The problem is that gcl does not use ansi for default, so, many users will have to recompile gcl... Lucas Chiesa
CMUCL is now masked on amd64, and the new ebuild is the tree. This should fix the issue. Thanks to Lucas Chiesa for his work.
(In reply to comment #18) > CMUCL is now masked on amd64, and the new ebuild is the tree. This should fix > the issue. Thanks to Lucas Chiesa for his work. Thanks!! I'll test it tomorrow.