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

Dominic Steinitz dominic at steinitz.org
Tue Feb 19 12:07:26 CET 2013


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.

> [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



More information about the R-SIG-Mac mailing list