Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Pro*C : No rule to make target `-llibclntsh' 1

Status
Not open for further replies.

Capoerista

Programmer
Aug 13, 2002
44
0
0
GB
Hi Everyone,

We are trying to compile an existing C application to which we want to add PL/SQL extensions. After some messing with the make file compilations are successful, but it fails at the final hurdle with the message :

gmake[1]: *** No rule to make target `-llibclntsh', needed by `/home/oracle/hht-
rdt/saphire/bin/dc_wmlogin'. Stop.
gmake: *** [dc_wmlogin] Error 2

libclntsh.a exists in /oracle/u01/app/oracle/product/9.2/lib/ and this directory is specified as a -L... in the make file LDFLAGS entry.

Can anyone suggest what else to check?

Env: AIX 5.2, Oracle 9.2, gmake 3.8, gcc 3.3.2

Thanks

Adrian

 
Adrian,

Not really my forte, but no-one else has tried so...

What is a '.a' file - is that a compiled library? It looks from your message as though the Oracle stuff is trying to incoporate a 'finished' libcIntsh executable, but that gmake doesn't know how to make one - so perhaps the libcIntSh.a isn't what it needs as input, or perhaps it just needs a rule to know how to get from .a to executable?

Just guessing, really.
 
Thanks Simon

After going bug-eyed looking at this I agree that it looks like it thinks it needs an executable.

As some background we wrote a small test program and tried to compile with an Oracle supplied make file. That did not work so I took the whole command it was running and ran it manually. The only thing it complained about was an undefined declaration. A google indicated that a -lclntsh along with an appropriate -L path in the link stage should do the trick. It did and the test program works fine.

The actual application we are working on already has a fairly complex set of make files. I added the library paths, compiler flags and the -lclntsh but compiling one of these programs it still fails with the undefined declaration.

ld: 0711-317 ERROR: Undefined symbol: .sqlcxt

Looks like I'll have to sleep on it
 
For info we finally got it working

Libraries needed to be rebuilt with 64bit option (ar -x64).
Programs needed compiling and linking with 64bit option (-maix64 is the flag for gcc)

Adrian
 
Adrian - thanks for posting the solution. Have a star for your efforts.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top