Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

sammich

macrumors 601
Original poster
Sep 26, 2006
4,304
268
Sarcasmville.
I'm working between my uni's unix servers and my mac. I've been using rsync to keep both up to date when I'm moving from one to the other.

But I've run into a problem (which I swear wasn't there before). I sync'd everything back to my mac, and used the makefile to compile on my mac. It gives me the error:

Code:
ld: library not found for -lparser

So I 'ssh' into my shell on the uni servers and run the exact same makefile, and it works fine. I'd rather not rsync every change and compile on the uni servers. I should add that I've got symlinks (required for this assignment) that point to data files. I've made sure that that same directories exist on my mac as well (remember this worked before). I'm not convinced this is a link following problem.

What is happening here?
Thanks in advance.

My makefile:
Code:
COMPILER = g++
OBJECTS = main.o subNode.o Hits.o Context.o NodeFactory.o
INCLUDES = -I wrappers/ -I parser -L parser  -l parser
ERRFLAGS = -W -Wall -Wextra -ansi -pedantic
WRAPPERS = wrappers/RecordFile.o wrappers/lines_idx.o wrappers/lines_pos.o

printme: Context.o $(WRAPPERS)
	$(COMPILER) -o printme $(INCLUDES) Context.cc $(WRAPPERS)

# Compile program
search: $(OBJECTS) $(WRAPPERS)
	$(COMPILER) -o search $(ERRFLAGS) $(INCLUDES) $(OBJECTS) $(WRAPPERS)

Directory listing (from ls -l):
Code:
Context.cc
Context.o
Hits.cc
NodeFactory.cc
data -> /usr/cs3/cs3/info3220/ass2/data
main.cc
makefile
parser -> /usr/cs3/cs3/info3220/ass2/parser/      <-- this folder has libparser.a in it
rprint.cc
subNode.cc
texts -> /usr/cs3/cs3/info3220/ass2/texts
wrappers
 

wrldwzrd89

macrumors G5
Jun 6, 2003
12,110
77
Solon, OH
This doesn't look like a symbolic link issue, but rather a prompt formatting issue. Double-check your includes line. Somehow, ld thinks that you're trying to specify a library called lparser rather than parser.
 

sammich

macrumors 601
Original poster
Sep 26, 2006
4,304
268
Sarcasmville.
This doesn't look like a symbolic link issue, but rather a prompt formatting issue. Double-check your includes line. Somehow, ld thinks that you're trying to specify a library called lparser rather than parser.

It works on the uni unix servers fine, so it can't be a typo. The Mac OS X supplied g++ is slightly different?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.