On Sun, Jun 1, 2025 at 1:15 AM SN248 <sn...@cornell.edu> wrote: > ❯ checking compiled code ... > > WARNING File ‘sundialr/libs/sundialr.so’: > > Found ‘abort’, possibly from ‘abort’ (C) Object: > > ‘../inst/lib/libsundials_core.a’ > > Found ‘puts’, possibly from ‘printf’ (C), ‘puts’ (C) Object: > > ‘../inst/lib/libsundials_core.a’
One interesting side aspect is that while one of the warnings comes from the .so file that will be used by R, most of the other messages come from the intermediate .a files. You absolutely have to fix the former ones. However, it sometimes happens that code is present in the library and therefore compiled into the .a file, but it is not used in the code exposed to R and therefore does not end up in the .so file. In that case it helps to delete the intermediate .a file once the .so file has been built. In swephR I do this with the following src/Makevars file: PKG_LIBS=-L. -lswe PKG_CPPFLAGS=-I./libswe/ -DSTRICT_R_HEADERS all: $(SHLIB) purify $(SHLIB): libswe.a LIBSWE = libswe/swedate.o libswe/swehouse.o libswe/swejpl.o libswe/swemmoon.o \ libswe/swemplan.o libswe/sweph.o \ libswe/swephlib.o libswe/swecl.o libswe/swehel.o libswe.a: $(LIBSWE) $(AR) rcs libswe.a $(LIBSWE) purify: $(SHLIB) @rm -rf libswe.a || true ralf ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel