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

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Feb 19 12:19:26 CET 2013


On 19/02/2013 11:07, Dominic Steinitz wrote:
> Hi Brian,
>
> Thanks very much for this.
>
>>
>> You should have contacted the package maintainer as per the R posting
>> guide.  But
>
> Ok I shall do this.
>
>>
>>>> checking for TIFFOpen in -ltiff... no
>>
>> is the clue.  See what config.log has to say ….
>
> I've attached the full log below but it this seems to be the problem:
>
> configure:2624: checking for TIFFOpen in -ltiff
> configure:2659: gcc -arch i386 -std=gnu99 -o conftest -g -O2   conftest.c -ltiff   >&5
> ld: warning: ignoring file /usr/lib/libtiff.dylib, file was built for unsupported file format ( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not the architecture being linked (i386): /usr/lib/libtiff.dylib
> Undefined symbols for architecture i386:
>    "_TIFFOpen", referenced from:
>        _main in cc2eXJwo.o
> ld: symbol(s) not found for architecture i386
> collect2: ld returned 1 exit status
>
> I'm not clear what this is telling me though.

That the libtiff you have installed is not for 32-bit Intel.  I don't 
have one in /usr/lib (and no idea why yours is linked from 
/usr/local/lib).  The one Simon provides installs in /usr/local/lib and 
has all the needed architectures.


>
>> [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).]
>
> I do have libtiff installed:
>
> bash-3.2$ brew list
> atk		freetype	gtk+		libpng		pixman
> cairo		gdk-pixbuf	jasper		libtiff		pkg-config
> fftw		gettext		jpeg		pango		stow
> fontconfig	glib		libffi		pcre		xz
> bash-3.2$
>
> and for confirmation
>
> bash-3.2$ ls -ltr /usr/lib/libtiff*
> lrwxr-xr-x  1 root  wheel  28 Feb 16 16:12 /usr/lib/libtiff.dylib -> /usr/local/lib/libtiff.dylib
> lrwxr-xr-x  1 root  wheel  24 Feb 16 16:12 /usr/lib/libtiff.a -> /usr/local/lib/libtiff.a
> lrwxr-xr-x  1 root  wheel  30 Feb 16 16:12 /usr/lib/libtiff.5.dylib -> /usr/local/lib/libtiff.5.dylib
> bash-3.2$
>
> Dominic.
>
> Full config.log
>
> This file contains any messages produced by compilers while
> running configure, to aid debugging if configure makes a mistake.
>
> It was created by biOps configure 0.2, which was
> generated by GNU Autoconf 2.61.  Invocation command line was
>
>    $ ./configure
>
> ## --------- ##
> ## Platform. ##
> ## --------- ##
>
> hostname = Dominics-MacBook-Pro.local
> uname -m = x86_64
> uname -r = 12.2.0
> uname -s = Darwin
> uname -v = Darwin Kernel Version 12.2.0: Sat Aug 25 00:48:52 PDT 2012; root:xnu-2050.18.24~1/RELEASE_X86_64
>
> /usr/bin/uname -p = i386
> /bin/uname -X     = unknown
>
> /bin/arch              = unknown
> /usr/bin/arch -k       = unknown
> /usr/convex/getsysinfo = unknown
> /usr/bin/hostinfo      = Mach kernel version:
> 	 Darwin Kernel Version 12.2.0: Sat Aug 25 00:48:52 PDT 2012; root:xnu-2050.18.24~1/RELEASE_X86_64
> Kernel configured for up to 8 processors.
> 4 processors are physically available.
> 8 processors are logically available.
> Processor type: i486 (Intel 80486)
> Processors active: 0 1 2 3 4 5 6 7
> Primary memory available: 8.00 gigabytes
> Default processor set: 142 tasks, 720 threads, 8 processors
> Load average: 1.87, Mach factor: 6.12
> /bin/machine           = unknown
> /usr/bin/oslevel       = unknown
> /bin/universe          = unknown
>
> PATH: /Library/Frameworks/Python.framework/Versions/2.7/bin
> PATH: /Users/dom/Library/Haskell/bin
> PATH: /usr/bin
> PATH: /bin
> PATH: /usr/sbin
> PATH: /sbin
> PATH: /usr/local/bin
> PATH: /opt/X11/bin
> PATH: /usr/texbin
> PATH: /usr/bin
> PATH: /bin
> PATH: /usr/sbin
> PATH: /sbin
>
>
> ## ----------- ##
> ## Core tests. ##
> ## ----------- ##
>
> configure:1749: checking for gcc
> configure:1776: result: gcc -arch i386 -std=gnu99
> configure:2014: checking for C compiler version
> configure:2021: gcc -arch i386 -std=gnu99 --version >&5
> i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
> Copyright (C) 2007 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> configure:2024: $? = 0
> configure:2031: gcc -arch i386 -std=gnu99 -v >&5
> Using built-in specs.
> Target: i686-apple-darwin11
> Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~28/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~28/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
> Thread model: posix
> gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
> configure:2034: $? = 0
> configure:2041: gcc -arch i386 -std=gnu99 -V >&5
> llvm-gcc-4.2: argument to `-V' is missing
> configure:2044: $? = 1
> configure:2067: checking for C compiler default output file name
> configure:2094: gcc -arch i386 -std=gnu99    conftest.c  >&5
> configure:2097: $? = 0
> configure:2135: result: a.out
> configure:2152: checking whether the C compiler works
> configure:2162: ./a.out
> configure:2165: $? = 0
> configure:2182: result: yes
> configure:2189: checking whether we are cross compiling
> configure:2191: result: no
> configure:2194: checking for suffix of executables
> configure:2201: gcc -arch i386 -std=gnu99 -o conftest    conftest.c  >&5
> configure:2204: $? = 0
> configure:2228: result:
> configure:2234: checking for suffix of object files
> configure:2260: gcc -arch i386 -std=gnu99 -c   conftest.c >&5
> configure:2263: $? = 0
> configure:2286: result: o
> configure:2290: checking whether we are using the GNU C compiler
> configure:2319: gcc -arch i386 -std=gnu99 -c   conftest.c >&5
> configure:2325: $? = 0
> configure:2342: result: yes
> configure:2347: checking whether gcc -arch i386 -std=gnu99 accepts -g
> configure:2377: gcc -arch i386 -std=gnu99 -c -g  conftest.c >&5
> configure:2383: $? = 0
> configure:2482: result: yes
> configure:2499: checking for gcc -arch i386 -std=gnu99 option to accept ISO C89
> configure:2573: gcc -arch i386 -std=gnu99  -c -g -O2  conftest.c >&5
> configure:2579: $? = 0
> configure:2602: result: none needed
> configure:2624: checking for TIFFOpen in -ltiff
> configure:2659: gcc -arch i386 -std=gnu99 -o conftest -g -O2   conftest.c -ltiff   >&5
> ld: warning: ignoring file /usr/lib/libtiff.dylib, file was built for unsupported file format ( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not the architecture being linked (i386): /usr/lib/libtiff.dylib
> Undefined symbols for architecture i386:
>    "_TIFFOpen", referenced from:
>        _main in cc2eXJwo.o
> ld: symbol(s) not found for architecture i386
> collect2: ld returned 1 exit status
> configure:2665: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME "biOps"
> | #define PACKAGE_TARNAME "biops"
> | #define PACKAGE_VERSION "0.2"
> | #define PACKAGE_STRING "biOps 0.2"
> | #define PACKAGE_BUGREPORT "mbordese at gmail.com"
> | /* end confdefs.h.  */
> |
> | /* Override any GCC internal prototype to avoid an error.
> |    Use char because int might match the return type of a GCC
> |    builtin and then its argument prototype would still apply.  */
> | #ifdef __cplusplus
> | extern "C"
> | #endif
> | char TIFFOpen ();
> | int
> | main ()
> | {
> | return TIFFOpen ();
> |   ;
> |   return 0;
> | }
> configure:2683: result: no
> configure:2691: checking for jpeg_destroy_compress in -ljpeg
> configure:2726: gcc -arch i386 -std=gnu99 -o conftest -g -O2   conftest.c -ljpeg   >&5
> configure:2732: $? = 0
> configure:2750: result: yes
> configure:2758: checking for fftw_plan_dft in -lfftw3
> configure:2793: gcc -arch i386 -std=gnu99 -o conftest -g -O2   conftest.c -lfftw3   >&5
> ld: warning: ignoring file /usr/local/lib/libfftw3.dylib, file was built for unsupported file format ( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not the architecture being linked (i386): /usr/local/lib/libfftw3.dylib
> Undefined symbols for architecture i386:
>    "_fftw_plan_dft", referenced from:
>        _main in cc7oeLye.o
> ld: symbol(s) not found for architecture i386
> collect2: ld returned 1 exit status
> configure:2799: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME "biOps"
> | #define PACKAGE_TARNAME "biops"
> | #define PACKAGE_VERSION "0.2"
> | #define PACKAGE_STRING "biOps 0.2"
> | #define PACKAGE_BUGREPORT "mbordese at gmail.com"
> | /* end confdefs.h.  */
> |
> | /* Override any GCC internal prototype to avoid an error.
> |    Use char because int might match the return type of a GCC
> |    builtin and then its argument prototype would still apply.  */
> | #ifdef __cplusplus
> | extern "C"
> | #endif
> | char fftw_plan_dft ();
> | int
> | main ()
> | {
> | return fftw_plan_dft ();
> |   ;
> |   return 0;
> | }
> configure:2817: result: no
> configure:2833: checking how to run the C preprocessor
> configure:2873: gcc -arch i386 -std=gnu99 -E  conftest.c
> configure:2879: $? = 0
> configure:2910: gcc -arch i386 -std=gnu99 -E  conftest.c
> conftest.c:8:28: error: ac_nonexistent.h: No such file or directory
> configure:2916: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME "biOps"
> | #define PACKAGE_TARNAME "biops"
> | #define PACKAGE_VERSION "0.2"
> | #define PACKAGE_STRING "biOps 0.2"
> | #define PACKAGE_BUGREPORT "mbordese at gmail.com"
> | /* end confdefs.h.  */
> | #include <ac_nonexistent.h>
> configure:2949: result: gcc -arch i386 -std=gnu99 -E
> configure:2978: gcc -arch i386 -std=gnu99 -E  conftest.c
> configure:2984: $? = 0
> configure:3015: gcc -arch i386 -std=gnu99 -E  conftest.c
> conftest.c:8:28: error: ac_nonexistent.h: No such file or directory
> configure:3021: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME "biOps"
> | #define PACKAGE_TARNAME "biops"
> | #define PACKAGE_VERSION "0.2"
> | #define PACKAGE_STRING "biOps 0.2"
> | #define PACKAGE_BUGREPORT "mbordese at gmail.com"
> | /* end confdefs.h.  */
> | #include <ac_nonexistent.h>
> configure:3059: checking for grep that handles long lines and -e
> configure:3133: result: /usr/bin/grep
> configure:3138: checking for egrep
> configure:3216: result: /usr/bin/grep -E
> configure:3221: checking for ANSI C header files
> configure:3251: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3257: $? = 0
> configure:3356: gcc -arch i386 -std=gnu99 -o conftest -g -O2   conftest.c  >&5
> configure:3359: $? = 0
> configure:3365: ./conftest
> configure:3368: $? = 0
> configure:3385: result: yes
> configure:3410: checking for sys/types.h
> configure:3431: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3437: $? = 0
> configure:3453: result: yes
> configure:3410: checking for sys/stat.h
> configure:3431: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3437: $? = 0
> configure:3453: result: yes
> configure:3410: checking for stdlib.h
> configure:3431: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3437: $? = 0
> configure:3453: result: yes
> configure:3410: checking for string.h
> configure:3431: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3437: $? = 0
> configure:3453: result: yes
> configure:3410: checking for memory.h
> configure:3431: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3437: $? = 0
> configure:3453: result: yes
> configure:3410: checking for strings.h
> configure:3431: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3437: $? = 0
> configure:3453: result: yes
> configure:3410: checking for inttypes.h
> configure:3431: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3437: $? = 0
> configure:3453: result: yes
> configure:3410: checking for stdint.h
> configure:3431: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3437: $? = 0
> configure:3453: result: yes
> configure:3410: checking for unistd.h
> configure:3431: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3437: $? = 0
> configure:3453: result: yes
> configure:3480: checking fftw3.h usability
> configure:3497: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3503: $? = 0
> configure:3517: result: yes
> configure:3521: checking fftw3.h presence
> configure:3536: gcc -arch i386 -std=gnu99 -E  conftest.c
> configure:3542: $? = 0
> configure:3556: result: yes
> configure:3589: checking for fftw3.h
> configure:3597: result: yes
> configure:3629: checking jpeglib.h usability
> configure:3646: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3652: $? = 0
> configure:3666: result: yes
> configure:3670: checking jpeglib.h presence
> configure:3685: gcc -arch i386 -std=gnu99 -E  conftest.c
> configure:3691: $? = 0
> configure:3705: result: yes
> configure:3738: checking for jpeglib.h
> configure:3746: result: yes
> configure:3778: checking tiff.h usability
> configure:3795: gcc -arch i386 -std=gnu99 -c -g -O2  conftest.c >&5
> configure:3801: $? = 0
> configure:3815: result: yes
> configure:3819: checking tiff.h presence
> configure:3834: gcc -arch i386 -std=gnu99 -E  conftest.c
> configure:3840: $? = 0
> configure:3854: result: yes
> configure:3887: checking for tiff.h
> configure:3895: result: yes
> configure:4026: creating ./config.status
>
> ## ---------------------- ##
> ## Running config.status. ##
> ## ---------------------- ##
>
> This file was extended by biOps config.status 0.2, which was
> generated by GNU Autoconf 2.61.  Invocation command line was
>
>    CONFIG_FILES    =
>    CONFIG_HEADERS  =
>    CONFIG_LINKS    =
>    CONFIG_COMMANDS =
>    $ ./config.status
>
> on Dominics-MacBook-Pro.local
>
> config.status:599: creating src/Makevars
> config.status:599: creating R/fft_filters.R
> config.status:599: creating R/fft_funcs.R
> config.status:599: creating R/tiff.R
> config.status:599: creating R/jpeg.R
> config.status:599: creating src/config.h
> config.status:815: src/config.h is unchanged
>
> ## ---------------- ##
> ## Cache variables. ##
> ## ---------------- ##
>
> ac_cv_c_compiler_gnu=yes
> ac_cv_env_CC_set=
> ac_cv_env_CC_value=
> ac_cv_env_CFLAGS_set=
> ac_cv_env_CFLAGS_value=
> ac_cv_env_CPPFLAGS_set=
> ac_cv_env_CPPFLAGS_value=
> ac_cv_env_CPP_set=
> ac_cv_env_CPP_value=
> ac_cv_env_LDFLAGS_set=
> ac_cv_env_LDFLAGS_value=
> ac_cv_env_LIBS_set=
> ac_cv_env_LIBS_value=
> ac_cv_env_build_alias_set=
> ac_cv_env_build_alias_value=
> ac_cv_env_host_alias_set=
> ac_cv_env_host_alias_value=
> ac_cv_env_target_alias_set=
> ac_cv_env_target_alias_value=
> ac_cv_header_fftw3_h=yes
> ac_cv_header_inttypes_h=yes
> ac_cv_header_jpeglib_h=yes
> ac_cv_header_memory_h=yes
> ac_cv_header_stdc=yes
> ac_cv_header_stdint_h=yes
> ac_cv_header_stdlib_h=yes
> ac_cv_header_string_h=yes
> ac_cv_header_strings_h=yes
> ac_cv_header_sys_stat_h=yes
> ac_cv_header_sys_types_h=yes
> ac_cv_header_tiff_h=yes
> ac_cv_header_unistd_h=yes
> ac_cv_lib_fftw3_fftw_plan_dft=no
> ac_cv_lib_jpeg_jpeg_destroy_compress=yes
> ac_cv_lib_tiff_TIFFOpen=no
> ac_cv_objext=o
> ac_cv_path_EGREP='/usr/bin/grep -E'
> ac_cv_path_GREP=/usr/bin/grep
> ac_cv_prog_CPP='gcc -arch i386 -std=gnu99 -E'
> ac_cv_prog_ac_ct_CC='gcc -arch i386 -std=gnu99'
> ac_cv_prog_cc_c89=
> ac_cv_prog_cc_g=yes
>
> ## ----------------- ##
> ## Output variables. ##
> ## ----------------- ##
>
> CC='gcc -arch i386 -std=gnu99'
> CFLAGS='-g -O2'
> CPP='gcc -arch i386 -std=gnu99 -E'
> CPPFLAGS=''
> DEFS='-DHAVE_CONFIG_H'
> ECHO_C='ECHO_N=''
> ECHO_T=''
> EGREP='/usr/bin/grep -E'
> EXEEXT=''
> GREP='/usr/bin/grep'
> HAVE_FFTW_H='TRUE'
> HAVE_JPEG_H='TRUE'
> HAVE_TIFF_H='TRUE'
> LDFLAGS=''
> LIBOBJS=''
> LIBS=''
> LTLIBOBJS=''
> OBJEXT='o'
> PACKAGE_BUGREPORT='mbordese at gmail.com'
> PACKAGE_NAME='biOps'
> PACKAGE_STRING='biOps 0.2'
> PACKAGE_TARNAME='biops'
> PACKAGE_VERSION='0.2'
> PATH_SEPARATOR=':'
> PKG_LIBS='-lm  -ljpeg '
> SHELL='/bin/sh'
> ac_ct_CC='gcc -arch i386 -std=gnu99'
> bindir='${exec_prefix}/bin'
> build_alias=''
> datadir='${datarootdir}'
> datarootdir='${prefix}/share'
> docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
> dvidir='${docdir}'
> exec_prefix='${prefix}'
> host_alias=''
> htmldir='${docdir}'
> includedir='${prefix}/include'
> infodir='${datarootdir}/info'
> libdir='${exec_prefix}/lib'
> libexecdir='${exec_prefix}/libexec'
> localedir='${datarootdir}/locale'
> localstatedir='${prefix}/var'
> mandir='${datarootdir}/man'
> oldincludedir='/usr/include'
> pdfdir='${docdir}'
> prefix='/usr/local'
> program_transform_name='s,x,x,'
> psdir='${docdir}'
> sbindir='${exec_prefix}/sbin'
> sharedstatedir='${prefix}/com'
> sysconfdir='${prefix}/etc'
> target_alias=''
>
> ## ----------- ##
> ## confdefs.h. ##
> ## ----------- ##
>
> #define PACKAGE_NAME "biOps"
> #define PACKAGE_TARNAME "biops"
> #define PACKAGE_VERSION "0.2"
> #define PACKAGE_STRING "biOps 0.2"
> #define PACKAGE_BUGREPORT "mbordese at gmail.com"
> #define STDC_HEADERS 1
> #define HAVE_SYS_TYPES_H 1
> #define HAVE_SYS_STAT_H 1
> #define HAVE_STDLIB_H 1
> #define HAVE_STRING_H 1
> #define HAVE_MEMORY_H 1
> #define HAVE_STRINGS_H 1
> #define HAVE_INTTYPES_H 1
> #define HAVE_STDINT_H 1
> #define HAVE_UNISTD_H 1
> #define HAVE_FFTW3_H 1
> #define HAVE_JPEGLIB_H 1
> #define HAVE_TIFF_H 1
>
> configure: exit 0
>
> _______________________________________________
> 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