Understanding a Travis error

I've been trying to figure out how to address the error I get on Travis for a package that otherwise works and installs fine from Github.

The package builds fine until it gets to a vignette and throws this error

package or namespace load failed for 'sf' in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/home/travis/R/Library/sf/libs/sf.so':
  /home/travis/R/Library/sf/libs/sf.so: undefined symbol: _ZN17GDALDriverManager14GetDriverCountEv

The error seems to stem from GDAL, but I'm not sure how to address this. The travis configuration file uses the same approach to installing the binaries for GDAL as do other packages that import the sf package.

I can't find any documentation on this error or similar errors elsewhere. The full log can be viewed here, and the travis configuration file is here.

Any help would be appreciated.

Looks like it built successfully. Did you figure something out?

I guessed that there may have been an issue between the version of GEOS that travis was installing and the version that the sf package needed. There's no binary for sf, so I configured Travis to install the dev version of sf which should also install its own version of GEOS and GDAL, etc.

This configuration setup led to a travis pass, but I'm not sure if it was the best approach and I still don't know what the underlying cause of the error is, and whether this will cause an issue down the line for passing CRAN. That's why I left it open here.

2 Likes