Frank Ridderbusch <ridderbusch.pad@sni.de> writes:
>> Likewise, this should be fixable by improving configure's test
>> to see whether the system has strcasecmp.
> Well, this problem is originally caused by the need to link against
> /usr/ucblib/libucb.a. Without libucb.a, I'm getting three undefined
> symbols
> strncasecmp commands/SUBSYS.o
> alloca bootstrap/SUBSYS.o
> strcasecmp commands/SUBSYS.o
> alloca is ok (GCC users have it build in). But strncasecmp and
> strcasecmp are defined in the same archive member in
> libucb.a. Therefore I get multiple defines if I link with strcasecmp.o
> from pgsql.
OK, the reason that configure is deciding strcasecmp.o is needed is that
it has no idea you are planning to link with /usr/ucblib/libucb.a.
Rather than editing the generated makefiles after the fact, you might
have better luck if you edit the template file you plan to use *before*
running configure. I think adding "-L/usr/ucblib -lucb" to the LIBS
line in the template file would solve this particular problem. I think
you had mentioned needing a few other unusual libraries as well --- you
should be able to take care of all of them that way.
> Come to think of it, shouldn't configure check also for strncasecmp if
> it checks for strcasecmp? But apparently, since no one complains, it
> appears, that all other platforms do have strncasecmp and shouldn't
> also need strcasecmp.
Basically configure is assuming that your system library provides
both or neither. I think that's a reasonable assumption. Of course,
if we find any actual instances of systems with just one, we may have
to change it...
regards, tom lane