[R-SIG-Mac] Installing biOps fails with "Symbol not found: _TIFFClose"

Prof Brian Ripley ripley at stats.ox.ac.uk
Sat Feb 16 18:01:03 CET 2013

On 16/02/2013 16:37, Dominic Steinitz wrote:
> I have searched the archives and while I can find reports of this
> problem, I was unable to find any information on what to do to fix
> it. Apologies if this is already documented somewhere (and if so
> please point me at it). Let me know if should post any more
> information to help resolve this.

You should have contacted the package maintainer as per the R posting 
guide.  But

 >> checking for TIFFOpen in -ltiff... no

is the clue.  See what config.log has to say ....

[I have no idea whether you actually have libtiff installed and if so 
where you got it from.  This will typically work with a dynamically 
linked libtiff: statically linked ones usually need -ljpeg -lz as well, 
and some need more (see packages tiff and rtiff for approaches that 
currently work with static libtiff as provided on r.research.att.com/libs).]

> Many thanks, Dominic.
>>> install.packages("biOps", type="source")
>> trying URL 'http://cran.ma.imperial.ac.uk/src/contrib/biOps_0.2.1.1.tar.gz'
>> Content type 'application/x-gzip' length 1166265 bytes (1.1 Mb)
>> opened URL
>> ==================================================
>> downloaded 1.1 Mb
>> * installing *source* package 'biOps' ...
>> ** package 'biOps' successfully unpacked and MD5 sums checked
>> checking for gcc... gcc -arch i386 -std=gnu99
>> checking for C compiler default output file name... a.out
>> checking whether the C compiler works... yes
>> checking whether we are cross compiling... no
>> checking for suffix of executables...
>> checking for suffix of object files... o
>> checking whether we are using the GNU C compiler... yes
>> checking whether gcc -arch i386 -std=gnu99 accepts -g... yes
>> checking for gcc -arch i386 -std=gnu99 option to accept ISO C89... none needed
>> checking for TIFFOpen in -ltiff... no
>> checking for jpeg_destroy_compress in -ljpeg... yes
>> checking for fftw_plan_dft in -lfftw3... no
>> checking how to run the C preprocessor... gcc -arch i386 -std=gnu99 -E
>> checking for grep that handles long lines and -e... /usr/bin/grep
>> checking for egrep... /usr/bin/grep -E
>> checking for ANSI C header files... rm: conftest.dSYM: is a directory
>> rm: conftest.dSYM: is a directory
>> yes
>> checking for sys/types.h... yes
>> checking for sys/stat.h... yes
>> checking for stdlib.h... yes
>> checking for string.h... yes
>> checking for memory.h... yes
>> checking for strings.h... yes
>> checking for inttypes.h... yes
>> checking for stdint.h... yes
>> checking for unistd.h... yes
>> checking fftw3.h usability... yes
>> checking fftw3.h presence... yes
>> checking for fftw3.h... yes
>> checking jpeglib.h usability... yes
>> checking jpeglib.h presence... yes
>> checking for jpeglib.h... yes
>> checking tiff.h usability... yes
>> checking tiff.h presence... yes
>> checking for tiff.h... yes
>> configure: creating ./config.status
>> config.status: creating src/Makevars
>> config.status: creating R/fft_filters.R
>> config.status: creating R/fft_funcs.R
>> config.status: creating R/tiff.R
>> config.status: creating R/jpeg.R
>> config.status: creating src/config.h
>> config.status: src/config.h is unchanged
>> ** libs
>> *** arch - i386
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c arithmetics.c -o arithmetics.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c canny.c -o canny.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c convolution.c -o convolution.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c crop.c -o crop.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c edge_detection.c -o edge_detection.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c fft_filters.c -o fft_filters.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c fft_funcs.c -o fft_funcs.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c filter.c -o filter.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c gaussian.c -o gaussian.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c interpolation.c -o interpolation.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c isodata.c -o isodata.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c isodata_cluster.c -o isodata_cluster.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c jpegio.c -o jpegio.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c kdtree.c -o kdtree.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c kmeans.c -o kmeans.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c kmeans_enhanced.c -o kmeans_enhanced.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c kmeans_kdtree.c -o kmeans_kdtree.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c logics.c -o logics.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c luts.c -o luts.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c marr_hildreth.c -o marr_hildreth.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c minification.c -o minification.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c mirroring.c -o mirroring.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c morphology.c -o morphology.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c noise_gen.c -o noise_gen.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c rotate.c -o rotate.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c scale.c -o scale.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c shencastan.c -o shencastan.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c tiffio.c -o tiffio.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c translation.c -o translation.o
>> gcc -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c utils.c -o utils.o
>> gcc -arch i386 -std=gnu99 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/lib -o biOps.so arithmetics.o canny.o convolution.o crop.o edge_detection.o fft_filters.o fft_funcs.o filter.o gaussian.o interpolation.o isodata.o isodata_cluster.o jpegio.o kdtree.o kmeans.o kmeans_enhanced.o kmeans_kdtree.o logics.o luts.o marr_hildreth.o minification.o mirroring.o morphology.o noise_gen.o rotate.o scale.o shencastan.o tiffio.o translation.o utils.o -lm -ljpeg -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
>> installing to /Library/Frameworks/R.framework/Versions/2.15/Resources/library/biOps/libs/i386
>> ** R
>> ** data
>> ** inst
>> ** preparing package for lazy loading
>> ** help
>> *** installing help indices
>> ** building package indices
>> ** testing if installed package can be loaded
>> Error in dyn.load(file, DLLpath = DLLpath, ...) :
>>    unable to load shared object '/Library/Frameworks/R.framework/Versions/2.15/Resources/library/biOps/libs/i386/biOps.so':
>>    dlopen(/Library/Frameworks/R.framework/Versions/2.15/Resources/library/biOps/libs/i386/biOps.so, 6): Symbol not found: _TIFFClose
>>    Referenced from: /Library/Frameworks/R.framework/Versions/2.15/Resources/library/biOps/libs/i386/biOps.so
>>    Expected in: flat namespace
>>   in /Library/Frameworks/R.framework/Versions/2.15/Resources/library/biOps/libs/i386/biOps.so
>> Error: loading failed
>> Execution halted
>> ERROR: loading failed
>> * removing '/Library/Frameworks/R.framework/Versions/2.15/Resources/library/biOps'
>> The downloaded source packages are in
>> 	'/private/var/folders/3p/m593dprn5snbjz6sc45c77f80000gn/T/RtmpKEonYx/downloaded_packages'
>> Warning message:
>> In install.packages("biOps", type = "source") :
>>    installation of package 'biOps' had non-zero exit status
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

More information about the R-SIG-Mac mailing list