[build2] build2-toolchain (phase2) link errors related to "thread_local" not passed accross projects

Boris Kolpackov boris at codesynthesis.com
Tue Jul 10 12:48:17 UTC 2018


christian montanari <ptizoom at gmail.com> writes:

> I got these anoying linking errors trying buildind build2 in phase2
> on CYGWIN [...]
> 
> I found it quite close to these observations:
> https://gcc.gnu.org/ml/gcc-bugs/2015-01/msg02097.html
> https://stackoverflow.com/questions/28023728/using-extern-thread-local-in-c11-on-cygwin-amd64

Looks like a bug in GCC and/or Cygwin:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64697


> I am new to this jazz, it seems to me a lot frustrating work is implied
> to decipher this build2...

That's because you are trying to use build2 on an unsupported target
(Cygwin). And the reason it is not supported is exactly these kinds
of bugs. This one was submitted in 2015 and is still not fixed.


> ...and not much added value to the core project.

Well, the ODB compiler can now be built with build2 from packages and
out of the box on Windows (as well as Linux and Mac OS):

https://stage.build2.org/?builds=&pn=odb

For comparison, building the ODB compiler for Windows using autotools
(those "m4" macros you refer to below) required building a custom Linux-
to-MinGW cross compiler as well as hacking both GCC and ODB.


> Anyway I dived in because I like this odb stuff, but still I am
> wondering why one did not stick to m4 macros as everything is
> there since the beginning of ages !)

You must have never maintained a project that required some non-
trivial autoconf tests (like ODB does for the GCC plugin support).

Boris



More information about the users mailing list