Skip to content
This repository has been archived by the owner on Apr 15, 2024. It is now read-only.

Use -stdlib=libc++ on fedora-clang-devel #60

Merged
merged 1 commit into from
Mar 30, 2022

Conversation

paleolimbot
Copy link
Contributor

This is a slightly modified version of #52 that uses a slightly different way to update the Makevars (in this case, CXX and family). The gist of it is that the fedora-clang-devel check is using a custom build of clang that can be replicated using -stdlib=libc++ (this is the suggested method according to https://www.stats.ox.ac.uk/pub/bdr/Rconfig/r-devel-linux-x86_64-fedora-clang ). I copied the Makevars addition from the debian-gcc10-devel image, which also updates the Makevars. I checked this using:

docker build . --tag fedora-clang-devel
docker run --rm -it fedora-clang-devel /opt/R-devel/bin/R CMD config CXX
docker run --rm -it fedora-clang-devel /opt/R-devel/bin/R CMD config CXX11
docker run --rm -it fedora-clang-devel /opt/R-devel/bin/R CMD config CXX14
docker run --rm -it fedora-clang-devel /opt/R-devel/bin/R CMD config CXX17
docker run --rm -it fedora-clang-devel /opt/R-devel/bin/R CMD config CXX20

We also ran into a problem installing the 'sass' package which we fixed by adding -stdlib=libc++ to the LDFLAGS, but I think the root cause of that is that 'sass' isn't using CXX to do the linking (rstudio/sass#104, apache/arrow#12734).

@gaborcsardi
Copy link
Contributor

But they also rebuild system dependencies to link against libc++ and we don't. Wouldn't that cause problems? Can a program link to both libc++ and libstdc++?

@paleolimbot
Copy link
Contributor Author

I think they rebuild some of them to do that, but some they don't? The list of rebuilt packages from that link is: JAGS ImageMagick boost_program_options poppler protobuf. Apparently using system GDAL is fine.

The details are well over my head here! In Arrow's case we need this in our CI to keep from CRAN check surprises, but we're certainly not offended if our CI is where it needs to stay.

@gaborcsardi
Copy link
Contributor

OK, let's try it then.

@gaborcsardi gaborcsardi merged commit b0610c9 into r-hub:master Mar 30, 2022
@gaborcsardi
Copy link
Contributor

Thanks!

@paleolimbot paleolimbot deleted the fedora-clang-libcpp branch March 30, 2022 16:53
paleolimbot added a commit to apache/arrow that referenced this pull request Aug 24, 2022
#12824)

In ARROW-15857 (#12734) we fixed the nightly failures on rhub/fedora-clang-devel by a kludge modifying the default makefile, but also upstreamed the fixes (rstudio/sass#104 and r-hub/rhub-linux-builders#60). These upstreams are now both released, so we can remove the kludge from modification of the docker image.

Lead-authored-by: Dewey Dunnington <[email protected]>
Co-authored-by: Dewey Dunnington <[email protected]>
Signed-off-by: Dewey Dunnington <[email protected]>
anjakefala pushed a commit to anjakefala/arrow that referenced this pull request Aug 31, 2022
apache#12824)

In ARROW-15857 (apache#12734) we fixed the nightly failures on rhub/fedora-clang-devel by a kludge modifying the default makefile, but also upstreamed the fixes (rstudio/sass#104 and r-hub/rhub-linux-builders#60). These upstreams are now both released, so we can remove the kludge from modification of the docker image.

Lead-authored-by: Dewey Dunnington <[email protected]>
Co-authored-by: Dewey Dunnington <[email protected]>
Signed-off-by: Dewey Dunnington <[email protected]>
zagto pushed a commit to zagto/arrow that referenced this pull request Oct 7, 2022
apache#12824)

In ARROW-15857 (apache#12734) we fixed the nightly failures on rhub/fedora-clang-devel by a kludge modifying the default makefile, but also upstreamed the fixes (rstudio/sass#104 and r-hub/rhub-linux-builders#60). These upstreams are now both released, so we can remove the kludge from modification of the docker image.

Lead-authored-by: Dewey Dunnington <[email protected]>
Co-authored-by: Dewey Dunnington <[email protected]>
Signed-off-by: Dewey Dunnington <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants