mlr-org / mlr3misc

Miscellaneous helper functions for mlr3
https://mlr3misc.mlr-org.com
GNU Lesser General Public License v3.0
11 stars 2 forks source link

Problem at installation: undefined symbol #59

Closed ulf85 closed 3 years ago

ulf85 commented 3 years ago

Hi, I just wanted to install your wonderful mlr3verse package (from CRAN). But it stopped at the installation of mlr3misc with the following error I can not understand:

Error: package or namespace load failed for ‘mlr3misc’ in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object '/applvg/os/usr/lib64/R/library/mlr3misc/libs/mlr3misc.so': /applvg/os/usr/lib64/R/library/mlr3misc/libs/mlr3misc.so: undefined symbol: REAL_RO Error: loading failed Execution halted ERROR: loading failed

Further, I get the following warnings:

gcc -m64 -std=gnu99 -I/applvg/os/apps/gcc/gmp/include -I/applvg/os/apps/gcc/mpfr/include -I/usr/include/R -DNDEBUG -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -c count_missing.c -o count_missing.o count_missing.c: In function ‘count_missing_logical’: count_missing.c:11:5: warning: implicit declaration of function ‘LOGICAL_RO’ [-Wimplicit-function-declaration] const int xp = LOGICAL_RO(x); ^ count_missing.c:11:22: warning: initialization makes pointer from integer without a cast const int xp = LOGICAL_RO(x); ^ count_missing.c: In function ‘count_missing_integer’: count_missing.c:26:5: warning: implicit declaration of function ‘INTEGER_RO’ [-Wimplicit-function-declaration] const int xp = INTEGER_RO(x); ^ count_missing.c:26:22: warning: initialization makes pointer from integer without a cast const int xp = INTEGER_RO(x); ^ count_missing.c: In function ‘count_missing_double’: count_missing.c:41:5: warning: implicit declaration of function ‘REAL_RO’ [-Wimplicit-function-declaration] const double xp = REAL_RO(x); ^ count_missing.c:41:25: warning: initialization makes pointer from integer without a cast const double xp = REAL_RO(x); ^ count_missing.c: In function ‘count_missing_complex’: count_missing.c:52:5: warning: implicit declaration of function ‘COMPLEX_RO’ [-Wimplicit-function-declaration] const Rcomplex xp = COMPLEX_RO(x); ^ count_missing.c:52:27: warning: initialization makes pointer from integer without a cast const Rcomplex xp = COMPLEX_RO(x); ^

I have a Redhat 6 Unix System with R 3.4.3 and my default gcc is a 4.8.5. I also tried with the newer version 4.9.4. Are there any dependencies I can not see? Do I need a newer gcc? The version of the package I got from CRAN is 0.9.0

Best Ulf

ulf85 commented 3 years ago

Update: Package Version 0.8.0 (from CRAN archive) works.

mllg commented 3 years ago

Some preprocessor macros were missing for R versions prior to 3.5.0. I'll upload a fixed release now. Thanks for reporting.