DcInfSys1
2013-May-15 16:39 UTC
[R] Build R package with libjpeg - Symbol not found: _jpeg_CreateCompress
Hello, I am trying to build an /Image Processing Package/, which has in the src- folder a jpeg.c file which uses the libjpeg for reading/writing jpeg files. I think this causes an error if i try to check my package. After the execution of "R CMD INSTALL ImagePackage" i get the ImagePackage.tar.gz file, with this i try "R CMD CHECK ImagePackage.tar.gz", Then i get the following error: checking installed package size ... OK * checking package directory ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking DESCRIPTION meta-information ... OK * checking top-level files ... OK * checking index information ... OK * checking package subdirectories ... OK * checking R files for non-ASCII characters ... OK * checking R files for syntax errors ... OK * loading checks for arch ?i386? ** checking whether the package can be loaded ... ERROR Error in dyn.load(file, DLLpath = DLLpath, ...) : can not load shared object ?/Users/work/ ImagePackage.Rcheck/ImagePackage/libs/i386/ImagePackage.so? : dlopen(/Users/work/ImagePackage.Rcheck/ImagePackage/libs/i386/ImagePackage.so, 6): Symbol not found: _jpeg_CreateCompress Referenced from: /Users/work/ ImagePackage.Rcheck/ImagePackage/libs/i386/ImagePackage.so Expected in: flat namespace in /Users/work/ ImagePackage.Rcheck/ImagePackage/libs/i386/ImagePackage.so Error while loading the package/namespace for 'ImagePackage' Execution halted In the src-folder, i have a *Makevars* where i put the path to the jpeg-library: PKG_CPPFLAGS = -I/opt/local/include PKG_LIBS = -L/opt/local/lib -ljpeg -lpng #PKG_CPPFLAGS = -I/usr/include #PKG_LIBS = -L/usr/lib64 -ljpeg -lpng So i suppose that the linker knows where he can find the jpeg-library. My *namespace-file* has the content: exportPattern("^[[:alpha:]]+") S3method(print,picturemap) useDynLib(ImagePackage) The *beginning of my c-file * is: #include <R.h> #include <Rinternals.h> #include <jpeglib.h> #include <jerror.h> So i tried to compile directly my jpeg.c file with R CMD SHLIB, and this is working. So i am confused why he can not find the jpeg_createCompress function. Can anybody help? :-) -- View this message in context: http://r.789695.n4.nabble.com/Build-R-package-with-libjpeg-Symbol-not-found-jpeg-CreateCompress-tp4667129.html Sent from the R help mailing list archive at Nabble.com.