MOO-cows Mailing List Archive
Re: More pgperf compile problems...
A short time ago, at a computer terminal far, far away, Pavel Curtis wrote:
>> Okay, I took out the -p flag and that got rid of the mcrt1.o problem.
>> Now it's getting undefined symbols. Maybe some libraries aren't
>> installed? Where should I get them so I can install them? Any ideas?
>> Once again, it's on a Sun Sparc with Solaris.
>> Undefined first referenced
>> symbol in file
>> bzero hashtable.o
>> srandom perfect.o
>> bcopy getopt.o
>> random perfect.o
>> index getopt.o
>> mcount options.o
>The first five of these are in /lib/libc.a, the standard C library, on my
>Solaris machine (2.5.1); I don't know why your system isn't finding them.
Under Solaris 2.4, as I recall, these five were considered BSD-specific
and non-standard, supported only with the BSD compatibility package
(/usr/ucb/cc, /usr/ucbinclude, and /usr/ucblib). The conventional
wisdom as I heard it was to use memset, srand, memmove, rand, and strchr,
respectively, instead of these five. Often this could be achieved via
compiling with -DSVR4 or -DSYSV, if the code was setup appropriately,
or by defining your own macros, like
#define index(s,c) strchr((s),(c))
to do the translating. I'm not familiar with the pgperf code, though,
so I can't say what the best solution might be.
It looks Solaris 2.5 has changed this by now including these five BSD
functions in its standard library, so it's yet another reason to
upgrade I guess. :)
Will Day <PGP mail preferred> OIT, Georgia Tech, Atlanta 30332-0715
=-> Opinions expressed are mine alone and do not reflect OIT policy <-=
Those who would give up essential Liberty, to purchase a little temporary
Safety, deserve neither Liberty nor Safety.
Benjamin Franklin, Pennsylvania Assembly, Nov. 11, 1755
Subject Index |