mirror of
https://github.com/postgres/postgres.git
synced 2025-04-21 12:05:57 +03:00
> > > > and mb conversions (pg_ascii2mic and pg_mic2ascii not
> > > > found in the postmaster and not included from elsewhere) > > > > shared libs on AIX need to be able to resolve all symbols at linkage time. > > Those two symbols are in backend/utils/SUBSYS.o but not in the postgres > > executable. > > They are defined in backend/utils/mb/conv.c and declared in > include/mb/pg_wchar.h. They're also linked into the > postmaster. I don't see anything unusual. Attached is a patch to fix the mb linking problems on AIX. As a nice side effect it reduces the duplicate symbol warnings to linking libpq.so and libecpg.so (all shlibs that are not postmaster loadable modules). Please apply to current (only affects AIX). The _LARGE_FILES problem is unfortunately still open, unless Peter has fixed it per his recent idea. Zeugswetter Andreas SB SD
This commit is contained in:
parent
ba8e20a6dd
commit
33a6b67b51
@ -1,5 +1,5 @@
|
|||||||
From: Zeugswetter Andreas <ZeugswetterA@spardat.at>
|
From: Zeugswetter Andreas <ZeugswetterA@spardat.at>
|
||||||
Fri Feb 1 17:24:51 NFT 2002
|
Fri Sep 27 12:33:36 MSZ 2002
|
||||||
|
|
||||||
On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc
|
On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc
|
||||||
(vac.C 5.0.1) passes all regression tests.
|
(vac.C 5.0.1) passes all regression tests.
|
||||||
@ -22,6 +22,9 @@ which you can safely ignore.
|
|||||||
Compiling PostgreSQL with gcc (2.95.3) on AIX also works.
|
Compiling PostgreSQL with gcc (2.95.3) on AIX also works.
|
||||||
Use the configure flags: --with-CC=gcc
|
Use the configure flags: --with-CC=gcc
|
||||||
|
|
||||||
|
You need libm.a that is in the fileset bos.adt.libm (try following command)
|
||||||
|
$ lslpp -l bos.adt.libm
|
||||||
|
|
||||||
Since the mktime() function does not work on AIX for dates before
|
Since the mktime() function does not work on AIX for dates before
|
||||||
1970, all localtime formatted datetimes will not use summer time for
|
1970, all localtime formatted datetimes will not use summer time for
|
||||||
dates before 1970.
|
dates before 1970.
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
# Copyright (c) 1998, Regents of the University of California
|
# Copyright (c) 1998, Regents of the University of California
|
||||||
#
|
#
|
||||||
# IDENTIFICATION
|
# IDENTIFICATION
|
||||||
# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.64 2002/09/05 18:28:46 petere Exp $
|
# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.65 2002/10/09 16:21:54 momjian Exp $
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ soname = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
|
|||||||
|
|
||||||
ifeq ($(PORTNAME), aix)
|
ifeq ($(PORTNAME), aix)
|
||||||
shlib := lib$(NAME)$(DLSUFFIX)
|
shlib := lib$(NAME)$(DLSUFFIX)
|
||||||
SHLIB_LINK += -lc
|
# SHLIB_LINK += -lc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(PORTNAME), darwin)
|
ifeq ($(PORTNAME), darwin)
|
||||||
@ -267,7 +267,7 @@ else # PORTNAME == aix
|
|||||||
# AIX case
|
# AIX case
|
||||||
$(shlib): lib$(NAME).a
|
$(shlib): lib$(NAME).a
|
||||||
$(MKLDEXPORT) lib$(NAME).a > lib$(NAME)$(EXPSUFF)
|
$(MKLDEXPORT) lib$(NAME).a > lib$(NAME)$(EXPSUFF)
|
||||||
$(COMPILER) -Wl,-H512 -Wl,-bM:SRE -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:lib$(NAME)$(EXPSUFF) -o $@ $< $(LDFLAGS) $(SHLIB_LINK) $(LDFLAGS_SL) -Wl,-bnoentry
|
$(COMPILER) $(LDFLAGS_SL) -o $@ $< $(LDFLAGS) $(SHLIB_LINK) -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:lib$(NAME)$(EXPSUFF)
|
||||||
|
|
||||||
endif # PORTNAME == aix
|
endif # PORTNAME == aix
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1994, Regents of the University of California
|
# Copyright (c) 1994, Regents of the University of California
|
||||||
#
|
#
|
||||||
# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.87 2002/09/05 18:28:46 petere Exp $
|
# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.88 2002/10/09 16:21:54 momjian Exp $
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -53,6 +53,25 @@ libpostgres.a: postgres.def
|
|||||||
|
|
||||||
endif # win
|
endif # win
|
||||||
|
|
||||||
|
ifeq ($(PORTNAME), aix)
|
||||||
|
|
||||||
|
postgres: $(POSTGRES_IMP)
|
||||||
|
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -Wl,-bE:$(top_builddir)/src/backend/$(POSTGRES_IMP) $(LIBS) -o $@
|
||||||
|
|
||||||
|
$(POSTGRES_IMP): $(OBJS)
|
||||||
|
$(LD) $(LDREL) $(LDOUT) SUBSYS.o $^
|
||||||
|
ifeq ($(host_os), aix3.2.5)
|
||||||
|
$(MKLDEXPORT) SUBSYS.o $(bindir)/postgres > $@
|
||||||
|
else
|
||||||
|
ifneq (,$(findstring aix4.1, $(host_os)))
|
||||||
|
$(MKLDEXPORT) SUBSYS.o $(bindir)/postgres > $@
|
||||||
|
else
|
||||||
|
$(MKLDEXPORT) SUBSYS.o . > $@
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
@rm -f SUBSYS.o
|
||||||
|
|
||||||
|
endif # aix
|
||||||
|
|
||||||
# Parallel make trickery
|
# Parallel make trickery
|
||||||
$(OBJS): $(DIRS:%=%-recursive) ;
|
$(OBJS): $(DIRS:%=%-recursive) ;
|
||||||
|
@ -47,7 +47,7 @@ else
|
|||||||
# for the base executable (AIX 4.2 and up)
|
# for the base executable (AIX 4.2 and up)
|
||||||
echo '#! .'
|
echo '#! .'
|
||||||
else
|
else
|
||||||
echo '#!' $2/$OBJNAME
|
echo '#!' $2
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
$NM -BCg $1 | \
|
$NM -BCg $1 | \
|
||||||
|
@ -7,12 +7,12 @@ MK_NO_LORDER= true
|
|||||||
AROPT = crs
|
AROPT = crs
|
||||||
|
|
||||||
DLSUFFIX = .so
|
DLSUFFIX = .so
|
||||||
ifneq ($(GCC), yes)
|
|
||||||
ifeq ($(host_os), aix3.2.5)
|
ifeq ($(host_os), aix3.2.5)
|
||||||
LDFLAGS_SL = -e _nostart
|
ifneq ($(GCC), yes)
|
||||||
else
|
LDFLAGS_SL = -e _nostart -H512 -bM:SRE
|
||||||
LDFLAGS_SL = -bnoentry
|
|
||||||
endif
|
endif
|
||||||
|
else
|
||||||
|
LDFLAGS_SL = -Wl,-bnoentry -Wl,-H512 -Wl,-bM:SRE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
@ -23,24 +23,11 @@ POSTGRES_IMP= postgres$(IMPSUFF)
|
|||||||
|
|
||||||
MKLDEXPORT=$(top_srcdir)/src/backend/port/aix/mkldexport.sh
|
MKLDEXPORT=$(top_srcdir)/src/backend/port/aix/mkldexport.sh
|
||||||
|
|
||||||
$(POSTGRES_IMP):
|
|
||||||
@echo Making $@
|
|
||||||
ifeq ($(host_os), aix3.2.5)
|
|
||||||
$(MKLDEXPORT) postgres $(bindir) > $@
|
|
||||||
else
|
|
||||||
ifneq (,$(findstring aix4.1, $(host_os)))
|
|
||||||
$(MKLDEXPORT) postgres $(bindir) > $@
|
|
||||||
else
|
|
||||||
$(MKLDEXPORT) postgres . > $@
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
$(CC) -Wl,-bE:$(top_builddir)/src/backend/$@ -o postgres $(OBJS) $(LDFLAGS) $(LIBS)
|
|
||||||
|
|
||||||
%$(EXPSUFF): %.o
|
%$(EXPSUFF): %.o
|
||||||
$(MKLDEXPORT) $*.o > $*$(EXPSUFF)
|
$(MKLDEXPORT) $*.o > $*$(EXPSUFF)
|
||||||
|
|
||||||
%$(DLSUFFIX): %.o %$(EXPSUFF)
|
%$(DLSUFFIX): %.o %$(EXPSUFF)
|
||||||
@echo Making shared library $@ from $*.o, $*$(EXPSUFF) and postgres.imp
|
@echo Making shared library $@ from $*.o, $*$(EXPSUFF) and postgres.imp
|
||||||
$(CC) -Wl,-H512 -Wl,-bM:SRE -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:$*$(EXPSUFF) -o $@ $*.o $(LDFLAGS) $(LIBS) $(LDFLAGS_SL)
|
$(CC) $(LDFLAGS) $(LDFLAGS_SL) -o $@ $*.o -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:$*$(EXPSUFF) $(LIBS)
|
||||||
|
|
||||||
sqlmansect = 7
|
sqlmansect = 7
|
||||||
|
Loading…
x
Reference in New Issue
Block a user