I have written a Go program
that takes a recording file and submits the first 59 seconds of it (to totally avoid the using the Google Cloud Storage stuff, which for multiple reasons is impractical to use on a large number of servers) to the google speech-to-text API. It's been running fine on Ubuntu, CentOS6, and CentOS7, until this weekend. I have just moved up a system running Ubuntu 22.04. I had to make a code change. go build
runs fine. But when I run it on CentOS6 or 7:
[murf@0b06ac9134ab stt3]$ ./stt3
./stt3: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by ./stt3)
./stt3: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by ./stt3)
[murf@0b06ac9134ab stt3]$
Installed golang on both centOS6 and 7, built the exec locally on those boxes, and same result.
I did some research and see that glibc
is a problem for golang
, but only in code that needs a few of its features. Recompiling to force a new usage of an older version of glibc
seems a viable option here.
Seems to me, that google updated the Go API libraries
, and made them depend on a much newer version of glibc
.... and the only way to get rid of this dependency would be to recompile all the Google Cloud API Go library sources on CentOS6 (oldest glibc). May have to also recompile on centOS7, who knows. So much for the portability of Go.
So, the questions are:
- Where in the heck are the sources for the Google Cloud API Go libraries?
- Why are they so hard to find? Are they proprietary?
- Should I give up on Google's stuff, and move to Nuance or any of the others?
- How do I even report a bug in their code?