Discussion:
[Gcl-devel] Failed building gcl-2.6.9 on NIX using gcc 6.3.0 on x86-64
George Gaarder
2018-02-22 06:33:44 UTC
Permalink
I ran `./configure; make` and got thousands of `multiple definition of` error lines. Here is the full terminal session, including configure output: https://paste.ubuntu.com/p/qnwnPjrY7d/ where you can see the errors from line 1868 on.

Besides, I have another question: At the beginning I used `make -j` to speed up and seems it makes `make` failed. Why?

It would be very kind of you to help me figure out this. Thank you.

George
Jerry James
2018-02-22 14:56:44 UTC
Permalink
Post by George Gaarder
I ran `./configure; make` and got thousands of `multiple definition of`
https://paste.ubuntu.com/p/qnwnPjrY7d/ where you can see the errors from
line 1868 on.
The semantics of 'inline' changed. You need to add "-std=gnu89" to
your CFLAGS, since that version of gcc defaults to a later C standard.
Also, if you plan to use SGC, you will also need to add
"-fno-omit-frame-pointer" to CFLAGS, since that version of gcc
defaults to omitting the frame pointer. Lessons learned while
building gcl for Fedora. :-)
Post by George Gaarder
Besides, I have another question: At the beginning I used `make -j` to speed
up and seems it makes `make` failed. Why?
Yes, I've had -j disabled for the Fedora build for a long time. I
don't know how to fix it.

Regards,
--
Jerry James
http://www.jamezone.org/
Camm Maguire
2018-02-22 18:33:44 UTC
Permalink
Greetings, and thanks for your report!

2.6.9 is way out of date. 2.6.12 is the last official release, and
2.6.13pre/list_order in git is the current release candidate. These
sources are also in the latest Debian package.

I would strongly encourage not attempting to go back to the old inline
semantics, as support for the newer version has been live in gcl for a
long time now. I am also unaware of any breakage of
-fomit-frame-pointer and SGC.

By way of commentary, SGC, while still supported, does not seem to yield
any benefit on modern hardware, and does incur a small cost. This is
basically due to the fact that if you touch swap at all, its 'game over'
performance wise.

Parallelism in the build would be possible in the lsp, cmpnew, and clcs
subdirs only, to my understanding. The logic of the build is highly
serialized at the moment.

Take care,
Post by Jerry James
Post by George Gaarder
I ran `./configure; make` and got thousands of `multiple definition of`
https://paste.ubuntu.com/p/qnwnPjrY7d/ where you can see the errors from
line 1868 on.
The semantics of 'inline' changed. You need to add "-std=gnu89" to
your CFLAGS, since that version of gcc defaults to a later C standard.
Also, if you plan to use SGC, you will also need to add
"-fno-omit-frame-pointer" to CFLAGS, since that version of gcc
defaults to omitting the frame pointer. Lessons learned while
building gcl for Fedora. :-)
Post by George Gaarder
Besides, I have another question: At the beginning I used `make -j` to speed
up and seems it makes `make` failed. Why?
Yes, I've had -j disabled for the Fedora build for a long time. I
don't know how to fix it.
Regards,
--
Camm Maguire ***@maguirefamily.org
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
Blake McBride
2018-04-02 01:36:27 UTC
Permalink
Post by Camm Maguire
Greetings, and thanks for your report!
2.6.9 is way out of date. 2.6.12 is the last official release, and
2.6.13pre/list_order in git is the current release candidate.
When I do a "git branch -a" I see no tags for

2.6.12
2.6.13pre/list_order

I do see remote tags:

Version_2_6_12pre
Version_2_6_13pre

Should there be a tags:

Version_2_6_12
Version_2_6_13pre/list_order

??

I haven't been able to build master since the last email I sent.

Thanks.

Blake
Post by Camm Maguire
These
sources are also in the latest Debian package.
I would strongly encourage not attempting to go back to the old inline
semantics, as support for the newer version has been live in gcl for a
long time now. I am also unaware of any breakage of
-fomit-frame-pointer and SGC.
By way of commentary, SGC, while still supported, does not seem to yield
any benefit on modern hardware, and does incur a small cost. This is
basically due to the fact that if you touch swap at all, its 'game over'
performance wise.
Parallelism in the build would be possible in the lsp, cmpnew, and clcs
subdirs only, to my understanding. The logic of the build is highly
serialized at the moment.
Take care,
Post by Jerry James
Post by George Gaarder
I ran `./configure; make` and got thousands of `multiple definition of`
error lines. Here is the full terminal session, including configure
https://paste.ubuntu.com/p/qnwnPjrY7d/ where you can see the errors
from
Post by Jerry James
Post by George Gaarder
line 1868 on.
The semantics of 'inline' changed. You need to add "-std=gnu89" to
your CFLAGS, since that version of gcc defaults to a later C standard.
Also, if you plan to use SGC, you will also need to add
"-fno-omit-frame-pointer" to CFLAGS, since that version of gcc
defaults to omitting the frame pointer. Lessons learned while
building gcl for Fedora. :-)
Post by George Gaarder
Besides, I have another question: At the beginning I used `make -j` to
speed
Post by Jerry James
Post by George Gaarder
up and seems it makes `make` failed. Why?
Yes, I've had -j disabled for the Fedora build for a long time. I
don't know how to fix it.
Regards,
--
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
_______________________________________________
Gcl-devel mailing list
https://lists.gnu.org/mailman/listinfo/gcl-devel
Camm Maguire
2018-04-02 16:51:31 UTC
Permalink
Greetings, and thanks for your note!
Post by Camm Maguire
Greetings, and thanks for your report!
2.6.9 is way out of date. 2.6.12 is the last official release, and
2.6.13pre/list_order in git is the current release candidate.
When I do a "git branch -a" I see no tags for
2.6.12
2.6.13pre/list_order
Version_2_6_12pre
Version_2_6_13pre
Version_2_6_12
Version_2_6_13pre/list_order
I must confess to substantial ignorance concerning git 'best
practices'. list_order was a 'toplevel' branch off of
Version_2_6_13pre, but has since been merged in to the latter. This is
the 2.6.13 release candidate, being tested in debian/unstable packages
and builds.

Just committed a few changes to master which should restore the build
with latest default gcc settings. The compiler is in many ways much
better, but is way too slow for prime time. The inlining algorithm
needs to be rethought, as there are cases where multiple iterative
provisional processing of the same code grows exponentially.

Take care,
Post by Camm Maguire
??
I haven't been able to build master since the last email I sent.
Thanks.
Blake
These
sources are also in the latest Debian package.
I would strongly encourage not attempting to go back to the old inline
semantics, as support for the newer version has been live in gcl for a
long time now. I am also unaware of any breakage of
-fomit-frame-pointer and SGC.
By way of commentary, SGC, while still supported, does not seem to yield
any benefit on modern hardware, and does incur a small cost. This is
basically due to the fact that if you touch swap at all, its 'game over'
performance wise.
Parallelism in the build would be possible in the lsp, cmpnew, and clcs
subdirs only, to my understanding. The logic of the build is highly
serialized at the moment.
Take care,
Post by George Gaarder
I ran `./configure; make` and got thousands of `multiple definition of`
https://paste.ubuntu.com/p/qnwnPjrY7d/ where you can see the errors from
line 1868 on.
The semantics of 'inline' changed. You need to add "-std=gnu89" to
your CFLAGS, since that version of gcc defaults to a later C standard.
Also, if you plan to use SGC, you will also need to add
"-fno-omit-frame-pointer" to CFLAGS, since that version of gcc
defaults to omitting the frame pointer. Lessons learned while
building gcl for Fedora. :-)
Post by George Gaarder
Besides, I have another question: At the beginning I used `make -j` to speed
up and seems it makes `make` failed. Why?
Yes, I've had -j disabled for the Fedora build for a long time. I
don't know how to fix it.
Regards,
--
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
_______________________________________________
Gcl-devel mailing list
https://lists.gnu.org/mailman/listinfo/gcl-devel
--
Camm Maguire ***@maguirefamily.org
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
Loading...