[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: findutils 4.6.0 v. Tru64 (strftime() v. "%F"?)
From: |
Steven M. Schweda |
Subject: |
Re: findutils 4.6.0 v. Tru64 (strftime() v. "%F"?) |
Date: |
Fri, 26 May 2017 12:35:42 -0500 (CDT) |
From: Eric Blake <address@hidden>
> > On AIX, "man strftime" doesn't mention "%F", and the build failed:
> [...]
> > ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_lock
> > ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_unlock
> > ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_destroy
> > ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_init
> [...]
> > Manually (re-)linking with "-lpthread" worked:
> [...]
>
> Weird. I don't know if fixing findutils to use gnulib's nstrftime() will
> still need to pull in -lpthread on that platform; if so, that will be a
> gnulib patch to write. I guess we'll find out, once someone contributes
> the fix to use nstrftime in the first place.
I may be able to save you the wait. I know nothing, but my guess
would be that they're unrelated. The salient (-looking, to me) part of
the AIX loadmap says:
ld: 0711-318 ERROR: Undefined symbols were found.
The following symbols are in error:
Symbol Inpndx TY CL Source-File(Object-File) OR
Import-File{Shared-object}
RLD: Address Section Rld-type Referencing Symbol
----------------------------------------------------------------------------------------------
.pthread_mutex_lock [302] ER PR regex.c(../gl/lib/libgnulib.a[regex.o])
0000bac8 .text R_RBR [6581]
.rpl_regexec
0000bb6c .text R_RBR [6581]
.rpl_regexec
0000ffa8 .text R_RBR [9195]
<.re_search_stub>
.pthread_mutex_unlock [304] ER PR regex.c(../gl/lib/libgnulib.a[regex.o])
0000bb0c .text R_RBR [6581]
.rpl_regexec
00010180 .text R_RBR [9195]
<.re_search_stub>
00010250 .text R_RBR [9195]
<.re_search_stub>
.pthread_mutex_destroy [308] ER PR regex.c(../gl/lib/libgnulib.a[regex.o])
0000bc10 .text R_RBR [6598]
.rpl_regfree
0000efc0 .text R_RBR [8189]
<.re_compile_internal>
0000f740 .text R_RBR [8189]
<.re_compile_internal>
.pthread_mutex_init [346] ER PR regex.c(../gl/lib/libgnulib.a[regex.o])
0000ebf8 .text R_RBR [8189]
<.re_compile_internal>
gl/lib/regex_internal.h seems to be where the thread-related stuff is
determined.
On AIX, HP-UX, and Solaris, config.h says:
#define USE_POSIX_THREADS 1
On Tru64:
/* #undef USE_POSIX_THREADS */
I haven't done enough with threads to care about who needs to specify
a separate thread library (but AIX 6.1 seems to be one such), and I
didn't watch these builds closely enough to see who did anything special
with the link (when it worked). But, if it'd be helpful, then I should
be able to fire up the antiques again, and look more closely at what
gets done where. I'd've figured that the autoconfig jive would've dealt
with such details, but what do I know? (Of course, I'd also have
guessed that Tru64 had support for POSIX threads, but someone clearly
disagrees.)
On the HP-UX system (which is up at the moment), I see only
-lm -lm -lm
which differs from the AIX:
-lintl -lm -lm
so the autoconfig jive seems to be trying to do something "auto" with
these things.
------------------------------------------------------------------------
Steven M. Schweda address@hidden