-
Notifications
You must be signed in to change notification settings - Fork 5
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
Add GCC 14 UBSAN container (Fedora 40) #81
base: main
Are you sure you want to change the base?
Conversation
Thanks, we don't need a separate R build for this,if you set |
|
Can you please build this image and make sure that it works, i.e. it finds the error in your package, and also in some other packages with gcc-ubsan and gcc-asan errors on CRAN? Thanks! |
hi @gaborcsardi |
So can you try to make sure that this image reproduces the errors on CRAN? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
containers/gcc14-ubsan/Dockerfile
Outdated
'install.packages("pak", repos = sprintf("https://r-lib.github.io/p/pak/%s/%s/%s/%s", "devel", .Platform$pkgType, R.Version()$os, R.Version()$arch))' | ||
|
||
# ------------------------------------------------------------------------------------ | ||
# Install pkgbuild, rcmdcheck, and decor |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this needed? It is also error prone, because install.packages()
does not error on installation failures.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not really needed
the pak part was copied from the gcc14 dockerfile
containers/gcc14-ubsan/Dockerfile
Outdated
# adapted from https://www.stats.ox.ac.uk/pub/bdr/memtests/README.txt | ||
|
||
RUN mkdir -p ~/.R/ && echo -e 'CC=gcc -std=gnu11 -fsanitize=address,undefined -fno-omit-frame-pointer\nFC=gfortran -fsanitize=address' >> ~/.R/Makevars | ||
ENV LD_PRELOAD=/usr/lib64/libasan.so.8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding this as a global env var is not great, because all programs are going to use it, and the whole system will be very slow.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that was to avoid warnings like "libasan not loaded 1st"
I modified my PR to use the existing image with minimal changes This is how I can imitate the CRAN setup (https://www.stats.ox.ac.uk/pub/bdr/memtests/README.txt)
|
To address #80 and mimic one of the additional CRAN checks.