[Rd] R does not build with conda libcurl

Toby Hocking tdhock5 @end|ng |rom gm@||@com
Mon Apr 14 14:10:56 CEST 2025


Hi all,
I'm not sure if this is an issue with conda or R.
I expected that I should be able to build R from source, with a conda
environment active.
However, I observe that with conda 23.9.0, in an environment with libcurl
package installed, I get a link error.
The configure works fine:

(base) hoct2726 using dinf-thock-02i:~/R/R-4.5.0$ ./configure --prefix=$HOME
--with-cairo --with-blas --with-lapack --enable-R-shlib
--with-valgrind-instrumentation=2 --enable-memory-profiling
...
R is now configured for x86_64-pc-linux-gnu

  Source directory:            .
  Installation directory:      /home/local/USHERBROOKE/hoct2726

  C compiler:                  gcc -std=gnu2x  -g -O2
  Fortran fixed-form compiler: gfortran  -g -O2

  Default C++ compiler:        g++ -std=gnu++17  -g -O2
  Fortran free-form compiler:  gfortran  -g -O2
  Obj-C compiler:

  Interfaces supported:        X11, tcltk
  External libraries:          pcre2, readline, BLAS(generic),
LAPACK(generic), curl, libdeflate
  Additional capabilities:     PNG, JPEG, TIFF, NLS, cairo, ICU
  Options enabled:             shared R library, R profiling, memory
profiling, libdeflate for lazyload

  Capabilities skipped:
  Options not enabled:         shared BLAS

  Recommended packages:        yes



but I got an error from "make" --

(base) hoct2726 using dinf-thock-02i:~/R/R-4.5.0$ make
...
make[3] : on entre dans le répertoire
« /home/local/USHERBROOKE/hoct2726/R/R-4.5.0/src/main »
gcc -std=gnu2x -I../../src/extra -I../../src/extra/xdr -I.
-I../../src/include -I../../src/include
-I/home/local/USHERBROOKE/hoct2726/miniconda3/include -I/usr/local/include
-I../../src/nmath -DHAVE_CONFIG_H   -fopenmp -fpic  -g -O2  -c Rmain.c -o
Rmain.o
gcc -std=gnu2x -Wl,--export-dynamic -fopenmp  -L"../../lib"
-L/usr/local/lib -o R.bin Rmain.o  -lR
/usr/bin/ld : ../../lib/libR.so : référence indéfinie vers
« ucol_setAttribute_73 »
/usr/bin/ld : ../../lib/libR.so : référence indéfinie vers « ucol_close_73 »
/usr/bin/ld : ../../lib/libR.so : référence indéfinie vers « ucol_open_73 »
/usr/bin/ld : ../../lib/libR.so : référence indéfinie vers
« uiter_setUTF8_73 »
/usr/bin/ld : ../../lib/libR.so : référence indéfinie vers
« ucol_getLocaleByType_73 »
/usr/bin/ld : ../../lib/libR.so : référence indéfinie vers
« ucol_setStrength_73 »
/usr/bin/ld : ../../lib/libR.so : référence indéfinie vers
« u_versionToString_73 »
/usr/bin/ld : ../../lib/libR.so : référence indéfinie vers
« ucol_strcollIter_73 »
/usr/bin/ld : ../../lib/libR.so : référence indéfinie vers
« uloc_setDefault_73 »
/usr/bin/ld : ../../lib/libR.so : référence indéfinie vers
« u_getVersion_73 »
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:150 : R.bin] Erreur 1
make[3] : on quitte le répertoire
« /home/local/USHERBROOKE/hoct2726/R/R-4.5.0/src/main »
make[2]: *** [Makefile:141 : R] Erreur 2
make[2] : on quitte le répertoire
« /home/local/USHERBROOKE/hoct2726/R/R-4.5.0/src/main »
make[1]: *** [Makefile:28 : R] Erreur 1
make[1] : on quitte le répertoire
« /home/local/USHERBROOKE/hoct2726/R/R-4.5.0/src »
make: *** [Makefile:61 : R] Erreur 1


It seems that the libcurl package in conda provides the curl-config command
line program, which R is using to get this flag:
-I/home/local/USHERBROOKE/hoct2726/miniconda3/include
(it goes into CURL_CPPFLAGS variable in config.status)
To fix the build, I did "conda remove libcurl" and then "make clean" and
then "configure" and "make" worked.

It would be more user-friendly if the R build could "just work" even when
the user has activated a conda environment with libcurl package installed.
Is this an issue that R could fix?

Thanks
Toby

	[[alternative HTML version deleted]]



More information about the R-devel mailing list