googleads / google-ads-ruby

Google Ads API Ruby Client Library
https://developers.google.com/google-ads/api/
Apache License 2.0
70 stars 67 forks source link

gem does not build on FreeBSD 13.2 due to issue in abseil #477

Closed voets closed 7 months ago

voets commented 7 months ago

I'm on 13.2-RELEASE-p8 FreeBSD Previous gem 22 release was built fine on FreeBSD 12 But when trying to upgrade to 25.0 building the gem breaks

bundling stops with this error: /usr/local/lib/ruby/gems/3.1/gems/grpc-1.60.0/src/ruby/ext/grpc/objs/opt/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.o third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc third_party/abseil-cpp/absl/base/internal/sysinfo.cc:450:10: error: static_cast from 'pthread_t' (aka 'pthread *') to 'pid_t' (aka 'int') is not allowed return static_cast(pthread_self()); ^~~~~~~~~~

There's this reference in the FreeBSD ports tree for the python version of grpc: https://cgit.freebsd.org/ports/tree/devel/py-grpcio/files/patch-third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc

Not sure if this will fix the ruby one as well

And I have seen this one: https://github.com/abseil/abseil-cpp/commit/ded2ec077d911de647d47ab48ef3a8e24a1fb64a

mcloonan commented 7 months ago

We recently updated our dependency on gapic-common, which in turn depends on grpc, which is where it looks like this error is coming from. You should probably take a look on their GitHub for other people having this issue or to file your own issue. We're not going to be able to troubleshoot compatibility issues with our dependencies.