Re: configure + make fails on AIX due to missing -lpthread

Michael Felt <[email protected]> Thu, 22 Jan 2015 22:55:01 +0100
Newsgroups gmane.comp.version-control.rcs.bugs
Message-ID <CANvxniUdq+56z2FX8uYUpR45wX_AqNMjS8_gOvQKPgA2a_KSkw@mail.gmail.com>
I am off to bed - but what files would you like besides config.log,
Makefile for starts here.

The simple bit is configure determines that it is pthread:posix, adds the
-lpthread to some Makefile arguments, but never includes those in the cc
commands to create the programs.


And I shall rerun everything tomorrow. I shall add the -bnoquiet option and
it shall reveal where the calls to pthread are coming from. Check in the
Makefile - there are variables defined that are never used by cc to link
the programs.

As to previous builds - I have not built it before. I saw it in the
announcements and remember rcs as a program I used over 25 years ago. Been
forced to use cvs and svm pretty much the last 10-15 years - and they have
yet newer systems thought up it seems.



On Thu, Jan 22, 2015 at 7:33 PM, Thien-Thi Nguyen <[email protected]> wrote:

> () Michael Felt <[email protected]>
> () Thu, 22 Jan 2015 17:05:18 +0100
>
>    After the following:
>     ./configure --prefix=/opt --sysconfdir=/var/rcs/etc
>    --sharedstatedir=/var/rcs/com --localstatedir=/var/rcs
>    --mandir=/usr/share/man --infodir=/opt/share/info/rcs
>
>    make proceeds normally until the programs need to 'link' -
>    ident is the first failure:
>
> Thanks for reporting this.  First questions: Was this method
> used for previous versions of GNU RCS?  If not, how were
> previous versions built?
>
>    To succeed, copy/paste then add -lpthread and the command
>    succeeds
>
>    [...]
>
>    cc -qlanglvl=extc89 -qlanglvl=extc99 -qlanglvl=extc99 -g -o ident
>    ident.o libparts.a -L../lib -lgnu
>    ld: 0711-317 ERROR: Undefined symbol: .pthread_setspecific
>    ld: 0711-317 ERROR: Undefined symbol: .pthread_getspecific
>    ld: 0711-317 ERROR: Undefined symbol: .pthread_once
>    ld: 0711-317 ERROR: Undefined symbol: .pthread_key_create
>    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
>    information.
>
> I wonder where those .pthread_* symbols are being referenced.
> RCS is definitely single-threaded.  Maybe something from gnulib?
>
>    Just let me know what else you would like to receive.
>
> Could you please re-run w/o "-lpthread", using those options
> indicated in the error message "to obtain more information"?
> Also, maybe nm(1) can tell where those symbols are referenced.
> E.g., i'd be interested in seeing the output of:
>
>  nm lib/*.o src/*.o src/libparts.a
>
> (I presume AIX nm(1) works similarly to GNU/Linux nm(1); feel
> free to substitute a more appropriate command as you see fit.)
>
> Lastly, could you please also attach config.status and
> lib/config.h (all from the original build, w/o "-lpthread")?
>
> --
> Thien-Thi Nguyen
>    GPG key: 4C807502
>    (if you're human and you know it)
>       read my lisp: (responsep (questions 'technical)
>                                (not (via 'mailing-list)))
>                      => nil
>
config.log (application/octet-stream, 740.1 KB) - not displayed