-
-
Notifications
You must be signed in to change notification settings - Fork 902
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[install] canonicalize already defined by glibc #2105
Comments
Thanks for the report. I'll take a look in the morning! |
@pterjan Hey there! I'm trying to reproduce what you're seeing and having problems. I'm wondering if you can help. Here's what I've tried: First, I tried to spin up Mageia 8. I can't find anything on hub.docker.com or on app.vagranup.com So, I spun up a docker container running
Here's how I configured the system:
And then I'm able to Can you help me to set up a Mageia 8 container? I'd prefer not to have to download the installation ISO and create my own virtual machine. |
@pterjan Actually, I've pushed a branch You should only need to run:
Please give it a look and let us know whether it addresses the issue you're seeing. |
`nokogiri` defines a C function called `canonicalize` which conflicts with another function defined in glibc. Upstream has fixed this issue [1], but in a much newer version. And because the affected file has changed since the merged patch [2], it isn't directly applicable to the old gem version `mpdcron` depends on. [1]: sparklemotion/nokogiri#2105 [2]: sparklemotion/nokogiri@7a74cdb
`nokogiri` defines a C function called `canonicalize` which conflicts with another function defined in glibc. Upstream has fixed this issue [1], but in a much newer version. And because the affected file has changed since the merged patch [2], it isn't directly applicable to the old gem version `mpdcron` depends on. [1]: sparklemotion/nokogiri#2105 [2]: sparklemotion/nokogiri@7a74cdb (cherry picked from commit 37517db)
…a base **What does this PR do?** This PR changes our Ruby 2.3 docker image to use Debian 11 "bullseye" as a base instead of Debian 12 "buster". In #3534 we updated this image but this broke system-tests (https://github.com/DataDog/dd-trace-rb/actions/runs/8346827939/job/22845592152) because they use an old nokogiri version that fails to build on modern systems (sparklemotion/nokogiri#2105): ``` $ gem install nokogiri -v '= 1.10.10' xml_document.c:495:14: error: conflicting types for 'canonicalize'; have 'VALUE(int, VALUE *, VALUE)' {aka 'long unsigned int(int, long unsigned int *, long unsigned int)'} 495 | static VALUE canonicalize(int argc, VALUE* argv, VALUE self) | ^~~~~~~~~~~~ In file included from /usr/include/features.h:489, from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33, from /usr/include/stdlib.h:26, from ./nokogiri.h:4, from ./xml_document.h:4, from xml_document.c:1: /usr/include/x86_64-linux-gnu/bits/mathcalls.h:370:1: note: previous declaration of 'canonicalize' with type 'int(double *, const double *)' 370 | __MATHDECL_1 (int, canonicalize,, (_Mdouble_ *__cx, const _Mdouble_ *__x)); | ^~~~~~~~~~~~ make: *** [Makefile:240: xml_document.o] Error 1 make failed, exit code 2 Gem files will remain installed in /usr/local/bundle/gems/nokogiri-1.10.10 for inspection. Results logged to /usr/local/bundle/extensions/x86_64-linux/2.3.0/nokogiri-1.10.10/gem_make.out ``` Rather than fighting nokogiri or the system-tests app, let's instead gently step back from Debian 12 to 11, which should still buy us plenty of time until we deprecate Ruby 2.3. **Motivation:** Fix CI/system-tests for Ruby 2.3. **Additional Notes:** N/A **How to test the change?** I've locally built the image with ```bash $ docker build . -f Dockerfile-2.3.8 -t some-testing-name ``` and confirmed that nokogiri sucessfully installs.
Have you read and followed the installation tutorial at http://www.nokogiri.org/tutorials/installing_nokogiri.html?
What is the complete output of
gem install
orbundle install
?What are the complete contents of the
mkmf.log
file generated during the failed installation?Tell us about your system!
What is the output from
ruby -v
?ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
What is the output from
gem -v
?3.1.4
What is the output from
gem env
?If Linux or a BSD variant, please note:
Mageia Cauldron
uname -a
Linux mageia 5.8.5-server-2.mga8 #1 SMP Fri Aug 28 18:54:09 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
/etc/lsb-release
.The text was updated successfully, but these errors were encountered: