Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

OSX craps out compiling latest svn source

John Nash
2011-07-14
2013-04-18
  • John Nash
    John Nash
    2011-07-14

    Good morning,

    As recommended in the "fix internal joins" thread, I am re-making the OSX binaries form svn.

    I used the ./configure which worked for previous installations, i.e.

    ./configure --prefix=/usr/molbin/staden_src --with-tcl=/opt/local/lib --with-tk=/opt/local/lib --with-tklib=/usr/local/lib/tklib0.5/ --with-png=/opt/local/ --disable-rpath --with-lzma=/opt/local/ --with-itcl=/opt/local/lib/itcl3.4/ --with-itk=/opt/local/lib/itk3.3/ --with-iwidgets=/opt/local/lib/iwidgets/
    

    Because that worked, I changed nothing.

    When I 'make', it crashes with the following:

    gcc -dynamiclib -g -O2   -I/opt/local//include -I/opt/local//include  -DUSE_NON_CONST  -I/usr/local/src/staden_trunk_Jul2011/src/./tgap -I/usr/local/src/staden_trunk_Jul2011/src/./Misc -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/work/tk8.5.9/generic" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/work/tk8.5.9/unix" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_tcl/work/tcl8.5.9/generic" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_tcl/work/tcl8.5.9/unix" -I/usr/local/src/staden_trunk_Jul2011/src/./tk_utils -I/usr/local/src/staden_trunk_Jul2011/src/./seq_utils -I/usr/local/include  -I/opt/local//include -I/usr/local/src/staden_trunk_Jul2011/src  -DSVN_VERSION=exported -fno-common  -Wl,-single_module -current_version 2.0.0 -compatibility_version 2.0.0 -g -O2   -I/opt/local//include -I/opt/local//include  -DUSE_NON_CONST  -I/usr/local/src/staden_trunk_Jul2011/src/./tgap -I/usr/local/src/staden_trunk_Jul2011/src/./Misc -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/work/tk8.5.9/generic" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/work/tk8.5.9/unix" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_tcl/work/tcl8.5.9/generic" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_tcl/work/tcl8.5.9/unix" -I/usr/local/src/staden_trunk_Jul2011/src/./tk_utils -I/usr/local/src/staden_trunk_Jul2011/src/./seq_utils -I/usr/local/include  -I/opt/local//include -I/usr/local/src/staden_trunk_Jul2011/src  -DSVN_VERSION=exported -fno-common -L/usr/local/src/staden_trunk_Jul2011/src/lib  -L/opt/local//lib -prebind -headerpad_max_install_names -Wl,-search_paths_first   -o /usr/local/src/staden_trunk_Jul2011/src/lib/libtgap.dylib  -L/usr/local/src/staden_trunk_Jul2011/src/lib tg_iface_g.o b+tree2.o hache_table.o tg_gio.o tg_cache.o tg_contig.o tg_sequence.o tg_track.o tg_bin.o tg_utils.o tg_register.o tg_tracks.o tg_anno.o tg_library.o tg_check.o actf.o zfio.o gap_cli_arg.o tg_tcl.o g-files.o g-db.o g-struct.o g-error.o g-alloc.o g-io.o g-connect.o g-request.o  -lseq_utils  -lz -L/opt/local//lib -llzma  -ltk_utils  -L/opt/local/lib -ltk8.5 -L/opt/local/lib -ltcl8.5 -lX11 -Wl,-weak-lXss -lXext   -framework CoreFoundation    -L/usr/local/lib -lstaden-read    -lcurl -lz  -lmisc 
    Undefined symbols:
      "_consensus_unclipped_range", referenced from:
          _sequence_range_length in tg_sequence.o
          _bin_remove_item_from_bin in tg_bin.o
    ld: symbol(s) not found
    collect2: ld returned 1 exit status
    make: ***  Error 1
    make: ***  Error 2

    Any suggestions?

    Thanks
    John

     
  • John Nash
    John Nash
    2011-07-14

    PS… I accounted for the difference in the -prefix= lines which differ from the first and second quotes. It's a cut and paste error typo. I wish I could go back and edit typos.

     
  • James Bonfield
    James Bonfield
    2011-07-15

    Oops my apologies. This is due to consensus_unclipped_range() being a new function defined in gap5/consensus.c, but called from tgap/tg_bin.c. On the Mac you're not allowed to link a library with as-yet unresolved symbols, so I've accidentally introduced a catch 22 situation where libtgap.so depends on libgap5.so and libgap5.so depends on libtgap.so. Sorry - it's my poor code separation. I really ought to just give in and merge the two directories/libraries together!

    I'll look at a way to fix it.

     
  • James Bonfield
    James Bonfield
    2011-07-18

    Hopefully the latest subversion has fixed this now. I simply gave in and merged tgap and gap5 directories together. :-)

    James

     
  • John Nash
    John Nash
    2011-07-18

    You are going to hate me… but gap5 works so nicely on my Macbook Air, and I can edit sequence in hotel rooms.

    gcc -dynamiclib -g -O2   -I/opt/local//include -I/opt/local//include  -DUSE_NON_CONST  -I/usr/local/src/staden_trunk_2011-July-18/src/./gap5 -I/usr/local/src/staden_trunk_2011-July-18/src/./Misc -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/work/tk8.5.9/generic" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/work/tk8.5.9/unix" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_tcl/work/tcl8.5.9/generic" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_tcl/work/tcl8.5.9/unix" -I/usr/local/include -I/usr/local/src/staden_trunk_2011-July-18/src/./tk_utils -I/usr/local/src/staden_trunk_2011-July-18/src/./seq_utils -I/usr/local/src/staden_trunk_2011-July-18/src/./primer3/src   -I/opt/local//include -I/usr/local/src/staden_trunk_2011-July-18/src  -DSVN_VERSION=exported -fno-common  -Wl,-single_module -current_version 2.0.0 -compatibility_version 2.0.0 -g -O2   -I/opt/local//include -I/opt/local//include  -DUSE_NON_CONST  -I/usr/local/src/staden_trunk_2011-July-18/src/./gap5 -I/usr/local/src/staden_trunk_2011-July-18/src/./Misc -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/work/tk8.5.9/generic" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/work/tk8.5.9/unix" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_tcl/work/tcl8.5.9/generic" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_tcl/work/tcl8.5.9/unix" -I/usr/local/include -I/usr/local/src/staden_trunk_2011-July-18/src/./tk_utils -I/usr/local/src/staden_trunk_2011-July-18/src/./seq_utils -I/usr/local/src/staden_trunk_2011-July-18/src/./primer3/src   -I/opt/local//include -I/usr/local/src/staden_trunk_2011-July-18/src  -DSVN_VERSION=exported -fno-common -L/usr/local/src/staden_trunk_2011-July-18/src/lib  -L/opt/local//lib -prebind -headerpad_max_install_names -Wl,-search_paths_first   -o /usr/local/src/staden_trunk_2011-July-18/src/lib/libgap5.dylib  -L/usr/local/src/staden_trunk_2011-July-18/src/lib newgap5_cmds.o gap4_compat.o gap_hash.o hash_lib.o qual.o qualIO.o gap_globals.o tagdb.o init.o notedb.o active_tags.o list_proc.o gap-error.o stack_dump.o tk-io-reg.o tkAppInit.o consen.o contig_selector.o cs-object.o find_repeats.o readpair.o consensus.o read_depth.o gap_range.o template_display.o depth_track.o template_draw.o quality_plot.o fij.o do_fij.o break_contig.o dis_readings.o export_contigs.o find_oligo.o import_gff.o shuffle_pads.o g-files.o g-db.o g-struct.o g-error.o g-alloc.o g-io.o g-connect.o g-request.o tg_iface_g.o b+tree2.o hache_table.o tg_gio.o tg_cache.o tg_contig.o tg_sequence.o tg_track.o tg_bin.o tg_utils.o tg_register.o tg_tracks.o tg_anno.o tg_library.o tg_check.o actf.o zfio.o gap_cli_arg.o tg_tcl.o editor_view.o editor_join.o editor_search.o tkEdNames.o tkEditor.o tman_interface.o tman_display.o primlib.o editor_oligo.o tg_index_common.o baf.o maq.o maqmap.o sam_index.o sam_pileup.o bam.o ace.o caf.o fasta.o afg.o depad_seq_tree.o -L/usr/local/lib -lstaden-read    -lcurl -lz  -lseq_utils   -ltk_utils  -lz -L/opt/local//lib -llzma -L/opt/local/lib -ltk8.5 -L/opt/local/lib -ltcl8.5 -lX11 -Wl,-weak-lXss -lXext   -framework CoreFoundation     -lseq_utils    -lprimer3   -lmisc 
    ld: duplicate symbol _range_option in gap_range.o and newgap5_cmds.o
    collect2: ld returned 1 exit status
    make: ***  Error 1
    make: ***  Error 2

    John

     
  • James Bonfield
    James Bonfield
    2011-07-20

    Now fixed in svn too. It's a one line change to line 69 of gap5/gap_range.h to make it read "extern Tk_CustomOption range_option;" instead of "Tk_CustomOption range_option;".

    The problem arises due to a far stricter policy in the MacOS X linker, but I've also now figured out how to make the linux/gcc linker warn about such things too, so hopefully I won't fall into the same trap so often now.

     
  • John Nash
    John Nash
    2011-07-20

    Bloody OSX.. I'm too scared to move to Lion in case Staden breaks…  Here is the error message from my last compile.

    HTH
    John

    gcc -L/usr/local/src/staden_trunk_2011-07-20/src/lib  -o tg_index tg_iface_g.o b+tree2.o hache_table.o tg_gio.o tg_cache.o tg_contig.o tg_sequence.o tg_track.o tg_bin.o tg_utils.o tg_register.o tg_tracks.o tg_anno.o tg_library.o tg_check.o actf.o zfio.o gap_cli_arg.o tg_tcl.o tg_index.o  -lgap5   -lprimer3  -lz  -ltk_utils   -lseq_utils  -L/opt/local/lib -ltk8.5 -L/opt/local/lib -ltcl8.5 -lX11 -Wl,-weak-lXss -lXext   -framework CoreFoundation     -lmisc  -L/usr/local/lib -lstaden-read    -lcurl -lz   
    Undefined symbols:
      "_lzma_stream_buffer_bound", referenced from:
          _lzma_mem_deflate in tg_iface_g.o
      "_lzma_memusage", referenced from:
          _mem_inflate in tg_iface_g.o
      "_lzma_end", referenced from:
          _mem_inflate in tg_iface_g.o
      "_lzma_stream_decoder", referenced from:
          _mem_inflate in tg_iface_g.o
      "_lzma_easy_buffer_encode", referenced from:
          _lzma_mem_deflate in tg_iface_g.o
      "_lzma_code", referenced from:
          _mem_inflate in tg_iface_g.o
          _mem_inflate in tg_iface_g.o
    ld: symbol(s) not found
    collect2: ld returned 1 exit status
    make: ***  Error 1
    make: ***  Error 2

     
  • James Bonfield
    James Bonfield
    2011-07-21

    I decided to use an  aging Leopard/10.5/9.8 (why so many version numbers!?) system to do a test build on.

    So I found this error (in svn now - it's a one line change to the gap5/Makefile to add LZMA_LIBS to the list of dependencies for tg_index).

    Unfortunately it now just gets a bus error and I've no idea why yet. Maybe you'll have more luck, but I'm continuing to investigate further. Sorry.

     
  • John Nash
    John Nash
    2011-07-21

    I'll give it a shot this morning. I don't mind being your Mac test bed if you don't mind me filing bug reports.

    I'm going to try to compile the windows version next, when all this is done. I had some issues doing it a couple of months ago.  That scares me bc I'm not a windows user but our technicians are.

     
  • John Nash
    John Nash
    2011-07-21

    Speaking of OSX, I'm going to upgrade my personal Mac to Lion to test how things compile. I'll get a working installation under Snow Leopard, upgrade to Lion, and let you know. I won't change my work Mac until I see it working.

     
  • John Nash
    John Nash
    2011-07-21

    Thank you James.  Everything works well with a fresh installation of the SVN version of 21 July 2011 under Snow Leopard.

    Much appreciated,
    John