BUG #6585: Can't compile from source code

Lists: pgsql-bugs
From: mit(at)akamit(dot)com
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #6585: Can't compile from source code
Date: 2012-04-12 17:37:48
Message-ID: E1SINxs-0001Zy-Gj@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 6585
Logged by: Andrey Mitroshin
Email address: mit(at)akamit(dot)com
PostgreSQL version: 9.1.3
Operating system: AIX 7.1.0
Description:

This affects versions from 9.0.0
Version 8.4.7 is not affected
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/freeware/libexec/gcc/powerpc-ibm-aix7.1.0.0/4.6.3/lto-wrapper
Target: powerpc-ibm-aix7.1.0.0
Configured with: ../gcc-4.6.3/configure --with-as=/usr/bin/as
--with-ld=/usr/bin/ld --enable-languages=c,c++,fortran
--prefix=/opt/freeware --mandir=/opt/freeware/man
--infodir=/opt/freeware/info --enable-threads
--enable-version-specific-runtime-libs --disable-nls
--enable-decimal-float=dpd --host=powerpc-ibm-aix7.1.0.0
Thread model: aix
gcc version 4.6.3 (GCC)

While compiling from source the following error stops the compilation
process

gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wformat-security
-fno-strict-aliasing -fwrapv -L../../src/port
-Wl,-blibpath:'/opt/pgsql/lib:/usr/lib:/lib' access/common/heaptuple.o
access/common/indextuple.o access/common/printtup.o
access/common/reloptions.o access/common/scankey.o
access/common/tupconvert.o access/common/tupdesc.o access/gist/gist.o
access/gist/gistutil.o access/gist/gistxlog.o access/gist/gistvacuum.o
access/gist/gistget.o access/gist/gistscan.o access/gist/gistproc.o
access/gist/gistsplit.o access/hash/hash.o access/hash/hashfunc.o
access/hash/hashinsert.o access/hash/hashovfl.o access/hash/hashpage.o
access/hash/hashscan.o access/hash/hashsearch.o access/hash/hashsort.o
access/hash/hashutil.o access/heap/heapam.o access/heap/hio.o
access/heap/pruneheap.o access/heap/rewriteheap.o access/heap/syncscan.o
access/heap/tuptoaster.o access/heap/visibilitymap.o access/index/genam.o
access/index/indexam.o access/nbtree/nbtcompare.o access/nbtree/nbtinsert.o
access/nbtree/nbtpage.o access/nbtree/nbtree.o access/nbtree/nbtsearch.o
access/nbtree/nbtutils.o access/nbtree/nbtsort.o access/nbtree/nbtxlog.o
access/transam/clog.o access/transam/transam.o access/transam/varsup.o
access/transam/xact.o access/transam/xlog.o access/transam/xlogutils.o
access/transam/rmgr.o access/transam/slru.o access/transam/subtrans.o
access/transam/multixact.o access/transam/twophase.o
access/transam/twophase_rmgr.o access/gin/ginutil.o access/gin/gininsert.o
access/gin/ginxlog.o access/gin/ginentrypage.o access/gin/gindatapage.o
access/gin/ginbtree.o access/gin/ginscan.o access/gin/ginget.o
access/gin/ginvacuum.o access/gin/ginarrayproc.o access/gin/ginbulk.o
access/gin/ginfast.o bootstrap/bootparse.o bootstrap/bootstrap.o
catalog/catalog.o catalog/dependency.o catalog/heap.o catalog/index.o
catalog/indexing.o catalog/namespace.o catalog/aclchk.o
catalog/objectaddress.o catalog/pg_aggregate.o catalog/pg_collation.o
catalog/pg_constraint.o catalog/pg_conversion.o catalog/pg_depend.o
catalog/pg_enum.o catalog/pg_inherits.o catalog/pg_largeobject.o
catalog/pg_namespace.o catalog/pg_operator.o catalog/pg_proc.o
catalog/pg_db_role_setting.o catalog/pg_shdepend.o catalog/pg_type.o
catalog/storage.o catalog/toasting.o parser/analyze.o parser/gram.o
parser/keywords.o parser/kwlookup.o parser/parser.o parser/parse_agg.o
parser/parse_clause.o parser/parse_coerce.o parser/parse_collate.o
parser/parse_cte.o parser/parse_expr.o parser/parse_func.o
parser/parse_node.o parser/parse_oper.o parser/parse_param.o
parser/parse_relation.o parser/parse_target.o parser/parse_type.o
parser/parse_utilcmd.o parser/scansup.o commands/aggregatecmds.o
commands/alter.o commands/analyze.o commands/async.o commands/cluster.o
commands/comment.o commands/collationcmds.o commands/constraint.o
commands/conversioncmds.o commands/copy.o commands/dbcommands.o
commands/define.o commands/discard.o commands/explain.o commands/extension.o
commands/foreigncmds.o commands/functioncmds.o commands/indexcmds.o
commands/lockcmds.o commands/operatorcmds.o commands/opclasscmds.o
commands/portalcmds.o commands/prepare.o commands/proclang.o
commands/schemacmds.o commands/seclabel.o commands/sequence.o
commands/tablecmds.o commands/tablespace.o commands/trigger.o
commands/tsearchcmds.o commands/typecmds.o commands/user.o commands/vacuum.o
commands/vacuumlazy.o commands/variable.o commands/view.o executor/execAmi.o
executor/execCurrent.o executor/execGrouping.o executor/execJunk.o
executor/execMain.o executor/execProcnode.o executor/execQual.o
executor/execScan.o executor/execTuples.o executor/execUtils.o
executor/functions.o executor/instrument.o executor/nodeAppend.o
executor/nodeAgg.o executor/nodeBitmapAnd.o executor/nodeBitmapOr.o
executor/nodeBitmapHeapscan.o executor/nodeBitmapIndexscan.o
executor/nodeHash.o executor/nodeHashjoin.o executor/nodeIndexscan.o
executor/nodeLimit.o executor/nodeLockRows.o executor/nodeMaterial.o
executor/nodeMergeAppend.o executor/nodeMergejoin.o
executor/nodeModifyTable.o executor/nodeNestloop.o
executor/nodeFunctionscan.o executor/nodeRecursiveunion.o
executor/nodeResult.o executor/nodeSeqscan.o executor/nodeSetOp.o
executor/nodeSort.o executor/nodeUnique.o executor/nodeValuesscan.o
executor/nodeCtescan.o executor/nodeWorktablescan.o executor/nodeGroup.o
executor/nodeSubplan.o executor/nodeSubqueryscan.o executor/nodeTidscan.o
executor/nodeForeignscan.o executor/nodeWindowAgg.o
executor/tstoreReceiver.o executor/spi.o foreign/foreign.o lib/dllist.o
lib/stringinfo.o libpq/be-fsstubs.o libpq/be-secure.o libpq/auth.o
libpq/crypt.o libpq/hba.o libpq/ip.o libpq/md5.o libpq/pqcomm.o
libpq/pqformat.o libpq/pqsignal.o main/main.o nodes/nodeFuncs.o
nodes/nodes.o nodes/list.o nodes/bitmapset.o nodes/tidbitmap.o
nodes/copyfuncs.o nodes/equalfuncs.o nodes/makefuncs.o nodes/outfuncs.o
nodes/readfuncs.o nodes/print.o nodes/read.o nodes/params.o nodes/value.o
optimizer/geqo/geqo_copy.o optimizer/geqo/geqo_eval.o
optimizer/geqo/geqo_main.o optimizer/geqo/geqo_misc.o
optimizer/geqo/geqo_mutation.o optimizer/geqo/geqo_pool.o
optimizer/geqo/geqo_random.o optimizer/geqo/geqo_recombination.o
optimizer/geqo/geqo_selection.o optimizer/geqo/geqo_erx.o
optimizer/geqo/geqo_pmx.o optimizer/geqo/geqo_cx.o optimizer/geqo/geqo_px.o
optimizer/geqo/geqo_ox1.o optimizer/geqo/geqo_ox2.o
optimizer/path/allpaths.o optimizer/path/clausesel.o
optimizer/path/costsize.o optimizer/path/equivclass.o
optimizer/path/indxpath.o optimizer/path/joinpath.o
optimizer/path/joinrels.o optimizer/path/orindxpath.o
optimizer/path/pathkeys.o optimizer/path/tidpath.o
optimizer/plan/analyzejoins.o optimizer/plan/createplan.o
optimizer/plan/initsplan.o optimizer/plan/planagg.o
optimizer/plan/planmain.o optimizer/plan/planner.o optimizer/plan/setrefs.o
optimizer/plan/subselect.o optimizer/prep/prepjointree.o
optimizer/prep/prepqual.o optimizer/prep/preptlist.o
optimizer/prep/prepunion.o optimizer/util/clauses.o
optimizer/util/joininfo.o optimizer/util/pathnode.o
optimizer/util/placeholder.o optimizer/util/plancat.o
optimizer/util/predtest.o optimizer/util/relnode.o
optimizer/util/restrictinfo.o optimizer/util/tlist.o optimizer/util/var.o
port/dynloader.o port/pg_sema.o port/pg_shmem.o port/pg_latch.o
postmaster/autovacuum.o postmaster/bgwriter.o postmaster/fork_process.o
postmaster/pgarch.o postmaster/pgstat.o postmaster/postmaster.o
postmaster/syslogger.o postmaster/walwriter.o regex/regcomp.o
regex/regerror.o regex/regexec.o regex/regfree.o replication/walsender.o
replication/walreceiverfuncs.o replication/walreceiver.o
replication/basebackup.o replication/repl_gram.o replication/syncrep.o
rewrite/rewriteRemove.o rewrite/rewriteDefine.o rewrite/rewriteHandler.o
rewrite/rewriteManip.o rewrite/rewriteSupport.o storage/buffer/buf_table.o
storage/buffer/buf_init.o storage/buffer/bufmgr.o storage/buffer/freelist.o
storage/buffer/localbuf.o storage/file/fd.o storage/file/buffile.o
storage/file/copydir.o storage/file/reinit.o storage/freespace/freespace.o
storage/freespace/fsmpage.o storage/freespace/indexfsm.o storage/ipc/ipc.o
storage/ipc/ipci.o storage/ipc/pmsignal.o storage/ipc/procarray.o
storage/ipc/procsignal.o storage/ipc/shmem.o storage/ipc/shmqueue.o
storage/ipc/sinval.o storage/ipc/sinvaladt.o storage/ipc/standby.o
storage/large_object/inv_api.o storage/lmgr/lmgr.o storage/lmgr/lock.o
storage/lmgr/proc.o storage/lmgr/deadlock.o storage/lmgr/lwlock.o
storage/lmgr/spin.o storage/lmgr/s_lock.o storage/lmgr/predicate.o
storage/page/bufpage.o storage/page/itemptr.o storage/smgr/md.o
storage/smgr/smgr.o storage/smgr/smgrtype.o tcop/dest.o tcop/fastpath.o
tcop/postgres.o tcop/pquery.o tcop/utility.o tsearch/ts_locale.o
tsearch/ts_parse.o tsearch/wparser.o tsearch/wparser_def.o tsearch/dict.o
tsearch/dict_simple.o tsearch/dict_synonym.o tsearch/dict_thesaurus.o
tsearch/dict_ispell.o tsearch/regis.o tsearch/spell.o tsearch/to_tsany.o
tsearch/ts_selfuncs.o tsearch/ts_typanalyze.o tsearch/ts_utils.o
utils/adt/acl.o utils/adt/arrayfuncs.o utils/adt/array_userfuncs.o
utils/adt/arrayutils.o utils/adt/bool.o utils/adt/cash.o utils/adt/char.o
utils/adt/date.o utils/adt/datetime.o utils/adt/datum.o utils/adt/domains.o
utils/adt/enum.o utils/adt/float.o utils/adt/format_type.o
utils/adt/geo_ops.o utils/adt/geo_selfuncs.o utils/adt/int.o
utils/adt/int8.o utils/adt/like.o utils/adt/lockfuncs.o utils/adt/misc.o
utils/adt/nabstime.o utils/adt/name.o utils/adt/numeric.o
utils/adt/numutils.o utils/adt/oid.o utils/adt/oracle_compat.o
utils/adt/pseudotypes.o utils/adt/rowtypes.o utils/adt/regexp.o
utils/adt/regproc.o utils/adt/ruleutils.o utils/adt/selfuncs.o
utils/adt/tid.o utils/adt/timestamp.o utils/adt/varbit.o utils/adt/varchar.o
utils/adt/varlena.o utils/adt/version.o utils/adt/xid.o utils/adt/network.o
utils/adt/mac.o utils/adt/inet_cidr_ntop.o utils/adt/inet_net_pton.o
utils/adt/ri_triggers.o utils/adt/pg_lzcompress.o utils/adt/pg_locale.o
utils/adt/formatting.o utils/adt/ascii.o utils/adt/quote.o
utils/adt/pgstatfuncs.o utils/adt/encode.o utils/adt/dbsize.o
utils/adt/genfile.o utils/adt/trigfuncs.o utils/adt/tsginidx.o
utils/adt/tsgistidx.o utils/adt/tsquery.o utils/adt/tsquery_cleanup.o
utils/adt/tsquery_gist.o utils/adt/tsquery_op.o utils/adt/tsquery_rewrite.o
utils/adt/tsquery_util.o utils/adt/tsrank.o utils/adt/tsvector.o
utils/adt/tsvector_op.o utils/adt/tsvector_parser.o utils/adt/txid.o
utils/adt/uuid.o utils/adt/windowfuncs.o utils/adt/xml.o
utils/cache/attoptcache.o utils/cache/catcache.o utils/cache/inval.o
utils/cache/plancache.o utils/cache/relcache.o utils/cache/relmapper.o
utils/cache/spccache.o utils/cache/syscache.o utils/cache/lsyscache.o
utils/cache/typcache.o utils/cache/ts_cache.o utils/error/assert.o
utils/error/elog.o utils/fmgr/dfmgr.o utils/fmgr/fmgr.o utils/fmgr/funcapi.o
utils/hash/dynahash.o utils/hash/hashfn.o utils/hash/pg_crc.o
utils/init/globals.o utils/init/miscinit.o utils/init/postinit.o
utils/mb/encnames.o utils/mb/conv.o utils/mb/mbutils.o utils/mb/wchar.o
utils/mb/wstrcmp.o utils/mb/wstrncmp.o utils/misc/guc.o
utils/misc/help_config.o utils/misc/pg_rusage.o utils/misc/ps_status.o
utils/misc/superuser.o utils/misc/tzparser.o utils/misc/rbtree.o
utils/mmgr/aset.o utils/mmgr/mcxt.o utils/mmgr/portalmem.o
utils/resowner/resowner.o utils/sort/logtape.o utils/sort/tuplesort.o
utils/sort/tuplestore.o utils/time/combocid.o utils/time/tqual.o
utils/time/snapmgr.o utils/fmgrtab.o ../../src/timezone/localtime.o
../../src/timezone/strftime.o ../../src/timezone/pgtz.o
../../src/port/libpgport_srv.a -Wl,-bE:../../src/backend/postgres.imp -lld
-lm -o postgres
ld: 0711-317 ERROR: Undefined symbol: .mbstowcs_l
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
collect2: ld returned 8 exit status
gmake[2]: *** [postgres] Error 1
gmake[2]: Leaving directory `/data/pkgs/postgresql-9.1.0/src/backend'
gmake[1]: *** [all-backend-recurse] Error 2
gmake[1]: Leaving directory `/data/pkgs/postgresql-9.1.0/src'
gmake: *** [all-src-recurse] Error 2


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: mit <mit(at)akamit(dot)com>
Cc: Pg Bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #6585: Can't compile from source code
Date: 2012-04-12 18:29:52
Message-ID: 1334254932-sup-3474@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs


Excerpts from mit's message of jue abr 12 14:37:48 -0300 2012:
> The following bug has been logged on the website:
>
> Bug reference: 6585
> Logged by: Andrey Mitroshin
> Email address: mit(at)akamit(dot)com
> PostgreSQL version: 9.1.3
> Operating system: AIX 7.1.0
> Description:
>
> This affects versions from 9.0.0
> Version 8.4.7 is not affected
> gcc -v
> Using built-in specs.
> COLLECT_GCC=gcc
> COLLECT_LTO_WRAPPER=/opt/freeware/libexec/gcc/powerpc-ibm-aix7.1.0.0/4.6.3/lto-wrapper
> Target: powerpc-ibm-aix7.1.0.0
> Configured with: ../gcc-4.6.3/configure --with-as=/usr/bin/as
> --with-ld=/usr/bin/ld --enable-languages=c,c++,fortran
> --prefix=/opt/freeware --mandir=/opt/freeware/man
> --infodir=/opt/freeware/info --enable-threads
> --enable-version-specific-runtime-libs --disable-nls
> --enable-decimal-float=dpd --host=powerpc-ibm-aix7.1.0.0

> ld: 0711-317 ERROR: Undefined symbol: .mbstowcs_l

Hmm. It seems we use HAVE_WCSTOMBS_L as a hint that both mbstowcs_l and
wcstombs_l are present. I guess it's most common that both exist
simultaneously, but perhaps it's not impossible that AIX only has
wcstombs_l and not mbstowcs_l.

Or it could just be a missing linker flag.

--
Álvaro Herrera <alvherre(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: mit(at)akamit(dot)com
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6585: Can't compile from source code
Date: 2012-04-12 19:55:01
Message-ID: 463.1334260501@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

mit(at)akamit(dot)com writes:
> Operating system: AIX 7.1.0
> While compiling from source the following error stops the compilation
> process

> ld: 0711-317 ERROR: Undefined symbol: .mbstowcs_l

Hm. Our configure script assumes that if wcstombs_l() is available then
mbstowcs_l() is too. Is that not the case on AIX? It would be pretty
bizarre if not.

regards, tom lane


From: John R Pierce <pierce(at)hogranch(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6585: Can't compile from source code
Date: 2012-04-12 20:10:47
Message-ID: 4F8736C7.3030200@hogranch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

On 04/12/12 10:37 AM, mit(at)akamit(dot)com wrote:
> The following bug has been logged on the website:
>
> Bug reference: 6585
> Logged by: Andrey Mitroshin
> Email address:mit(at)akamit(dot)com
> PostgreSQL version: 9.1.3
> Operating system: AIX 7.1.0
> Description:
>
> This affects versions from 9.0.0
> Version 8.4.7 is not affected
> gcc -v
> Using built-in specs.
> COLLECT_GCC=gcc
> COLLECT_LTO_WRAPPER=/opt/freeware/libexec/gcc/powerpc-ibm-aix7.1.0.0/4.6.3/lto-wrapper
> Target: powerpc-ibm-aix7.1.0.0
> Configured with: ../gcc-4.6.3/configure --with-as=/usr/bin/as
> --with-ld=/usr/bin/ld --enable-languages=c,c++,fortran
> --prefix=/opt/freeware --mandir=/opt/freeware/man
> --infodir=/opt/freeware/info --enable-threads
> --enable-version-specific-runtime-libs --disable-nls
> --enable-decimal-float=dpd --host=powerpc-ibm-aix7.1.0.0
> Thread model: aix
> gcc version 4.6.3 (GCC)

for what its worth, I've had no issues building on AIX 6.1 using IBM
XLC. I'm not connected to the build machine at the moment, so I'd have
to dig to find my build instructions (and, of course, XLC is a $$$
compiler).

--
john r pierce N 37, W 122
santa cruz ca mid-left coast


From: Andrey Mitroshin <mit(at)akamit(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6585: Can't compile from source code
Date: 2012-04-13 08:06:09
Message-ID: 20120413120107@akamit.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

But 9.0.7 compiles fine. 8.4.11 too.

On Thu, Apr 12, 2012 at 03:55:01PM -0400, Tom Lane wrote:
> mit(at)akamit(dot)com writes:
> > Operating system: AIX 7.1.0
> > While compiling from source the following error stops the compilation
> > process
>
> > ld: 0711-317 ERROR: Undefined symbol: .mbstowcs_l
>
> Hm. Our configure script assumes that if wcstombs_l() is available then
> mbstowcs_l() is too. Is that not the case on AIX? It would be pretty
> bizarre if not.
>
> regards, tom lane

--
С Уважением,
Андрей.


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrey Mitroshin <mit(at)akamit(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6585: Can't compile from source code
Date: 2012-04-13 18:53:47
Message-ID: 4885.1334343227@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

Andrey Mitroshin <mit(at)akamit(dot)com> writes:
> But 9.0.7 compiles fine. 8.4.11 too.

That's fairly irrelevant, since the code that wants to use wcstombs_l()
and mbstowcs_l() is new in 9.1 (it's part of COLLATE-clause support).

regards, tom lane