(popping head up for a moment) If you have the readelf/objdump tools around, and you know which object file or library is complaining about a missing link, you can walk the cat backwards (start at the object file or library with the missing link, look at the symbols, and try to see in /usr/lib or similar, which library has these symbols ... a simple foreach loop with a readelf/objdump and a grep is quite helpful here). I have used this methodology with a compiler vendors compilers recently to fix some chemistry code support. It is annoying and time consuming, but not impossible. Joe Aaron Darling wrote: > I haven't tried it (I don't have an OS X machine handy at the moment), > but based on a perusal of NCBI's darwin.ncbi.mk file, it looks like > they add "-framework CoreServices" and "-lc" to the link command. You > may also need "-framework Carbon", but I'm guessing not since that > looks like it's just for gui apps on OS X. > Good luck, hope it works this time around! > -Aaron > > Nick Brockner wrote: > >> I now have it almost linking, except for this: >> >> ld: Undefined symbols: >> _DisposeHandle >> _HLock >> _HUnlock >> _MemError >> _NewHandle >> _SetHandleSize >> _FSPathMakeRef >> mpiCC: No such file or directory >> >> Using this command to link: >> >> mpiCC -O2 -DINSTALL_PREFIX="\"/usr/local\"" -g -O2 -o mpiblast >> mpiblast-blastjob.o mpiblast-db_spec.o mpiblast-blast_hooks.o >> mpiblast-embed_rank.o mpiblast-file_util.o mpiblast-fragment_list.o >> mpiblast-mpiblast_util.o mpiblast-mpiblast.o >> mpiblast-mpiblast_config.o mpiblast-ncbi_sizeof.o >> mpiblast-distributed_bioseq.o /usr/local/ncbi/build/ncbithr.o >> -lncbitool -lncbiobj -lncbi -L/usr/local/ncbi/lib/ -lm -lpthread >> -lstdc++ >> >> I searched all over and cannot find what to link with for these. I >> appreciate all the help you have given so far with this. >> >> Thanks, >> >> -Nick >> On Sep 30, 2004, at 5:49 PM, Aaron Darling wrote: >> >>> Yes, looks like something wrong with the build environment. Looks >>> like it's not linking to the c++ library. Usually the GNU standard >>> c++ library can be linked with -lstdc++. You could either add that >>> to the CXXFLAGS environment variable and reconfigure or just copy >>> the link command, add -lstdc++, and run it from within the src dir. >>> In the past we've only tested releases on Linux and Windows, sounds >>> like that needs to change :) >>> >>> -Aaron >>> >>> Nick Brockner wrote: >>> >>>> Ok, now that getopt() is out of the way it compiles, but then when >>>> it goes to link I get this garbage: >>>> >>>> ld: Undefined symbols: >>>> std::basic_ostream<char, std::char_traits<char> >>>> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& >>>> (*)(std::basic_ostream<char, std::char_traits<char> >&)) >>>> std::basic_ostream<char, std::char_traits<char> >::operator<<(double) >>>> std::basic_ostream<char, std::char_traits<char> >::operator<<(long) >>>> std::basic_ostream<char, std::char_traits<char> >>>> >::operator<<(unsigned long) >>>> std::basic_string<char, std::char_traits<char>, >>>> std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&) >>>> . >>>> . >>>> . >>>> >>>> I think this has nothing to do with the mpiBlast code, and has >>>> something to do with Apple's build environment. Difficult build, >>>> this is. >>>> >>>> Thanks, >>>> >>>> -Nick Brockner >>>> On Sep 30, 2004, at 3:35 PM, Aaron Darling wrote: >>>> >>>>> This happens on OS X, Solaris, and AIX because our getopt() >>>>> detection was broken in 1.2.1. A quick fix is to comment out line >>>>> 147 of mpiBLAST-1.2.1/src/getopt.h >>>>> e.g. change: >>>>> extern int getopt (); >>>>> to: >>>>> /* extern int getopt (); */ >>>>> >>>>> -Aaron >>>>> >>>>> Nick Brockner wrote: >>>>> >>>>>> Hi Aaron, >>>>>> >>>>>> Thanks for the pointer. Using the Oct. 2003 ncbi toolkit worked >>>>>> for the previous error, but now I have a more sinister looking >>>>>> error: >>>>>> >>>>>> In file included from /usr/include/pthread.h:61, >>>>>> from >>>>>> /usr/include/gcc/darwin/3.3/c++/ppc-darwin/bits/gthr-default.h:37, >>>>>> from >>>>>> /usr/include/gcc/darwin/3.3/c++/ppc-darwin/bits/gthr.h:98, >>>>>> from >>>>>> /usr/include/gcc/darwin/3.3/c++/ppc-darwin/bits/c++io.h:37, >>>>>> from >>>>>> /usr/include/gcc/darwin/3.3/c++/bits/fpos.h:44, >>>>>> from /usr/include/gcc/darwin/3.3/c++/iosfwd:49, >>>>>> from >>>>>> /usr/include/gcc/darwin/3.3/c++/bits/stl_algobase.h:70, >>>>>> from /usr/include/gcc/darwin/3.3/c++/algorithm:66, >>>>>> from mpiblast.cpp:86: >>>>>> /usr/include/unistd.h:183: error: declaration of C function `int >>>>>> getopt(int, >>>>>> char* const*, const char*)' conflicts with >>>>>> getopt.h:147: error: previous declaration `int getopt()' here >>>>>> In file included from file_util.hpp:58, >>>>>> from mpiblast.hpp:71, >>>>>> from mpiblast.cpp:88: >>>>>> >>>>>> >>>>>> Has anyone seen this before? Looks OS X specific. >>>>>> >>>>>> Thanks, >>>>>> >>>>>> -Nick Brockner >>>>>> >>>>>> On Sep 30, 2004, at 2:51 PM, Aaron Darling wrote: >>>>>> >>>>>>> Assuming you are using mpiBLAST 1.2.1, you need to use the >>>>>>> October 2003 release of the NCBI Toolbox from here: >>>>>>> ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/old/ >>>>>>> >>>>>>> Each version of mpiBLAST is designed to compile against a >>>>>>> specific version of the NCBI Toolbox, as mentioned on our >>>>>>> download page here: >>>>>>> >>>>>>> http://mpiblast.lanl.gov/download.html >>>>>>> >>>>>>> Later toolbox releases changed the API to BlastMakeMultQueries >>>>>>> and BXMLPrintOutput, which is why you are seeing those build >>>>>>> errors. >>>>>>> >>>>>>> Regards, >>>>>>> -Aaron >>>>>>> >>>>>>> Nick Brockner wrote: >>>>>>> >>>>>>>> Hi All, >>>>>>>> >>>>>>>> I think I am missing something here, but attempting to compile >>>>>>>> mpiBlast gets me the following: >>>>>>>> >>>>>>>> blast_hooks.c: In function `getFakeBioseq': >>>>>>>> blast_hooks.c:785: error: too few arguments to function >>>>>>>> `BlastMakeMultQueries' >>>>>>>> blast_hooks.c: In function `outputResults': >>>>>>>> blast_hooks.c:1334: error: too few arguments to function >>>>>>>> `BXMLPrintOutput' >>>>>>>> blast_hooks.c:1345: error: too few arguments to function >>>>>>>> `BXMLPrintOutput' >>>>>>>> blast_hooks.c:1493: error: too few arguments to function >>>>>>>> `BXMLPrintOutput' >>>>>>>> blast_hooks.c:1498: error: too few arguments to function >>>>>>>> `BXMLPrintOutput' >>>>>>>> mpicc: No such file or directory >>>>>>>> make[1]: *** [mpiblast-blast_hooks.o] Error 1 >>>>>>>> make: *** [all-recursive] Error 1 >>>>>>>> >>>>>>>> >>>>>>>> My setup: >>>>>>>> OS X Server 10.3.5 >>>>>>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1495) >>>>>>>> NCBI toolkit installed >>>>>>>> LAM-MPI version 7.0.6 >>>>>>>> >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> -Nick Brockner >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Bioclusters maillist - Bioclusters@bioinformatics.org >>>>>>>> https://bioinformatics.org/mailman/listinfo/bioclusters >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Bioclusters maillist - Bioclusters@bioinformatics.org >>>>>>> https://bioinformatics.org/mailman/listinfo/bioclusters >>>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Bioclusters maillist - Bioclusters@bioinformatics.org >>>>>> https://bioinformatics.org/mailman/listinfo/bioclusters >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Bioclusters maillist - Bioclusters@bioinformatics.org >>>>> https://bioinformatics.org/mailman/listinfo/bioclusters >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Bioclusters maillist - Bioclusters@bioinformatics.org >>>> https://bioinformatics.org/mailman/listinfo/bioclusters >>> >>> >>> >>> _______________________________________________ >>> Bioclusters maillist - Bioclusters@bioinformatics.org >>> https://bioinformatics.org/mailman/listinfo/bioclusters >>> >> >> _______________________________________________ >> Bioclusters maillist - Bioclusters@bioinformatics.org >> https://bioinformatics.org/mailman/listinfo/bioclusters > > > _______________________________________________ > Bioclusters maillist - Bioclusters@bioinformatics.org > https://bioinformatics.org/mailman/listinfo/bioclusters -- Joseph Landman, Ph.D Scalable Informatics LLC, email: landman@scalableinformatics.com web : http://scalableinformatics.com phone: +1 734 612 4615