Configure problems on Mac OS 10.6

2011-01-09
2013-04-18
  • Hi,

    I should start out by saying I am far from being an expert at installing things, essentially I know how to type "configure", "make" and "make install"…

    I am having trouble with the Configure portion of the compilation process. I am trying to install it on a MacBook Pro running Mac OS 10.6.

    I successfully installed Macport and used it to install tcl, tk, zlib, xz utils, libpng, itcl, itk and iwidgets. I could not install tklib with it so I followed a link on a previous post here and installed it from source. I also downloaded and installed io_lib-1.12.4.

    When I run config I get the following:

    bash-3.2$ ./configure --with-samtools="/opt/local/bin"  --with-lzma="/opt/local/bin" --with-libpng="/opt/loca/lib"  --with-tklib="/opt/local/lib"
    checking for gcc... gcc
    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 accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking for g++... g++
    checking whether we are using the GNU C++ compiler... yes
    checking whether g++ accepts -g... yes
    checking for gawk... no
    checking for mawk... no
    checking for nawk... no
    checking for awk... awk
    checking for curl-config... /usr/bin/curl-config
    checking for the version of libcurl... 7.19.7
    checking whether libcurl just needs -lcurl... yes
    checking whether libcurl is usable... yes
    checking for curl_free... yes
    checking how to run the C preprocessor... gcc -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 for inflateEnd in -lz... yes
    checking zlib.h usability... yes
    checking zlib.h presence... yes
    checking for zlib.h... yes
    checking for lzma_easy_buffer_encode in -llzma... no
    configure: WARNING: "--with-lzma specified
    configure: WARNING: "No functioning lzma found"
    configure: WARNING: No liblzma detected. Gap5 may be able to read some database. To fix this please install liblzma and rerun configure using the --with-lzma=DIR option.
    checking for png_create_write_struct in -lpng... no
    configure: WARNING: "--with-png specified
    configure: WARNING: "No functioning png found"
    configure: WARNING: No PNG library found. Gap4's Report Mutatations functionality will be absent.
    checking for library containing bam_header_read... no
    checking for library containing bam_header_read... no
    configure: WARNING: --with-samtools specified, but non-functioning
    configure: WARNING: No functioning samtools found
    configure: WARNING: Gap5/tg_index will have reduced functionality
    checking for staden-io_lib-config... no
    checking for io_lib-config... /usr/local/bin/io_lib-config
    checking if io_lib version >= 1.12.2... yes
    checking for mvwprintw in -lncurses... yes
    checking ncurses.h usability... yes
    checking ncurses.h presence... yes
    checking for ncurses.h... yes
    checking for ANSI C header files... (cached) yes
    checking for sys/wait.h that is POSIX.1 compatible... yes
    checking fcntl.h usability... yes
    checking fcntl.h presence... yes
    checking for fcntl.h... yes
    checking limits.h usability... yes
    checking limits.h presence... yes
    checking for limits.h... yes
    checking for unistd.h... (cached) yes
    checking for zlib.h... (cached) yes
    checking for special C compiler options needed for large files... no
    checking for _FILE_OFFSET_BITS value needed for large files... no
    rm: conftest.dSYM: is a directory
    checking for _LARGEFILE_SOURCE value needed for large files... no
    rm: conftest.dSYM: is a directory
    checking for library containing cos... none required
    checking for popen... yes
    checking for X... no
    checking whether byte ordering is bigendian... no
    checking for correct TEA configuration... ok (TEA 3.7)
    checking for Tcl configuration... found /System/Library/Frameworks/Tcl.framework/tclConfig.sh
    checking for existence of /System/Library/Frameworks/Tcl.framework/tclConfig.sh... loading
    checking for Tk configuration... found /System/Library/Frameworks/Tk.framework/tkConfig.sh
    checking for existence of /System/Library/Frameworks/Tk.framework/tkConfig.sh... loading
    checking for ranlib... ranlib
    checking if 64bit support is requested... no
    checking if 64bit Sparc VIS support is requested... no
    checking if compiler supports visibility "hidden"... yes
    checking if rpath support is requested... yes
    checking system version... Darwin-10.5.0
    checking for dlopen in -ldl... yes
    checking for ar... ar
    checking if ld accepts -single_module flag... yes
    checking if ld accepts -search_paths_first flag... yes
    checking for required early compiler flags... none
    checking for 64-bit integer type... using long
    checking for Tcl public headers... /System/Library/Frameworks/Tcl.framework/Headers
    checking for Tcl private include files... Using -I"/System/Library/Frameworks/Tcl.framework/Headers" -I"/System/Library/Frameworks/Tcl.framework/PrivateHeaders" -I"/SourceCache/tcl/tcl-87/tcl/tcl/generic" -I"/SourceCache/tcl/tcl-87/tcl/tcl/unix"
    checking for Tk public headers... /System/Library/Frameworks/Tk.framework/Headers
    checking for X11 header files... /System/Library/Frameworks/Tk.framework/Headers
    checking for Tk private include files... Using -I"/System/Library/Frameworks/Tk.framework/Headers" -I"/System/Library/Frameworks/Tk.framework/PrivateHeaders" -I"/SourceCache/tcl/tcl-87/tk/tk/generic" -I"/SourceCache/tcl/tcl-87/tk/tk/unix" -I""/SourceCache/tcl/tcl-87/tk/tk/xlib"" -I"/SourceCache/tcl/tcl-87/tk/tk/macosx"
    checking tklib directory... no
    configure: error: Abort: no tklib package found, use --with-tklib=DIR
    

    I don't understand the warnings because I'm pretty sure everything is installed and of course I don't understand the final error, because I installed tklib…

    Any help will be greatly appreciated.  Thanks,
    Riki

     
  • Hi Riki

    You need the tklib-package found here:
    If you have already installed it, just confige with: configure -with-tklib=

    Good luck

     
  • Hi Riki

    You need the tklib-package found here: https://sourceforge.net/projects/tcllib/files/
    If you already installed it, just configure with: configure -with-tklib=

    Good luck

     
  • I did download and compile the tklib, and tried to configure with the option -with-tklib=/opt/local/lib. I assume that this is the correct path because that's where Macport installed tcl and from the config.log file resulting from the ./configure. This is the result on my tklib-0.5 folder:

    This file contains any messages produced by compilers while
    running configure, to aid debugging if configure makes a mistake.
    It was created by configure, which was
    generated by GNU Autoconf 2.59.  Invocation command line was
      $ ./configure 
    ## --------- ##
    ## Platform. ##
    ## --------- ##
    hostname = eeb-riina
    uname -m = i386
    uname -r = 10.5.0
    uname -s = Darwin
    uname -v = Darwin Kernel Version 10.5.0: Fri Nov  5 23:20:39 PDT 2010; root:xnu-1504.9.17~1/RELEASE_I386
    /usr/bin/uname -p = i386
    /bin/uname -X     = unknown
    /bin/arch              = unknown
    /usr/bin/arch -k       = unknown
    /usr/convex/getsysinfo = unknown
    hostinfo               = Mach kernel version:
         Darwin Kernel Version 10.5.0: Fri Nov  5 23:20:39 PDT 2010; root:xnu-1504.9.17~1/RELEASE_I386
    Kernel configured for up to 2 processors.
    2 processors are physically available.
    2 processors are logically available.
    Processor type: i486 (Intel 80486)
    Processors active: 0 1
    Primary memory available: 4.00 gigabytes
    Default processor set: 62 tasks, 281 threads, 2 processors
    Load average: 0.42, Mach factor: 1.56
    /bin/machine           = unknown
    /usr/bin/oslevel       = unknown
    /bin/universe          = unknown
    PATH: /opt/local/bin
    PATH: /opt/local/sbin
    PATH: /usr/bin
    PATH: /bin
    PATH: /usr/sbin
    PATH: /sbin
    PATH: /usr/local/bin
    PATH: /usr/X11/bin
    PATH: /Users/riina/bin
    PATH: /usr/X11/bin
    PATH: /Users/riina/bin
    ## ----------- ##
    ## Core tests. ##
    ## ----------- ##
    configure:1230: checking executable extension based on host type
    configure:1242: result: 
    configure:1247: checking for tclsh
    configure:1272: result: /opt/local/bin/tclsh8.5
    configure:1282: checking for wish
    configure:1307: result: /opt/local/bin/wish8.5
    configure:1459: creating ./config.status
    ## ---------------------- ##
    ## Running config.status. ##
    ## ---------------------- ##
    This file was extended by config.status, which was
    generated by GNU Autoconf 2.59.  Invocation command line was
      CONFIG_FILES    = 
      CONFIG_HEADERS  = 
      CONFIG_LINKS    = 
      CONFIG_COMMANDS = 
      $ ./config.status 
    on eeb-riina
    config.status:630: creating Makefile
    ## ---------------- ##
    ## Cache variables. ##
    ## ---------------- ##
    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_path_tclsh=/opt/local/bin/tclsh8.5
    ac_cv_path_wish=/opt/local/bin/wish8.5
    ## ----------------- ##
    ## Output variables. ##
    ## ----------------- ##
    CYGPATH='echo'
    DEFS='-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" '
    ECHO_C='ECHO_N=''
    ECHO_T=''
    EXEEXT=''
    LIBOBJS=''
    LIBS=''
    LTLIBOBJS=''
    PACKAGE='tklib'
    PACKAGE_BUGREPORT=''
    PACKAGE_NAME=''
    PACKAGE_STRING=''
    PACKAGE_TARNAME=''
    PACKAGE_VERSION=''
    PATH_SEPARATOR=':'
    SHELL='/bin/sh'
    TCLSH_PROG='/opt/local/bin/tclsh8.5'
    VERSION='0.5'
    WISH_PROG='/opt/local/bin/wish8.5'
    bindir='${exec_prefix}/bin'
    build_alias=''
    datadir='${prefix}/share'
    exec_prefix='${prefix}'
    host_alias=''
    includedir='${prefix}/include'
    infodir='${prefix}/info'
    libdir='${exec_prefix}/lib'
    libexecdir='${exec_prefix}/libexec'
    localstatedir='${prefix}/var'
    mandir='${prefix}/man'
    oldincludedir='/usr/include'
    prefix='/usr/local'
    program_transform_name='s,x,x,'
    sbindir='${exec_prefix}/sbin'
    sharedstatedir='${prefix}/com'
    sysconfdir='${prefix}/etc'
    target_alias=''
    ## ----------- ##
    ## confdefs.h. ##
    ## ----------- ##
    #define PACKAGE_BUGREPORT ""
    #define PACKAGE_NAME ""
    #define PACKAGE_STRING ""
    #define PACKAGE_TARNAME ""
    #define PACKAGE_VERSION ""
    configure: exit 0
    

    I also tried  -with-tklib=/usr/local/lib and got the same error…

    Help!

     
  • Okay, I was able to get a little further: with the command

    ./configure  --with-iwidgets=/opt/local/lib/iwidgets  --with-itk=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_itk/work/itk3.3/  --with-itcl=/opt/local/lib/itcl3.3 --with-tklib=/usr/local/lib/tklib0.5
    

    configure finished successfully:

    ----------------------------------------------------------------------
    External packages used:
    curl:      via /usr/bin/curl-config
    zlib:      DIR (system)
    ncurses:   DIR (system)
    liblzma:   ***NOT FOUND***
    samtools:  ***NOT FOUND***
    io_lib:    via /usr/local/bin/io_lib-config
    Tcl:       via /System/Library/Frameworks/Tcl.framework/tclConfig.sh
    Tk:        via /System/Library/Frameworks/Tk.framework/tkConfig.sh
    tklib:     /usr/local/lib/tklib0.5
    Iwidgets:  /opt/local/lib/iwidgets/iwidgets
    Itcl:      /opt/local/lib/itcl3.3
    Itk:       /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_itk/work/itk3.3
    ----------------------------------------------------------------------
    

    I had to dig out the location of iwidgets and specially of itk(!)…

    Still, now I can't make. I get loads of errors. Here's the last few lines:

    /Users/riina/Desktop/staden-2.0.0b7-src/./Misc/misc.h:29: error: storage class specified for parameter 'str_tolower'
    /Users/riina/Desktop/staden-2.0.0b7-src/./Misc/misc.h:30: error: storage class specified for parameter 'str_toupper'
    /Users/riina/Desktop/staden-2.0.0b7-src/./Misc/misc.h:31: error: storage class specified for parameter 'fn_tail'
    /Users/riina/Desktop/staden-2.0.0b7-src/./Misc/misc.h:32: error: storage class specified for parameter 'fn_tolower'
    /Users/riina/Desktop/staden-2.0.0b7-src/./Misc/misc.h:33: error: storage class specified for parameter 'fn_toupper'
    /Users/riina/Desktop/staden-2.0.0b7-src/./Misc/misc.h:34: error: storage class specified for parameter 'shell_call'
    /Users/riina/Desktop/staden-2.0.0b7-src/./Misc/misc.h:35: error: storage class specified for parameter 'date_str'
    /Users/riina/Desktop/staden-2.0.0b7-src/./Misc/misc.h:46: error: storage class specified for parameter 'myusleep'
    /Users/riina/Desktop/staden-2.0.0b7-src/./Misc/misc.h:48: error: storage class specified for parameter 'errout'
    /Users/riina/Desktop/staden-2.0.0b7-src/./Misc/misc.h:49: error: storage class specified for parameter 'messout'
    sheet.c:22: error: expected ')' before '*' token
    sheet.c:23: error: expected ')' before 'a'
    sheet.c:24: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'create_array'
    sheet.c:25: error: expected ')' before 'a'
    sheet.c:26: error: expected ')' before '*' token
    sheet.c:42: error: expected ')' before '*' token
    sheet.c:62: error: expected ')' before '*' token
    sheet.c:76: error: expected ')' before '*' token
    sheet.c:112: error: expected ')' before '*' token
    sheet.c:148: error: expected ')' before '*' token
    sheet.c:209: error: expected ')' before '*' token
    sheet.c:227: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
    sheet.c:251: error: expected ')' before 'a'
    sheet.c:257: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'create_array'
    sheet.c:274: error: expected ')' before 'a'
    sheet.c:290: error: expected ')' before '*' token
    sheet.c:345: error: expected ')' before '*' token
    sheet.c:381: error: expected ')' before '*' token
    sheet.c:516: error: expected ')' before '*' token
    sheet.c:584: error: expected ')' before '*' token
    sheet.c:683: error: expected ')' before '*' token
    sheet.c:712: error: expected ')' before '*' token
    sheet.c:753: error: expected ')' before '*' token
    sheet.c:806: error: expected ')' before '*' token
    sheet.c:849: error: expected ')' before '*' token
    sheet.c:891: error: expected ')' before '*' token
    sheet.c:931: error: expected ')' before '*' token
    sheet.c:979: error: expected ')' before '*' token
    sheet.c:1013: error: expected ')' before '*' token
    sheet.c:1051: error: expected ')' before '*' token
    sheet.c:1063: error: expected ')' before '*' token
    sheet.c:1087: error: expected ')' before '*' token
    sheet.c:1096: error: expected ')' before '*' token
    sheet.c:1121: error: old-style parameter declarations in prototyped function definition
    /usr/include/X11/Intrinsic.h:1180: error: parameter name omitted
    sheet.c:1121: error: expected '{' at end of input
    make[1]: *** [sheet.o] Error 1
    make: *** [tk_utils] Error 2
    bash-3.2$
    

    Any help?

    -Riki

     
  • Hi Riki,

    It is the kind of error messages you get with missing parentheses or semicolons.  Not the kind of error that should appear here.

    I need to see more of the make output to work out what is going on.  Either post it here or send it to me directly at aw7 at sanger ac uk.

    Andrew

     
  • You know, after several hours on this, I gave up, installed VirtualBox on my Mac with Ubuntu and ran gap4 from there.

     
  • James Bonfield
    James Bonfield
    2011-01-31

    Sorry to hear that. However hopefully the news is good for the future. I've been working hard on improving portability, including MacOS X and Windows builds.  I can't say when this will be released (although it's all in SVN right now if anyone wants to try it out), but I'd like to also provide prebuilt binaries with the next version to hopefully avoid problems of compiling software.

    James

     
  • James,

    I have been trying to compile Staden for days now and I am getting the exact same problems described here. If you need access to a machines running 10.6, please let me know, I can fix that for you. I would really, really like to solve this issue as we do need Staden in our work.

    Rodolfo Aramayo
    Texas A&M University

     
  • James Bonfield
    James Bonfield
    2011-02-01

    That could be useful, thanks. I only have remote access to a Mac running MacOS 10.5.8 (uname -a claims Darwin 9.8) and it seems to build OK there.

    I have made a lot of changes in subversion though to simplify the build process, including on Macs. It's worth trying an export for there to test it. Alternatively I could produce 10.5 binaries which I think ought to run on 10.6. (So far I haven't bundled it together into a standalone release yet on anything except MS Windows.)

    Note that the MacOS X version still requires X11, so the native aqua-Tk won't work and attempting to compile against it produces all sorts of strange errors (including some of the above ones). It's unlikely I'd ever find the time for a "native" port.

    James

     
  • James,

    In that case. please send me a private email at:

    raramayo@tamu.edu

    And we will make the necessary arrangements

    Thanks

    -Rodolfo

     
  • Hi Rodolfo,

    Would you keep me posted about any breakthrough? I'd really appreciate it. Thanks.

    -Riki

     
  • James Bonfield
    James Bonfield
    2011-02-04

    Thanks to Rodolfo I've pretty much got an X11 based compile of the Staden Package working under MacOS X 10.6 now. It needed a small tweak to io_lib too. I experimented a bit with a native aqua build too using the aqua Tk, and got it to compile and run, but there are several bugs and issues. I think also it's just not well suited to the native aqua design. Menus at the top of the screen are all well and good for well behaved "Apple-like" applications, but not for programs that expect to have lots of sub-windows each with their own menus.

    I'm hoping I can release a new version in source form for unix, mac and windows next week. This will be followed soon after by prebuilt binaries.

    James

     
  • James Bonfield
    James Bonfield
    2011-02-04

    Oh one more thing to add, the errors quoted much earlier in this thread indicate the source of error: using the native aqua tk frameworks instead of X11 builds of tcl/tk (as avaialble via MacPorts). Ie this is wrong:

    Tcl: via /System/Library/Frameworks/Tcl.framework/tclConfig.sh
    Tk: via /System/Library/Frameworks/Tk.framework/tkConfig.sh
    

    Instead we want something like:

      $ ../configure --prefix=/Users/jbonfield/install --with-io_lib=/Users/jbonfield/install --with-tklib=/usr/local/tklib/lib/tklib0.5 --with-lzma=/opt/local --with-png=/opt/local --with-tcl=/opt/local/lib --with-tk=/opt/local/lib
    ...
    Tcl:       via /opt/local/lib/tclConfig.sh
    Tk:        via /opt/local/lib/tkConfig.sh
    tklib:     /usr/local/tklib/lib/tklib0.5
    

    With that, and the current version copied out of SVN, it should build for more or less anyone.