esqlc or cc compilation error : _abi_...grent Undefined in /usr/lib/libnsl.so
Posted in 1999
Topics: Installation, Setup & Upgrades, Connectivity: ESQL/C, 4GL & Embedded SQL, Versions, Editions & End-of-Life
Hi, I have installed SQL 7.20.UD7 IDS 7.30.UC8-1 CLIENT SDK 2.20 ESQLC 9.2 on NCR os MPRAS 3.02 ( or may be 3.20) The client has some C and Esql/c programs that I am not aware of. The only thing that I know is executing make should take the Makefile and give me the new executable. While executing the make file I get the following Fatel error and I don't know what to do further. Undefined Symbols first referenced in file _abi_getgrent /usr/lib/libnsl.so _abi_endgrent /usr/lib/libnsl.so _abi_setgrent /usr/lib/libnsl.so I have been working with the Makefile for one full day and now I have some idea as to what it contains. At first I had a lot of undefined symbols but after changing the Makefile and including many other libraries I have come to 3 errors. I am not sure which file has this objects defined. If anybody else has any idea then email it to me. Thanks, Sunil Thakkar. ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com
If this is a recent upgrade you may have older objects in libraries that were compiled with earlier ESQL/C which had a different library layout and so will not link with the new code. Recompile all library code when upgrading ESQL versions. Art S. Kagel Sunil Thakkar wrote: > > Hi, > > I have installed SQL 7.20.UD7 > IDS 7.30.UC8-1 > CLIENT SDK 2.20 > ESQLC 9.2 > on NCR os MPRAS 3.02 ( or may be 3.20) > > The client has some C and Esql/c programs that I am not aware of. The only > thing that I know is executing make should take the Makefile and give me the > new executable. > > While executing the make file I get the following Fatel error and I don't > know what to do further. > > Undefined Symbols first referenced in file > > _abi_getgrent /usr/lib/libnsl.so > _abi_endgrent /usr/lib/libnsl.so > _abi_setgrent /usr/lib/libnsl.so > > I have been working with the Makefile for one full day and now I have some > idea as to what it contains. > > At first I had a lot of undefined symbols but after changing the Makefile > and including many other libraries I have come to 3 errors. > > I am not sure which file has this objects defined. If anybody else has any > idea then email it to me. > > Thanks, > Sunil Thakkar. > > ______________________________________________________ > Get Your Private, Free Email at http://www.hotmail.com
Sunil Thakkar wrote: > > Hi, > > I have installed SQL 7.20.UD7 > IDS 7.30.UC8-1 > CLIENT SDK 2.20 > ESQLC 9.2 > on NCR os MPRAS 3.02 ( or may be 3.20) > > The client has some C and Esql/c programs that I am not aware of. The only > thing that I know is executing make should take the Makefile and give me the > new executable. > > While executing the make file I get the following Fatel error and I don't > know what to do further. > > Undefined Symbols first referenced in file > > _abi_getgrent /usr/lib/libnsl.so > _abi_endgrent /usr/lib/libnsl.so > _abi_setgrent /usr/lib/libnsl.so > > I have been working with the Makefile for one full day and now I > have some idea as to what it contains. > > At first I had a lot of undefined symbols but after changing the > Makefile and including many other libraries I have come to 3 errors. > > I am not sure which file has this objects defined. If anybody else > has any idea then email it to me. As well as making sure that everything is recompiled, make sure that the link line is using the esql script. If it does not -- if it uses either the C compiler or the loader directly -- then the odds are that the library list has changed and the makefile hasn't. Moral: always, but always, use the esql script to link programs. Otherwise, go poking through all the libraries in /usr/lib and /lib and find out which, if any, defines the _abi_* functions; not just the group entry ones which you're missing, but any such functions. This will probably give you the necessary info. If no library defines any of the _abi_* functions, then you've somehow got the wrong version of libnsl.so on your machine. If some library defines a bunch of _abi_* functions but not the ones you are missing, then there is still, probably, an o/s installation problem. And if you find a library which defines the three missing functions, you know you need to add that to the list of libraries (probably in the esql script, after the -lnsl entry) so that they are picked up. -- Jonathan Leffler (jleffler@informix.com, jleffler@earthlink.net) Guardian of DBD::Informix v0.60 -- see http://www.perl.com/CPAN #include <disclaimer.h>