Thread: C compiler error when using PostGres
I recently upgraded the hardrive on our database system and copied all of the Postgres files from the old harddrive to the new one. Everything seems to work find except when I try to compile a C program that uses SQL backend commands. The program did compile on the old harddrive and ran fine. Now, during compilation I get the following error: /database/local/pgsql/lib/libpq.a(fe-auth.o): In function `pg_password_sendauth': fe-auth.o(.text+0x17): undefined reference to `crypt' Anyone know how to fix this? Thanks. -Tony -- ( @@ ) ////////////////////oOO*(__)*OOo/////////////////////// // // // G. Anthony Reina, MD // // The Neurosciences Institute // // 10640 John Jay Hopkins Drive // // San Diego, CA 92121 USA // // // // Voice: (619) 626-2000 FAX: (619) 626-2199 // // E-mail: reina@nsi.edu // // // ///////////////////////////////////////////////////////
"G. Anthony Reina" wrote: > > I recently upgraded the hardrive on our database system and copied all > of the Postgres files from the old harddrive to the new one. > > Everything seems to work find except when I try to compile a C program > that uses SQL backend commands. The program did compile on the old > harddrive and ran fine. Now, during compilation I get the following > error: > > /database/local/pgsql/lib/libpq.a(fe-auth.o): In function > `pg_password_sendauth': > fe-auth.o(.text+0x17): undefined reference to `crypt' > > Anyone know how to fix this? > > Thanks. > -Tony > > -- > > ( @@ ) > ////////////////////oOO*(__)*OOo/////////////////////// > // // > // G. Anthony Reina, MD // > // The Neurosciences Institute // > // 10640 John Jay Hopkins Drive // > // San Diego, CA 92121 USA // > // // > // Voice: (619) 626-2000 FAX: (619) 626-2199 // > // E-mail: reina@nsi.edu // > // // > /////////////////////////////////////////////////////// Add -lcrypt to the end of the line that compiles the application. John
John E. Garrott wrote: > > ... Now, during compilation I get the following > > error: > > > > /database/local/pgsql/lib/libpq.a(fe-auth.o): In function > > `pg_password_sendauth': > > fe-auth.o(.text+0x17): undefined reference to `crypt' > > > > Anyone know how to fix this? > > > > Add -lcrypt to the end of the line that compiles the application. > > John Thanks John, That seems to have fixed it. Any idea why I didn't have to include that library before? Is crypt a PostGres library or a system library? -Tony
> John E. Garrott wrote: > > > ... Now, during compilation I get the following > > > error: > > > > > > /database/local/pgsql/lib/libpq.a(fe-auth.o): In function > > > `pg_password_sendauth': > > > fe-auth.o(.text+0x17): undefined reference to `crypt' > > > > > > Anyone know how to fix this? > > > > > > > > Add -lcrypt to the end of the line that compiles the application. > > > > John > > Thanks John, > > That seems to have fixed it. Any idea why I didn't have to include that > library before? Is crypt a PostGres library or a system library? > Perhaps on your old system it was just part of your standard libraries. I kind of fuzzy on how all this works, but I belive the compiler should have some sort of setup that tells it where to look for core libraries, and on some systems crypt would be part of that default, but on other it would not. Also, I am pretty sure you can automate some that stuff with "make", and if you used a different make file, or because it was a different platform, perhaps the makefile was not setup proprely.Anyway, I think it boils down to some sort of a configuration issue...james P.S. Any more definitave answers? > -Tony