Compiling: library not found

Discussion in 'Mac Programming' started by sammich, May 19, 2009.

  1. macrumors 601

    sammich

    Joined:
    Sep 26, 2006
    Location:
    Sarcasmville.
    #1
    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
     
  2. macrumors newbie

    Joined:
    May 21, 2009
    #2
    Can you give me your sourcefile, I'll see what happened!
     
  3. macrumors G4

    wrldwzrd89

    Joined:
    Jun 6, 2003
    Location:
    Solon, OH
    #3
    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.
     
  4. thread starter macrumors 601

    sammich

    Joined:
    Sep 26, 2006
    Location:
    Sarcasmville.
    #4
    It works on the uni unix servers fine, so it can't be a typo. The Mac OS X supplied g++ is slightly different?
     

Share This Page