Thread: Réf. : Re: R?f. : Re: v8 on AIX5.2

Réf. : Re: R?f. : Re: v8 on AIX5.2

From
frederic.germaneau@bull.net
Date:
Thanks for your help,

I haven't tested with cc_r but with VisualAge C from IBM , and "configure
CC=/usr/vac/bin/cc --enable-thread-safety" works fine.

But when compiling, link edition fails, "ld" doesn't find threads entries
(like pthreads_mutex_lock...).

Each compilation that have failed was launched without any option for
multithreading.

I have tried to launch it with "-lpthreads" option, and that works fine.

When investigating, I have found that AIX5.2 (and 5.3) has a new library
named libthread.a (not present on AIX5.1 where compilation OK) . Maybe this
new threads library introduced for sunOs compatibility disturbs
"configure"?

With "configure CC=/usr/vac/bin/cc CFLAGS="-lpthreads"
--enable-thread-safety", compilation is OK.

I have launched "gmake check" and 1 of the 96 tests fails:
$ more
/postgres_util/postgresql-8.0.0beta2/src/test/regress/regression.diffs
*** ./expected/geometry.out     Fri Oct 31 21:07:07 2003
--- ./results/geometry.out      Mon Sep 27 11:45:58 2004
***************
*** 117,123 ****
          | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)
          | (-5,-12)   | [(1,2),(3,4)]                 | (1,2)
          | (10,10)    | [(1,2),(3,4)]                 | (3,4)
!         | (0,0)      | [(0,0),(6,6)]                 | (-0,0)
          | (-10,0)    | [(0,0),(6,6)]                 | (0,0)
          | (-3,4)     | [(0,0),(6,6)]                 | (0.5,0.5)
          | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)
--- 117,123 ----
          | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)
          | (-5,-12)   | [(1,2),(3,4)]                 | (1,2)
          | (10,10)    | [(1,2),(3,4)]                 | (3,4)
!         | (0,0)      | [(0,0),(6,6)]                 | (0,0)
          | (-10,0)    | [(0,0),(6,6)]                 | (0,0)
          | (-3,4)     | [(0,0),(6,6)]                 | (0.5,0.5)
          | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)

======================================================================

But I  think that's not bad.

Do you think so?

Frédéric






Bruce Momjian <pgman@candle.pha.pa.us>@postgresql.org sur 09/26/2004
03:10:29 AM

Envoyé par :      pgsql-general-owner@postgresql.org


Pour : Tom Lane <tgl@sss.pgh.pa.us>
cc :   frederic.germaneau@bull.net, pgsql-general@postgresql.org
Objet :     Re: R?f. : Re: [GENERAL] v8 on AIX5.2

Tom Lane wrote:
> frederic.germaneau@bull.net writes:
> > Contents of config.log is:
> > configure:16063: checking for the pthreads library -lpthreads
> > configure:16101: gcc -o conftest -O2 -fno-strict-aliasing
conftest.c
> > -lpth
> > reads  -lz -lreadline -lPW -lgen -lld -lnsl -ldl -lm  >&5
> > In file included from conftest.c:117:
> > /usr/include/pthread.h:556: parse error before `*'
> > /usr/include/pthread.h:559: parse error before `*'
> > /usr/include/pthread.h:563: parse error before `*'
>
> This looks like your version of pthread.h depends on some other system
> header having been included first; but there's not nearly enough
> information here to guess which one(s) it needs.

I wonder if this is the problem:

        # More AIX lossage: must compile with cc_r
        AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC})

This code is from acx_pthread.m4.  I figured any OS that required a
separate compiler for threading was really broken but this might be
needed still for AIX.  I hesitated to propogate this into our code
because it would require a new $(CC) for all thread builds and I didn't
want to go that far unless I had to.

If you set CC=cc_r, does it help?

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania
19073

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend






Re: Réf. : Re: R?f. : Re:

From
Gaetano Mendola
Date:
frederic.germaneau@bull.net wrote:
> Thanks for your help,
>
> I haven't tested with cc_r but with VisualAge C from IBM , and "configure
> CC=/usr/vac/bin/cc --enable-thread-safety" works fine.
>
> But when compiling, link edition fails, "ld" doesn't find threads entries
> (like pthreads_mutex_lock...).
>
> Each compilation that have failed was launched without any option for
> multithreading.
>
> I have tried to launch it with "-lpthreads" option, and that works fine.
>
> When investigating, I have found that AIX5.2 (and 5.3) has a new library
> named libthread.a (not present on AIX5.1 where compilation OK) . Maybe this
> new threads library introduced for sunOs compatibility disturbs
> "configure"?
>
> With "configure CC=/usr/vac/bin/cc CFLAGS="-lpthreads"
> --enable-thread-safety", compilation is OK.
>
> I have launched "gmake check" and 1 of the 96 tests fails:
> $ more
> /postgres_util/postgresql-8.0.0beta2/src/test/regress/regression.diffs
> *** ./expected/geometry.out     Fri Oct 31 21:07:07 2003
> --- ./results/geometry.out      Mon Sep 27 11:45:58 2004
> ***************
> *** 117,123 ****
>           | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)
>           | (-5,-12)   | [(1,2),(3,4)]                 | (1,2)
>           | (10,10)    | [(1,2),(3,4)]                 | (3,4)
> !         | (0,0)      | [(0,0),(6,6)]                 | (-0,0)
>           | (-10,0)    | [(0,0),(6,6)]                 | (0,0)
>           | (-3,4)     | [(0,0),(6,6)]                 | (0.5,0.5)
>           | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)
> --- 117,123 ----
>           | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)
>           | (-5,-12)   | [(1,2),(3,4)]                 | (1,2)
>           | (10,10)    | [(1,2),(3,4)]                 | (3,4)
> !         | (0,0)      | [(0,0),(6,6)]                 | (0,0)
>           | (-10,0)    | [(0,0),(6,6)]                 | (0,0)
>           | (-3,4)     | [(0,0),(6,6)]                 | (0.5,0.5)
>           | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)
>
> ======================================================================
>
> But I  think that's not bad.
>

Ouch. This is the same error already seen on OSX !! Tom Lane modified the
test in order to get rid this from that OS. It's not bad, however now
are two platforms with that glitch.


Regards
Gaetano Mendola