I realize this question is tangential to staden, but I can't find a
phred/phrap discussion group. I could really use some help installing
phred and phrap (and Consed). I am a relative Unix newbie who is
trying to install phred, phrap and consed on my G4 Powerbook running
10.2.8. After decompressing the tarballs in /usr/local, I cd to the
phred directory and type make' as per the installation instructions.
The result is the following error:
viewPhred.o writeData.o writePhd.o writeQual.o writeRunInfo.o
writeSCF2.o writeSCF3.o writeSeq.o -lm
ld: Undefined symbols:
restFP
saveFP
*** Error code 1
Stop in /usr/local/phred.
I should mention that I have installed gcc3.3 using the Apple
August2003 updater.
One hint came from the installation instructions for the program:
Apple OS X.
-----------
a) If phred does not link under OS X, you may need to modify the
'Makefile' in this distribution by changing the line with
CLIB= -lm
to
CLIB= -lcc
b) If the C compiler is not installed on your system, you may be
be able to obtain it with the 'development tools' from the
Open Source 'Darwin' distribution.
Unfortunately this did not fix the problem. I just got the following:
al.o writeRunInfo.o writeSCF2.o writeSCF3.o writeSeq.o -lcc
ld: can't locate file for: -lcc
*** Error code 1
Stop in /usr/local/phred.
I also searched for suggestions via google and various discussion
groups, and similar errors seem to occur when others are trying to
build unix programs under 10.2. The consensus seems to be that
libraries are not being correctly linked. The most helpful tip I came
across was the following from the Apple unix-porting discussion group:
List-Subscribe: <http://www.lists.apple.com/mailman/listinfo/unix-porting>,
<mailto:unix-porting-request at lists.apple.com?subject=subscribe>
At 11/29/02 9:26 AM, Yves de Champlain <yves at gnu-darwin.org> wrote:
>> I get these undefined symbols quite often with 10.2 :
>> saveFP
> restFP
Link with either /usr/lib/libcc_dynamic.a or /usr/lib/libgcc.a,
depending on
your needs. It's always handy to do:
%cd /usr/lib
%nm -o lib* | egrep 'T saveFP'
for example.
-Conrad
_______________________________________________
I tried
%cd /usr/lib
%nm -o lib* | egrep 'T saveFP'
and got the following:
[caseyPBG4:/usr/lib] casey% nm -o lib* | egrep 'T saveFP'
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
libcc_dynamic.a:darwin-fpsave.o:00000000 T saveFP
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
libcc_kext.a:darwin-fpsave.o:00000000 T saveFP
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
libgcc.a:darwin-fpsave.o:00000000 T saveFP
nm: no name list
nm: no name list
It seems like I need to link to libcc_dynamic, libcc_kext or libgcc
(or perhaps all three). Two questions:
Do I need to link all three libraries or just one? I'm thinking libgcc
is the one I need.
How do I link these libraries for building? Please give precise
instructions.
One other question: The programs' authors suggest the following
makefile edit:
Edit 'Makefile'.
In particular, you may want to modify CFLAGS for the highest
level of optimization offered by your compiler.
Here is the relevant makefile section:
# UNIX specific definitions (default)
#
CC= cc
CFLAGS= -O -DANSI_C $(LXFLAGS)
CLIB= -lcc
How exactly do I modify CFLAGS?
Thanks in advance for your help.
***************************
Casey M. Finnerty, Ph. D.
Dept. of Microbiology
University of Guelph
Guelph, ON, Canada
N1G 2W1