Обсуждение: no answer to Solaris 2.6 failure to build 6.3.2?
I still cannot get postgres 6.3.2 libpq to build under Solaris 2.6 ... this means I can't test any of my apps using postgres on my deployment platform. can anyone help? gcc version 2.7.2.3 looks like too many warnings (on make in libpq dir) -- I'm not expert at Posix/bsd porting, which is sorta what this looks like... gcc -I../../include -I../../backend -I/opt/tcl/include -I/usr/include// -I/opt/tcl/include// -Wall -Wmissing-prototypes-DFRONTEND -fPIC -c fe-connect.c fe-connect.c: In function `PQconnectdb': fe-connect.c:204: warning: implicit declaration of function `strdup' fe-connect.c:204: warning: assignment makes pointer from integer without a cast fe-connect.c:206: warning: assignment makes pointer from integer without a cast fe-connect.c:208: warning: assignment makes pointer from integer without a cast fe-connect.c:210: warning: assignment makes pointer from integer without a cast fe-connect.c:212: warning: assignment makes pointer from integer without a cast fe-connect.c:214: warning: assignment makes pointer from integer without a cast fe-connect.c:216: warning: assignment makes pointer from integer without a cast fe-connect.c: In function `PQsetdbLogin': fe-connect.c:339: warning: assignment makes pointer from integer without a cast fe-connect.c:342: warning: assignment makes pointer from integer without a cast fe-connect.c:348: warning: assignment makes pointer from integer without a cast fe-connect.c:351: warning: assignment makes pointer from integer without a cast fe-connect.c:357: warning: assignment makes pointer from integer without a cast fe-connect.c:360: warning: assignment makes pointer from integer without a cast fe-connect.c:366: warning: assignment makes pointer from integer without a cast fe-connect.c:369: warning: assignment makes pointer from integer without a cast fe-connect.c:374: warning: assignment makes pointer from integer without a cast fe-connect.c:379: warning: assignment makes pointer from integer without a cast fe-connect.c:399: warning: assignment makes pointer from integer without a cast fe-connect.c:403: warning: assignment makes pointer from integer without a cast fe-connect.c:406: warning: assignment makes pointer from integer without a cast fe-connect.c:412: warning: assignment makes pointer from integer without a cast fe-connect.c:414: warning: assignment makes pointer from integer without a cast fe-connect.c: In function `connectDB': fe-connect.c:561: warning: passing arg 4 of `setsockopt' from incompatible pointer type fe-connect.c:579: warning: implicit declaration of function `fdopen' fe-connect.c:579: warning: assignment makes pointer from integer without a cast fe-connect.c:580: warning: assignment makes pointer from integer without a cast fe-connect.c: In function `PQsetenv': fe-connect.c:694: warning: implicit declaration of function `strcasecmp' fe-connect.c: In function `closePGconn': fe-connect.c:743: storage size of `ignore_action' isn't known fe-connect.c:749: storage size of `oldaction' isn't known fe-connect.c:756: warning: implicit declaration of function `sigemptyset' fe-connect.c:758: warning: implicit declaration of function `sigaction' fe-connect.c:749: warning: unused variable `oldaction' fe-connect.c:743: warning: unused variable `ignore_action' fe-connect.c: In function `conninfo_parse': fe-connect.c:866: warning: assignment makes pointer from integer without a cast fe-connect.c:1012: warning: assignment makes pointer from integer without a cast fe-connect.c:1035: warning: assignment makes pointer from integer without a cast fe-connect.c:1047: warning: assignment makes pointer from integer without a cast fe-connect.c:1060: warning: assignment makes pointer from integer without a cast fe-connect.c:1073: warning: assignment makes pointer from integer without a cast make: *** [fe-connect.o] Error 1 de ............................................................................. :De Clarke, Software Engineer UCO/Lick Observatory, UCSC: :Mail: de@ucolick.org | "There is no problem in computer science that cannot: :Web: www.ucolick.org | be solved by another level of indirection" --J.O. :
going to try it now, but is this befoer or after the patches? On Thu, 2 Jul 1998, De Clarke wrote: > > I still cannot get postgres 6.3.2 libpq to build under > Solaris 2.6 ... this means I can't test any of my apps > using postgres on my deployment platform. can anyone > help? > > gcc version 2.7.2.3 > > looks like too many warnings (on make in libpq dir) -- > I'm not expert at Posix/bsd porting, which is sorta what > this looks like... > > gcc -I../../include -I../../backend -I/opt/tcl/include -I/usr/include// -I/opt/tcl/include// -Wall -Wmissing-prototypes-DFRONTEND -fPIC -c fe-connect.c > fe-connect.c: In function `PQconnectdb': > fe-connect.c:204: warning: implicit declaration of function `strdup' > fe-connect.c:204: warning: assignment makes pointer from integer without a cast > fe-connect.c:206: warning: assignment makes pointer from integer without a cast > fe-connect.c:208: warning: assignment makes pointer from integer without a cast > fe-connect.c:210: warning: assignment makes pointer from integer without a cast > fe-connect.c:212: warning: assignment makes pointer from integer without a cast > fe-connect.c:214: warning: assignment makes pointer from integer without a cast > fe-connect.c:216: warning: assignment makes pointer from integer without a cast > fe-connect.c: In function `PQsetdbLogin': > fe-connect.c:339: warning: assignment makes pointer from integer without a cast > fe-connect.c:342: warning: assignment makes pointer from integer without a cast > fe-connect.c:348: warning: assignment makes pointer from integer without a cast > fe-connect.c:351: warning: assignment makes pointer from integer without a cast > fe-connect.c:357: warning: assignment makes pointer from integer without a cast > fe-connect.c:360: warning: assignment makes pointer from integer without a cast > fe-connect.c:366: warning: assignment makes pointer from integer without a cast > fe-connect.c:369: warning: assignment makes pointer from integer without a cast > fe-connect.c:374: warning: assignment makes pointer from integer without a cast > fe-connect.c:379: warning: assignment makes pointer from integer without a cast > fe-connect.c:399: warning: assignment makes pointer from integer without a cast > fe-connect.c:403: warning: assignment makes pointer from integer without a cast > fe-connect.c:406: warning: assignment makes pointer from integer without a cast > fe-connect.c:412: warning: assignment makes pointer from integer without a cast > fe-connect.c:414: warning: assignment makes pointer from integer without a cast > fe-connect.c: In function `connectDB': > fe-connect.c:561: warning: passing arg 4 of `setsockopt' from incompatible pointer type > fe-connect.c:579: warning: implicit declaration of function `fdopen' > fe-connect.c:579: warning: assignment makes pointer from integer without a cast > fe-connect.c:580: warning: assignment makes pointer from integer without a cast > fe-connect.c: In function `PQsetenv': > fe-connect.c:694: warning: implicit declaration of function `strcasecmp' > fe-connect.c: In function `closePGconn': > fe-connect.c:743: storage size of `ignore_action' isn't known > fe-connect.c:749: storage size of `oldaction' isn't known > fe-connect.c:756: warning: implicit declaration of function `sigemptyset' > fe-connect.c:758: warning: implicit declaration of function `sigaction' > fe-connect.c:749: warning: unused variable `oldaction' > fe-connect.c:743: warning: unused variable `ignore_action' > fe-connect.c: In function `conninfo_parse': > fe-connect.c:866: warning: assignment makes pointer from integer without a cast > fe-connect.c:1012: warning: assignment makes pointer from integer without a cast > fe-connect.c:1035: warning: assignment makes pointer from integer without a cast > fe-connect.c:1047: warning: assignment makes pointer from integer without a cast > fe-connect.c:1060: warning: assignment makes pointer from integer without a cast > fe-connect.c:1073: warning: assignment makes pointer from integer without a cast > make: *** [fe-connect.o] Error 1 > > > de > > ............................................................................. > :De Clarke, Software Engineer UCO/Lick Observatory, UCSC: > :Mail: de@ucolick.org | "There is no problem in computer science that cannot: > :Web: www.ucolick.org | be solved by another level of indirection" --J.O. : > > > >
De Clarke <de@ucolick.org> writes: > I still cannot get postgres 6.3.2 libpq to build under > Solaris 2.6 ... this means I can't test any of my apps > using postgres on my deployment platform. can anyone > help? > gcc version 2.7.2.3 > fe-connect.c: In function `PQconnectdb': > fe-connect.c:204: warning: implicit declaration of function `strdup' > fe-connect.c:204: warning: assignment makes pointer from integer without a cast [ snip a whole lot of similar errors, all apparently arising from the lack of prototypes for strdup() and other functions... ] gcc is unhappy because it hasn't seen any declaration for strdup, and later fdopen, strcasecmp, etc. All the other complaints follow from that. Either Solaris 2.6 has incredibly brain-damaged system include files, or (more likely) you have a misconfigured gcc that is not reading the correct version of <stdio.h>, <string.h>, etc. One way that that can happen is if you try to copy a gcc installation from another system rather than configuring and compiling it on exactly the target system. (gcc tends to like to make "patched" copies of some of the system include files, and if those don't match up with the real ones you are in deep trouble.) Surely libpq is not the only area where things are failing to build because of these problems? Or is that the only subdirectory you have tried to build? regards, tom lane
>De Clarke <de@ucolick.org> writes: >> I still cannot get postgres 6.3.2 libpq to build under >> Solaris 2.6 ... this means I can't test any of my apps >> using postgres on my deployment platform. can anyone >> help? > >> gcc version 2.7.2.3 > >> fe-connect.c: In function `PQconnectdb': >> fe-connect.c:204: warning: implicit declaration of function `strdup' >> fe-connect.c:204: warning: assignment makes pointer from integer without a cast > >[ snip a whole lot of similar errors, all apparently arising from the >lack of prototypes for strdup() and other functions... ] > >gcc is unhappy because it hasn't seen any declaration for strdup, and >later fdopen, strcasecmp, etc. All the other complaints follow from >that. [snip] I have successfully built 6.3.2 under Sparc/Solaris 2.6 with gcc 2.7.2.2. Here are the outputs from gmake. gcc -I../../include -I../../backend -I/usr/local/include/tcl7.6jp -I/usr/local/include/tk4.2jp -Wall -Wmissing-prototypes-DFRONTEND -c fe-auth.c -o fe-auth.o gcc -I../../include -I../../backend -I/usr/local/include/tcl7.6jp -I/usr/local/include/tk4.2jp -Wall -Wmissing-prototypes-DFRONTEND -c fe-connect.c -o fe-connect.o fe-connect.c: In function `connectDB': fe-connect.c:561: warning: passing arg 4 of `setsockopt' from incompatible pointer type gcc -I../../include -I../../backend -I/usr/local/include/tcl7.6jp -I/usr/local/include/tk4.2jp -Wall -Wmissing-prototypes-DFRONTEND -c fe-exec.c -o fe-exec.o gcc -I../../include -I../../backend -I/usr/local/include/tcl7.6jp -I/usr/local/include/tk4.2jp -Wall -Wmissing-prototypes-DFRONTEND -c fe-misc.c -o fe-misc.o gcc -I../../include -I../../backend -I/usr/local/include/tcl7.6jp -I/usr/local/include/tk4.2jp -Wall -Wmissing-prototypes-DFRONTEND -c fe-lobj.c -o fe-lobj.o ln -s ../../backend/lib/dllist.c . gcc -I../../include -I../../backend -I/usr/local/include/tcl7.6jp -I/usr/local/include/tk4.2jp -Wall -Wmissing-prototypes-DFRONTEND -c dllist.c -o dllist.o gcc -I../../include -I../../backend -I/usr/local/include/tcl7.6jp -I/usr/local/include/tk4.2jp -Wall -Wmissing-prototypes-DFRONTEND -c pqsignal.c -o pqsignal.o ln -s ../../backend/libpq/pqcomprim.c . gcc -I../../include -I../../backend -I/usr/local/include/tcl7.6jp -I/usr/local/include/tk4.2jp -Wall -Wmissing-prototypes-DFRONTEND -c pqcomprim.c -o pqcomprim.o ar crs libpq.a `lorder fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-lobj.o dllist.o pqsignal.o pqcomprim.o | tsort` UX tsort: INFORM: cycle in data fe-connect.o fe-auth.o UX tsort: INFORM: cycle in data fe-exec.o fe-connect.o ranlib libpq.a rm -f c.h echo "#undef PORTNAME" > c.h echo "#define PORTNAME sparc_solaris" >> c.h cat ../../include/c.h >> c.h -- Tatsuo Ishii t-ishii@sra.co.jp
t-ishii@sra.co.jp writes: > I have successfully built 6.3.2 under Sparc/Solaris 2.6 with gcc > 2.7.2.2. Here are the outputs from gmake. OK, that seems sufficient evidence that Solaris 2.6 *does* have proper declarations for all these functions in the system include files. So we're left with the hypothesis of a botched gcc installation on De Clarke's machine. I'm not quite foolish enough to say that it couldn't be anything else, but that sure seems like the thing to investigate first. regards, tom lane
unsubscribe
On Thu, 2 Jul 1998, Tom Lane wrote: > De Clarke <de@ucolick.org> writes: > > I still cannot get postgres 6.3.2 libpq to build under > > Solaris 2.6 ... this means I can't test any of my apps > > using postgres on my deployment platform. can anyone > > help? > > > gcc version 2.7.2.3 > > > fe-connect.c: In function `PQconnectdb': > > fe-connect.c:204: warning: implicit declaration of function `strdup' > > fe-connect.c:204: warning: assignment makes pointer from integer without a cast > > [ snip a whole lot of similar errors, all apparently arising from the > lack of prototypes for strdup() and other functions... ] > > gcc is unhappy because it hasn't seen any declaration for strdup, and > later fdopen, strcasecmp, etc. All the other complaints follow from > that. > > Either Solaris 2.6 has incredibly brain-damaged system include files, > or (more likely) you have a misconfigured gcc that is not reading the > correct version of <stdio.h>, <string.h>, etc. One way that that can > happen is if you try to copy a gcc installation from another system > rather than configuring and compiling it on exactly the target system. > (gcc tends to like to make "patched" copies of some of the system > include files, and if those don't match up with the real ones you are > in deep trouble.) Isn't it possible to just run 'fixincludes'? This is what's done when you install gcc from scratch. Don't actually know where to find fixincludes though. Maarten _____________________________________________________________________________ | TU Delft, The Netherlands, Faculty of Information Technology and Systems | | Department of Electrical Engineering | | Computer Architecture and Digital Technique section | | M.Boekhold@et.tudelft.nl | -----------------------------------------------------------------------------