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

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks