[cmucl-imp] About the compilation of cmucl with recent versions of GCC.

Raymond Toy toy.raymond at gmail.com
Wed Apr 17 02:16:46 UTC 2019


Firstly, sorry for the delay!

On Mon, Apr 8, 2019 at 4:52 AM Juan Pablo Hierro Álvarez <hierro at 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 at cmucl.cons.org
> https://lists.zs64.net/mailman/listinfo/cmucl-imp
>


-- 
Ray


More information about the cmucl-imp mailing list