'compiling archived R package (PET) in R 4.1.2

I have been trying to compile the R package PET on Fedora 35 (fully updated). It has been archived on CRAN for the past two years or so, but has installed for me before R 4.1.2. I am wondering whether it can be fixed.

I try:

devtools::install_github('cran/PET')

and I get errors, after a bunch of non-alarming messages:

Downloading GitHub repo cran/PET@HEAD
   checking for file ‘/tmp/Rtmp2To7Lw/remotesed66e3dbe79/cran-PET-9793d0d/DESCRI✔  checking for file ‘/tmp/Rtmp2To7Lw/remotesed66e3dbe79/cran-PET-9793d0d/DESCRIPTION’
─  preparing ‘PET’:
✔  checking DESCRIPTION meta-information ...
─  cleaning src
─  checking for LF line-endings in source and make files and shell scripts
─  checking for empty or unneeded directories
─  building ‘PET_0.5.1.tar.gz’
   
Installing package into ‘/usr/lib64/R/library’
(as ‘lib’ is unspecified)
* installing *source* package ‘PET’ ...
** using staged installation
** libs
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c Hough.c -o Hough.o
Hough.c: In function ‘Hough4’:
Hough.c:41:10: warning: variable ‘theta_min’ set but not used [-Wunused-but-set-variable]
   41 |   double theta_min;
      |          ^~~~~~~~~
Hough.c:40:38: warning: variable ‘y’ set but not used [-Wunused-but-set-variable]
   40 |   double *costheta,*sintheta,theta,x,y;
      |                                      ^
Hough.c: In function ‘Hough3’:
Hough.c:118:10: warning: variable ‘theta_min’ set but not used [-Wunused-but-set-variable]
  118 |   double theta_min;
      |          ^~~~~~~~~
Hough.c: In function ‘Hough2’:
Hough.c:173:10: warning: variable ‘theta_min’ set but not used [-Wunused-but-set-variable]
  173 |   double theta_min;
      |          ^~~~~~~~~
Hough.c: In function ‘Hough1’:
Hough.c:227:10: warning: variable ‘theta_min’ set but not used [-Wunused-but-set-variable]
  227 |   double theta_min;
      |          ^~~~~~~~~
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c PET_init.c -o PET_init.o
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c amatrix.c -o amatrix.o
amatrix.c: In function ‘RegulateMatrix’:
amatrix.c:234:10: warning: variable ‘tempVv’ set but not used [-Wunused-but-set-variable]
  234 |   float *tempVv;
      |          ^~~~~~
amatrix.c: In function ‘RegulateL1Matrix’:
amatrix.c:289:10: warning: variable ‘tempVv’ set but not used [-Wunused-but-set-variable]
  289 |   float *tempVv;
      |          ^~~~~~
amatrix.c: In function ‘GenerateAMatrixColumn’:
amatrix.c:784:9: warning: variable ‘onedivsq2’ set but not used [-Wunused-but-set-variable]
  784 |   float onedivsq2,psi,pidivDeltaX,costheta,sintheta,of;
      |         ^~~~~~~~~
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c art.c -o art.o
art.c: In function ‘FAST_ART’:
art.c:128:10: warning: variable ‘tempXv’ set but not used [-Wunused-but-set-variable]
  128 |   float *tempXv,*tempBv;
      |          ^~~~~~
art.c: In function ‘SLOW_ART’:
art.c:239:10: warning: variable ‘tempXv’ set but not used [-Wunused-but-set-variable]
  239 |   float *tempXv,*tempBv;
      |          ^~~~~~
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c calc.c -o calc.o
calc.c: In function ‘BackFilter’:
calc.c:335:19: warning: variable ‘M’ set but not used [-Wunused-but-set-variable]
  335 |   int i,m,n,mm,nn,M,N,OldHeight,OldWidth;
      |                   ^
calc.c: In function ‘CentralSliceCZ’:
calc.c:700:49: warning: variable ‘rhomin’ set but not used [-Wunused-but-set-variable]
  700 |   float DC,deltatheta,theta,thetaadj,*realtheta,rhomin,deltarho;
      |                                                 ^~~~~~
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c cg.c -o cg.o
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c em.c -o em.o
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c eval.c -o eval.o
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c imgtools.c -o imgtools.o
imgtools.c: In function ‘ReadPET’:
imgtools.c:1005:10: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]
 1005 |   size_t result;
      |          ^~~~~~
imgtools.c: In function ‘ReadFIFHeader’:
imgtools.c:1148:10: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]
 1148 |   size_t result;
      |          ^~~~~~
imgtools.c: In function ‘ReadFIF’:
imgtools.c:1222:10: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]
 1222 |   size_t result;
      |          ^~~~~~
imgtools.c: In function ‘ReadAnalyze’:
imgtools.c:1616:10: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]
 1616 |   size_t result;
      |          ^~~~~~
imgtools.c:1614:21: warning: variable ‘OffSet’ set but not used [-Wunused-but-set-variable]
 1614 |   float ScaleFactor,OffSet;
      |                     ^~~~~~
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c iradon.c -o iradon.o
iradon.c: In function ‘iradon’:
iradon.c:271:5: warning: ‘spectrum’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  271 |     FreeImage(spectrum);
      |     ^~~~~~~~~~~~~~~~~~~
iradon.c: In function ‘loadFile’:
iradon.c:568:9: warning: ‘list’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  568 |   return(list);
      |         ^
iradon.c:404:16: warning: ‘typeF’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  404 |     OutImage = ReadImage(fileName, typeF);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~
iradon.c: In function ‘writeFile’:
iradon.c:684:19: warning: ‘N’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  684 |         SaveImage=NewFloatImage(fileName, M, N, _RealArray);
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
iradon.c:684:19: warning: ‘M’ may be used uninitialized in this function [-Wmaybe-uninitialized]
iradon.c:772:5: warning: ‘typeF’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  772 |     WriteImage(SaveImage, typeF);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c it.c -o it.o
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c itreadargs.c -o itreadargs.o
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c misc.c -o misc.o
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c oradLI.c -o oradLI.o
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c oradNN.c -o oradNN.o
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c oradSINC.c -o oradSINC.o
oradSINC.c: In function ‘radonSINC’:
oradSINC.c:52:10: warning: variable ‘idx’ set but not used [-Wunused-but-set-variable]
   52 |   double idx,mintrig,psi;
      |          ^~~
gcc -m64 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c sparse.c -o sparse.o
sparse.c: In function ‘ReadSIFHeader’:
sparse.c:607:10: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]
  607 |   size_t result;
      |          ^~~~~~
sparse.c: In function ‘ReadSIF’:
sparse.c:657:10: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]
  657 |   size_t result;
      |          ^~~~~~
sparse.c: In function ‘MeanFilterVector’:
sparse.c:1537:13: warning: variable ‘area’ set but not used [-Wunused-but-set-variable]
 1537 |   float sum,area,*tempVv,*tempNv,*tempKernM;
      |  
gcc -m64 -shared -L/usr/lib64/R/lib -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -o PET.so Hough.o PET_init.o amatrix.o art.o calc.o cg.o em.o eval.o imgtools.o iradon.o it.o itreadargs.o misc.o oradLI.o oradNN.o oradSINC.o sparse.o -L/usr/lib64/R/lib -lR
/usr/bin/ld: it.o (symbol from plugin): in function `SaveIteration':
(.text+0x0): multiple definition of `DebugNiveau'; iradon.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: it.o (symbol from plugin): in function `SaveIteration':
(.text+0x0): multiple definition of `IniFile'; iradon.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: it.o (symbol from plugin): in function `SaveIteration':
(.text+0x0): multiple definition of `multtemp'; iradon.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: it.o (symbol from plugin): in function `SaveIteration':
(.text+0x0): multiple definition of `LogFileName'; iradon.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: it.o (symbol from plugin): in function `SaveIteration':
(.text+0x0): multiple definition of `LogFile'; iradon.o (symbol from plugin):(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
make: *** [/usr/share/R/make/shlib.mk:10: PET.so] Error 1
ERROR: compilation failed for package ‘PET’
* removing ‘/usr/lib64/R/library/PET’
* restoring previous ‘/usr/lib64/R/library/PET’
Warning message:
In i.p(...) :
  installation of package ‘/tmp/Rtmp2To7Lw/fileed67b515c13/PET_0.5.1.tar.gz’ had non-zero exit status

Any suggestions as to how i can get this to compile? I need to use the Radon transform on some images.

Thanks!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source