[cmucl-imp] About the compilation of cmucl with recent versions of GCC.
Dear sirs, This is my first mail to this list and do not expect to remain very active. I was running a Fedora 29 machine and tried to install cmucl 21d. Binaries worked without trouble. However, I decided to try and bootstrap the system, only to head into open issue #68. https://gitlab.common-lisp.net/cmucl/cmucl/issues/68 I write this message because I think that I have found a work-around: In file cmucl/src/lisp/Config.x86_common I had to exchange the line CFLAGS += -O2 with CFLAGS += -O1 That is to say, latest versions of the gcc compiler are only able to produce a working cmucl lisp binary with an optimization level up to -O1. --- The proposed replacement of gcc by clang *(Commit 82bf2c72) *worked too. By the way, clang apparently works fine with optimization -O3. ----------- Notwithstanding the previous assertions, I run tests and all of them worked but for "issue.45". Failed tests: (ISSUES-TESTS::ISSUE.45) | Failed Form: (GET-OUTPUT-STREAM-STRING ISSUES-TESTS::S) | Expected "ls-link " but saw "/usr/bin/env: 'test-tmp/ls-link': No such file or directory " | | Failed Form: (PROCESS-EXIT-CODE ISSUES-TESTS::PROCESS) | Expected 0 but saw 127 | | Failed Form: (GET-OUTPUT-STREAM-STRING ISSUES-TESTS::S) | Expected "ls-link " but saw "ls: cannot access 'test-tmp/': No such file or directory " | | Failed Form: (PROCESS-EXIT-CODE ISSUES-TESTS::PROCESS) | Expected 0 but saw 2 | | Failed Form: (GET-OUTPUT-STREAM-STRING ISSUES-TESTS::S) | Expected "ls-link " but saw "/bin/ls: cannot access 'test-tmp/': No such file or directory " | | Failed Form: (PROCESS-EXIT-CODE ISSUES-TESTS::PROCESS) | Expected 0 but saw 2 | ISSUE.45: 0 assertions passed, 6 failed. Of course, there were no test-tmp directory in my file system. Is this an expected behaviour or should the tests have created the needed directories and files? Yours faithfully, ---- Juan Hierro.
Firstly, sorry for the delay! On Mon, Apr 8, 2019 at 4:52 AM Juan Pablo Hierro Álvarez <hierro@unizar.es> wrote:
Dear sirs,
This is my first mail to this list and do not expect to remain very active.
I was running a Fedora 29 machine and tried to install cmucl 21d.
Binaries worked without trouble. However, I decided to try and bootstrap the system, only to head into open issue #68.
https://gitlab.common-lisp.net/cmucl/cmucl/issues/68
I write this message because I think that I have found a work-around:
In file cmucl/src/lisp/Config.x86_common
I had to exchange the line
CFLAGS += -O2
with
CFLAGS += -O1
Thanks for looking into this. I can confirm that -O1 works with gcc 8.3.1 on my Fedora system. This is a reasonable workaround. We probably won't lose too much this way. I think the only possibly heavy usage of C code is for the garbage collector.
That is to say, latest versions of the gcc compiler are only able to produce a working cmucl lisp binary with an optimization level up to -O1.
---
The proposed replacement of gcc by clang *(Commit 82bf2c72) *worked too. By the way, clang apparently works fine with optimization -O3.
Probably not a whole lot to be gained by using -O3, but I also didn't test this.
-----------
Notwithstanding the previous assertions, I run tests and all of them worked but for "issue.45".
Failed tests: (ISSUES-TESTS::ISSUE.45) | Failed Form: (GET-OUTPUT-STREAM-STRING ISSUES-TESTS::S) | Expected "ls-link " but saw "/usr/bin/env: 'test-tmp/ls-link': No such file or directory
Hmm. I don't have this problem. I'll look into it later.
" | | Failed Form: (PROCESS-EXIT-CODE ISSUES-TESTS::PROCESS) | Expected 0 but saw 127 | | Failed Form: (GET-OUTPUT-STREAM-STRING ISSUES-TESTS::S) | Expected "ls-link " but saw "ls: cannot access 'test-tmp/': No such file or directory " | | Failed Form: (PROCESS-EXIT-CODE ISSUES-TESTS::PROCESS) | Expected 0 but saw 2 | | Failed Form: (GET-OUTPUT-STREAM-STRING ISSUES-TESTS::S) | Expected "ls-link " but saw "/bin/ls: cannot access 'test-tmp/': No such file or directory " | | Failed Form: (PROCESS-EXIT-CODE ISSUES-TESTS::PROCESS) | Expected 0 but saw 2 | ISSUE.45: 0 assertions passed, 6 failed.
Of course, there were no test-tmp directory in my file system. Is this an expected behaviour or should the tests have created the needed directories and files?
Yours faithfully,
----
Juan Hierro.
_______________________________________________ cmucl-imp mailing list cmucl-imp@cmucl.cons.org https://lists.zs64.net/mailman/listinfo/cmucl-imp
-- Ray
participants (2)
-
Juan Pablo Hierro Álvarez -
Raymond Toy