Обсуждение: BUG #1584: undefined symbol _tas
The following bug has been logged online:
Bug reference: 1584
Logged by: Benjamin Reed
Email address: ranger@befunk.com
PostgreSQL version: 7.3.9
Operating system: Mac OS X 10.4.0 ("Tiger")
Description: undefined symbol _tas
Details:
Something has changed between 10.3 and 10.4; my PostgreSQL 7.3.9 Fink
package builds just fine on 10.3, but fails on 10.4 with:
gcc -no-cpp-precomp -g -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
-Wmissing-declarations -fno-common
-L/sw/build/root-postgresql73-7.3.9-21/sw/lib -L/sw/lib -L/sw/lib
-L/usr/lib access/SUBSYS.o bootstrap/SUBSYS.o catalog/SUBSYS.o
parser/SUBSYS.o commands/SUBSYS.o executor/SUBSYS.o lib/SUBSYS.o
libpq/SUBSYS.o main/SUBSYS.o nodes/SUBSYS.o optimizer/SUBSYS.o port/SUBSYS.o
postmaster/SUBSYS.o regex/SUBSYS.o rewrite/SUBSYS.o storage/SUBSYS.o
tcop/SUBSYS.o utils/SUBSYS.o -lpam -lkrb5 -lz -lreadline -lresolv -ldl -lm
-o postgres
/usr/bin/ld: warning -L: directory name
(/sw/build/root-postgresql73-7.3.9-21/sw/lib) does not exist
/usr/bin/ld: Undefined symbols:
_tas
I've found some references to similar issues, but have been unable to figure
out how to apply them to the current situation.
"Benjamin Reed" <ranger@befunk.com> writes:
> Something has changed between 10.3 and 10.4; my PostgreSQL 7.3.9 Fink
> package builds just fine on 10.3, but fails on 10.4 with:
> /usr/bin/ld: Undefined symbols:
> _tas
Perhaps Apple stopped defining __APPLE__ ? Or switched from
__ppc__ to __powerpc__ ? But in any case, updating to PG 7.4
or later should make the problem go away. If you really don't
want to move off 7.3, look in src/backend/storage/lmgr/s_lock.c.
regards, tom lane
Tom Lane wrote: > Perhaps Apple stopped defining __APPLE__ ? Or switched from > __ppc__ to __powerpc__ ? But in any case, updating to PG 7.4 > or later should make the problem go away. If you really don't > want to move off 7.3, look in src/backend/storage/lmgr/s_lock.c. Yeah, I got that far, but was having trouble backporting the 7.4 bits to 7.3. The package really only exists for people with pre-existing installs; we have packages for 7.4 and 8.0 as well. The strange thing is, it *seems* like both __ppc__ and __powerpc__ are defined, and __APPLE__ is definitely defined. I'm having a really hard time narrowing down what's missing.
Benjamin Reed <ranger@befunk.com> writes:
> The strange thing is, it *seems* like both __ppc__ and __powerpc__ are
> defined, and __APPLE__ is definitely defined.
Hmm, then maybe Apple changed something about the assembler syntax,
such that 7.3's "asm" code is failing to define a global symbol?
regards, tom lane