Thanks. This is exactly the detail I needed. Let me comment on each item.
Nicolas Bazin wrote: > Bruce, > > The reason to move the socket library is that during configuration script > execution, the binary created core dumps if not in the order I gave. You can > check in the port list, some people have been complaining that they could > not even go any further than the configure step and that is the reason. > Here is the message you get otherwise: > > checking test program... failed > configure: error: > *** Could not execute a simple test program. This may be a problem > *** related to locating shared libraries. Check the file 'config.log' > *** for the exact reason. > > In config.log the last lines are: > > configure:7516: checking test program > configure:7525: gcc -o conftest -O2 > > > > conftest.c -lz -lPW -lgen -lld -lnsl -lsocket -ldl -lm -lreadline -ltermcap > 1>&5 > configure: failed program was: > #line 7521 "configure" > #include "confdefs.h" > int main() { return 0; } >From your link line, it seems -lnls is needed by -lsocket. What I don't know is whether there are other platforms that where -lnls needs -lsocket. ... $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS That last LIBS grows as configure runs, so that is why reordering fixes things for SCO. I don't see any immediate downside to moving it so I will apply the change to 7.3. Any platforms problems with the reordering will show up during 7.3 beta testing. I would need someone else to agree before making this change in 7.2.X. > pow is in the static library libm and SCO Openserver linker does not accept > to link it in a so file. The modification I provide works whithout changing > the way the code works. If there is another way to get libm linked in so > Here is the message I get: > > gcc -shared -Wl,-z,text -Wl,-h,libpsqlodbc.so.0 -Wl,-Bsymbolic info.o bind.o > columninfo.o connection.o convert.o drvconn.o environ.o execute.o lobj.o > md5.o misc.o options.o pgtypes.o psqlodbc.o qresult.o results.o socket.o > parse.o statement.o tuple.o tuplelist.o dlg_specific.o odbcapi.o > pps.o -lsocket -lnsl -lm -o libpsqlodbc.so.0.27 > relocations referenced > from file(s) > /usr/ccs/lib/libm.a(pow.o) > /usr/ccs/lib/libm.a(fmod.o) > /usr/ccs/lib/libm.a(merr.o) > fatal error: relocations remain against allocatable but non-writable > section: .text > > collect2: ld returned 1 exit status Yes, the patch replaces pow(8,*) with a lookup table of 4 8^X values. So SCO provides a library you can't link to? Or you can't mix *.so libraries and static *.a libraries? I am inclined ot add this patch to the doc/FAQ_SCO file. We really try to avoid major code uglyness to work around operating system things that should work on their own. > The TCL stuff is because Caldera distribution of TCL is compiled with their > compiler. If you happen to use another compiler on your platform (gcc) it > doesn't work anymore. Caldera compiler has -belf -Kpic options which are > fully incompatible with gcc. That's why I though best to leave the TCL > packages been compiled with the compiler used for postgresql. > > Note that I have the same issue for perl modules, but I haven't found a > proper way to correct the make files automatically generated. I understand > that we would want the same compilation options but if you install TCL or > PERL from packages you may not have the same compiler. Not sure how to deal with this one. Can you add something to FAQ_SCO or should I add this patch. Clearly this is very OS specific and probably only true for certain versions of SCO. -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]