build fails with --enable-strict-barrier

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

build fails with --enable-strict-barrier

Sebastian P. Luque
Hello,

Until last weekend, I used to build R Devel smoothly with this switch
(--enable-strict-barrier) on, but now it fails on my Debian system
(found the culprit after posting on r-sig-debian).  Configuring and
building with:

---<--------------------cut here---------------start------------------->---
tools/rsync-recommended
R_PAPERSIZE=letter \
R_BATCHSAVE="--no-save --no-restore" \
R_BROWSER=xdg-open \
LIBnn=lib \
./configure \
    --enable-R-shlib \
    --enable-strict-barrier \
    --with-blas \
    --with-lapack \
    --with-readline \
    --with-tcl-config=/usr/lib/tcl8.6/tclConfig.sh \
    --with-tk-config=/usr/lib/tk8.6/tkConfig.sh
make
---<--------------------cut here---------------end--------------------->---

the build shows several warnings about function dataptr:

---<--------------------cut here---------------start------------------->---
radixsort.c:1643:10: warning: implicit declaration of function ‘DATAPTR’ [-Wimplicit-function-declaration]
     xd = DATAPTR(x);
          ^
radixsort.c:1643:8: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     xd = DATAPTR(x);
        ^
radixsort.c:1735:5: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
  xd = DATAPTR(x);
---<--------------------cut here---------------end--------------------->---

leading to complete build failure:

---<--------------------cut here---------------start------------------->---
../../lib/libR.so: undefined reference to `DATAPTR'
collect2: error: ld returned 1 exit status
Makefile:144: recipe for target 'R.bin' failed
make[3]: *** [R.bin] Error 1
make[3]: Leaving directory '/usr/local/src/R/Devel/src/main'
Makefile:134: recipe for target 'R' failed
make[2]: *** [R] Error 2
make[2]: Leaving directory '/usr/local/src/R/Devel/src/main'
Makefile:28: recipe for target 'R' failed
make[1]: *** [R] Error 1
make[1]: Leaving directory '/usr/local/src/R/Devel/src'
Makefile:60: recipe for target 'R' failed
make: *** [R] Error 1
---<--------------------cut here---------------end--------------------->---

No problems occur without the switch.

I'm attaching the config log.

--
Seb

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

config.log (520K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: build fails with --enable-strict-barrier

coypu
Hi, I'm very new here and unfamiliar with R.
However, I feel like I can still provide some input.

This is a bug, it must not use DATAPTR.
Perhaps this is a suitable replacement for these instances:
xd = x[1];

A safer temporary option is to drop this flag.

I am unsure whether that is acceptable though.

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel