I've run into this as well. It looks somewhat related to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=314435
As the maintainers explained there, nanosleep isn't part of the c99 standard (it is part of the posix standard). When you set -std=c99, that turns off -D_GNU_SOURCE, which turns off _POSIX_C_SOURCE in features.h, which turns off nanosleep, amongst other things. Not clear on exactly why this didn't matter in go 1.9, however. On Friday, February 23, 2018 at 8:53:46 AM UTC-8, Vladislav Mitov wrote: > > Interesting fact is that if I remove "-std=c99" from CGO_CFLAGS it works > locally, fails in Travis though. > > On Friday, February 23, 2018 at 6:32:29 PM UTC+2, Vladislav Mitov wrote: >> >> Not sure, I'l building in golang:latest >> https://github.com/miracl/gomiracl/blob/master/Dockerfile#L23. >> >> On Friday, February 23, 2018 at 12:26:27 PM UTC+2, Dave Cheney wrote: >>> >>> The failing line was added in december last year, >>> >>> >>> https://github.com/golang/go/commit/7cba779cea5#diff-56c7df71bce32f8e50115128ae30941eR13 >>> >>> This also adds a dependency on time.h. Is time.h available in your build >>> container? >>> >>> On Friday, 23 February 2018 20:09:02 UTC+11, Владислав Митов wrote: >>>> >>>> Nah, it's not that - >>>> https://travis-ci.org/miracl/gomiracl/jobs/345158452. If fails also in >>>> golang:latest where the yaml gotcha it's not a thing. Solid suggestion >>>> though, thanks. >>>> >>>> On Friday, February 23, 2018 at 11:02:59 AM UTC+2, Владислав Митов >>>> wrote: >>>>> >>>>> Ah, I read about that but ti says `go version go1.10 linux/amd64`. >>>>> I'll try putting it in quotes now. >>>>> >>>>> On Friday, February 23, 2018 at 1:57:53 AM UTC+2, Nic Pottier wrote: >>>>>> >>>>>> This is almost certainly because your .travis file is specifying your >>>>>> version as `1.10` vs `"1.10"` >>>>>> >>>>>> So your build is building with go 1.1 instead of 1.10. >>>>>> >>>>>> Ran into this myself this morning. >>>>>> >>>>>> -Nic >>>>>> >>>>>> On Thursday, February 22, 2018 at 11:38:43 AM UTC-5, Владислав Митов >>>>>> wrote: >>>>>>> >>>>>>> Hey guys, >>>>>>> >>>>>>> One of my build started failing with 1.10. Basically I'm building a >>>>>>> wrapper around a C library and it fails with: >>>>>>> >>>>>>> # runtime/cgo >>>>>>> gcc_libinit.c: In function '_cgo_try_pthread_create': >>>>>>> gcc_libinit.c:97:18: error: storage size of 'ts' isn't known >>>>>>> struct timespec ts; >>>>>>> ^~ >>>>>>> gcc_libinit.c:110:3: error: implicit declaration of function ' >>>>>>> nanosleep' [-Werror=implicit-function-declaration] >>>>>>> nanosleep(&ts, nil); >>>>>>> ^~~~~~~~~ >>>>>>> gcc_libinit.c:97:18: error: unused variable 'ts' >>>>>>> [-Werror=unused-variable] >>>>>>> struct timespec ts; >>>>>>> ^~ >>>>>>> cc1: all warnings being treated as errors >>>>>>> https://travis-ci.org/miracl/gomiracl/jobs/344782123 >>>>>>> >>>>>>> Any hint's what's causing this? >>>>>>> >>>>>>> Cheers, >>>>>>> Vladi >>>>>>> >>>>>> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
