Our local admin tried compiling a 64bit PostgreSQL on Solaris 9 using
the below environment:
export
PATH=:/usr/bin/sparcv9:/usr/ccs/bin/sparcv9:/usr/sfw/bin/sparcv9:/usr/local/bin/sparcv9:/usr/bin:/usr/local/bin:/usr/sfw/bin:/usr/ccs/bin
export
LD_LIBRARY_PATH=/usr/lib/sparcv9:/usr/ccs/lib/sparcv9:/usr/local/lib/sparcv9:/usr/sfw/lib/sparcv9
export CFLAGS='-m64'
export CXXFLAGS=$CFLAGS
export CPPFLAGS="-I/usr/include -I/usr/include/ncurses"
This resulted in:
make[3]: Entering directory
`/export/home/rbt/postgresql-8.0.0beta4/src/backend/utils/mb/conversion_procs/ascii_and_mic'
gcc -shared -h libascii_and_mic.so.0 ascii_and_mic.o
-L../../../../../../src/port -o libascii_and_mic.so.0.0
ld: fatal: file ascii_and_mic.o: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to
libascii_and_mic.so.0.0
Making a modification to src/Makefile.shlib to include -m64 on the
LINK.shared line fixes the problem:
ifeq ($(PORTNAME), solaris)
shlib := lib
$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
ifeq ($(GCC), yes)
LINK.shared = $(CC) -m64 -shared # -m64
else
LINK.shared = $(CC) -G
endif
Can we somehow modify configure to pick up the CFLAGS settings and
inject them into the correct place itself? Or should we be doing this
another way?
--
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])