1 > /bin/mkdir -p '/var/tmp/portage/sci-mathematics/maxima-5.41.0-r2/image//usr/lib64/maxima/5.41.0/binary-openmcl' /usr/lib/portage/python3.6/ebuild-helpers/xattr/install -c -m 644 ./binary-openmcl/maxima.image '/var/tmp/portage/sci-mathematics/maxima-5.41.0-r2/image//usr/lib64/maxima/5.41.0/binary-openmcl' /usr/bin/install: cannot stat './binary-openmcl/maxima.image': No such file or directory make[2]: *** [Makefile:926: install-openmcllibDATA] Error 1 make[2]: Leaving directory '/var/tmp/portage/sci-mathematics/maxima-5.41.0-r2/work/maxima-5.41.0/src' make[1]: *** [Makefile:1040: install-am] Error 2 ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.0-desktop_libressl_20180902-143139 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-8.2.0 * Available Python interpreters, in order of preference: [1] python3.6 [2] python2.7 (fallback) Available Ruby profiles: [1] ruby23 (with Rubygems) * java-config: The following VMs are available for generation-2: *) IcedTea JDK 3.8.0 [icedtea-bin-8] Available Java Virtual Machines: [1] icedtea-bin-8 system-vm emerge -qpv sci-mathematics/maxima [ebuild N ] sci-mathematics/maxima-5.41.0-r2 USE="X clozurecl nls unicode -clisp (-cmucl) -ecls -emacs -gcl -sbcl -tk" L10N="-de -es -pt -pt-BR"
Created attachment 546062 [details] emerge-info.txt
Created attachment 546064 [details] emerge-history.txt
Created attachment 546066 [details] environment
Created attachment 546068 [details] etc.portage.tbz2
Created attachment 546070 [details] logs.tbz2
Created attachment 546072 [details] sci-mathematics:maxima-5.41.0-r2:20180905-214134.log
Created attachment 546074 [details] temp.tbz2
This is, probably, related to the 17.0 profile. I have 2 Gentoo boxes, my main ~amd64 notebook and an ~x86 office desktop. After long hesitations I've finally switched my ~x86 box from 13.0 to 17.0. After that, I could not emerge clozurecl (as well as quite a number of other things). Building clozurecl-1.11.5 produces several linking warnings, and then runs forever, consuming 100% CPU. I could not also emerge gcl-2.6.12 (and a number of other packages). I see you have managed to emerge clozurecl-1.11.5 on a 1.0 amd64 successfully. However, this bug shows that it does not work: ; - Providing system maxima > Error: Directory containing "binary-openmcl/maxima.image" does not exist. > While executing: SAVE-APPLICATION, in process listener(1). > Type :GO to continue, :POP to abort, :R for a list of available restarts. > If continued: Skip evaluation of (progn (require :defsystem) (funcall (intern (symbol-name :operate-on-system) :mk) "maxima" :load :verbose t) (ccl:save-application "binary-openmcl/maxima.image" ) (ccl::quit)) > Type :? for other options. 1 > The clozurecl upstream replied to my email that the problem is, probably, related to Gentoo specific security-related compilation options. On my main computer, a 13.0 ~amd64, clozurecl works fine, successfully compiles maxima, and the resulting maxima also works fine. I am not going to switch my main computer to 17.0, because it breaks too many useful packages which I need. So, this is a bug in the 17.0 profile, not in maxima or clozurecl.
*** Bug 602610 has been marked as a duplicate of this bug. ***
hopefully clozurecl was handled in bug #672454
(In reply to Sergei Trofimovich from comment #10) > hopefully clozurecl was handled in bug #672454 Only for ~x86! I have a ~x86 17.0 computer, with your patch clozurecl compiles fine and compiles maxima and fricas fine. On my ~amd64 13.0 computer everything is fine. But I have no ~amd64 17.0 computer. Your patch touches only 32-bit Makefile. Maybe, a similar change in the 64-bit one will eliminate this bug, but I cannot check this. Can you check if adding -no-pie to linuxx8664/Makefile eliminates this bug in building maxima?
Adding -no-pie makes sense on amd64 as well. clozurecl does not fail for me on it's own though. I still get the failure for maxima-5.42.1 on amd64/17.0 of form: Error: Directory containing "binary-openmcl/maxima.image" does not exist. both with and without -no-pie. I run build as # FEATURES="-strict -stricter -test -fail-clean" USE="clozurecl -sbcl" emerge -v1 sci-mathematics/maxima Note: compiler complains about the directory, not a file. If I check where maxima was being built all that time: # ls -d src/binary-* src/binary-ccl64 I guess build system needs some tweaking for amd64 to point to right directory for this compiler.
I looked at this bug once again and I think USE=clozurecl is broken on amd64 for reasons unrelated to 17.0 profile. It looks like maxima's build system distinguishes ccl (32-bit) and ccl64 (64-bit). It calls ccl as openmcl internally and ccl64 as dx86cl64. src/maxima.system sets the following: (defun maxima-binary-pathname () ... #+(and openmcl (not 64-bit-target)) "binary-openmcl" #+(and openmcl 64-bit-target) "binary-ccl64" Makefiles expect similar at src/ Makefile.am: if CCL64 ccl64libdir = $(verpkglibdir)/binary-ccl64 EXTRA_SCRIPTS += $(OPENMCL_MAXIMA) But gentoo's patches and configure never enables --enable-ccl64 on amd64 and thus never triggers 'if CCL64' condition. As a result intermediate objects are built in 'binary-ccl64' but Makefile expects it in 'binary-opencl'.
Created attachment 578442 [details, diff] maxima-5.43.0-ccl64.patch maxima-5.43.0-ccl64.patch fixes installation of USE=clozurecl maxima-5.43.0.ebuild for me. Result seems to work.
Removing from pie blockers. Let's sort out gcl failure separately.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9cac2697e91de4b2484524f4f5618d809a8b03ca commit 9cac2697e91de4b2484524f4f5618d809a8b03ca Author: Michael Orlitzky <mjo@gentoo.org> AuthorDate: 2020-03-27 03:33:22 +0000 Commit: Michael Orlitzky <mjo@gentoo.org> CommitDate: 2020-03-27 03:42:07 +0000 sci-mathematics/maxima: fix amd64 build with USE=clozurecl. The maxima build needs some special-case hacking on amd64 with clozurecl. Thanks to slyfox for the patch. Closes: https://bugs.gentoo.org/665364 Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Michael Orlitzky <mjo@gentoo.org> sci-mathematics/maxima/maxima-5.43.2.ebuild | 10 ++++++++++ 1 file changed, 10 insertions(+)
Your change is appears to be causing bug 715278
Exactly the same problem (maxima.image) reappeared in building maxima-5.44.0. Up till this version it compiled OK.
(In reply to milan hodoscek from comment #18) > Exactly the same problem (maxima.image) reappeared in building > maxima-5.44.0. Up till this version it compiled OK. Yeah it crept back in. I hope to have a more permanent fix for this and bug 715278 in the next day or two, but I'll reopen this in case I get hit by a bus between now and then.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=33d71eafab35a8f6083ebeeaa849a7c0a5d82e29 commit 33d71eafab35a8f6083ebeeaa849a7c0a5d82e29 Author: Michael Orlitzky <mjo@gentoo.org> AuthorDate: 2021-03-27 11:35:44 +0000 Commit: Michael Orlitzky <mjo@gentoo.org> CommitDate: 2021-03-29 12:42:05 +0000 sci-mathematics/maxima: new revision with separate ccl/ccl64 support. In Gentoo, both the 32-bit and 64-bit versions of clozurecl are provided by the same package and executable name (ccl). Maxima however treats them as separate lisp implementations, with two complete sets of configure flags. To make that work correctly in the ebuild, we'd need to have a bunch of special cases for the user's architecture. Instead, this commit adds a separate "clozurecl64" USE flag to complement the existing, now 32-bit, "clozurecl" flag. This will allow us to mask the 32-bit flag in the 64-bit profiles and vice-versa. Closes: https://bugs.gentoo.org/665364 Closes: https://bugs.gentoo.org/715278 Package-Manager: Portage-3.0.13, Repoman-3.0.2 Signed-off-by: Michael Orlitzky <mjo@gentoo.org> sci-mathematics/maxima/maxima-5.44.0-r5.ebuild | 231 +++++++++++++++++++++++++ sci-mathematics/maxima/metadata.xml | 4 +- 2 files changed, 234 insertions(+), 1 deletion(-)