Mar 17 2020
It is my confusion. The API is available. I only looked for symbols in the library.
It is #define-d macro to pthread_cond_*.
For Windows, it is available. I don't know the reason why it has not been available for POSIX.
Mar 16 2020
Mar 12 2020
May 15 2019
While I think that building with GCC 4 on Solaris 11/12 is minor issue, requirement of newer POSIX API (on GNU/Linux) would be a bit serious issue.
I pushed my change to fix this.
May 14 2019
While original npth-1.6 can be compiled with newer gcc (>= 5), we'd say please use CFLAGS+=-std=gnu99 with older gcc, as workaround.
I figured out:
- Removing -D_POSIX_C_SOURCE=200112L works both of gcc 4.9 and gcc 5.5 on Solaris 11.3 (even with -std=c99).
- Then, adding -D_XOPEN_SOURCE=500, gcc 4.9 works, but gcc 5.5 failed by another error (Compiler or options invalid for pre-UNIX 03 X/Open applications and pre-2001 POSIX applications)
- I confirmed gcc 5.5 defaults to -std=gnu99
Thanks for your offer. I have an account for GCC Compiler Farm. I'm trying with gcc211 machine. will back soon.
In case of gcc 4.8 on Solaris, could you please try this patch (instead of configure patch) to see if it works?
It looks like somewhat complicated more. It seems that specifying _POSIX_C_SOURCE=200112L is not good on Solaris with old GCC. Perhaps, it would have no problem with newer gcc (or -std=gnu99 option).
IIUC, -std=c99 won't solve this issue. It is Solaris specific C99 issue.
May 10 2019
It looks like Solaris only needs CFLAGS+=-std=c99. It was added for all programs and libraries listed at https://www.gnupg.org/download/index.html.
Feb 19 2019
Jan 23 2019
Jan 17 2019
OK, it's a libc with no pthread_rwlock_t.
Dec 30 2018
Dec 17 2018
Dec 13 2018
Oct 29 2018
New gpg-error.m4 detects gpgrt-config, too.
And configure supplies --libdir when it invokes gpgrt-config.
For other *.m4 (libassuan, ksba, libgcrypt, ntbtls), it is possible for them to check GPGRT_CONFIG to use gpgrt-config if any.
For npth.m4, it can do that too, with no hard dependency to libgpg-error.
Oct 26 2018
Oct 25 2018
A bit tricky, but this would be good to use gpgrt-config by gpg-error.m4.
I say "tricky", because its name is gpg-error.m4 but it configure GPGRT_CONFIG to access to GPG_ERROR_CONFIG.
It might be good idea to provide libgcrypt.pc in libgcrypt 1.8.x for forward compatibility with libgpg-error 1.33.
Well, I changed my mind. Use of new gpgrt-config requires software update to introduce gpgrt.m4 and update of configure.ac to switch gpgrt from gpg-error, in standard way.
That's too much this time. It's good to defer this change.
OK, I'll change to use gpgrt-config, along with requiring newer version of libgpg-error.
Oct 24 2018
May I suggest to use a (new) gpgrt-config instead of the current name libgpg-error-config. The long term plan is to change the name of the library.
This is the dependency graph:
Jul 16 2018
Jun 20 2018
Jun 18 2018
May 28 2018
May 25 2018
Thanks, that allowed npth to make successfully without the unsatisfied symbols.
Apparently, the check of sem_init function was not done (in config.log).
Could you please make sure to update npth/configure by npth/autogen.sh?
May 24 2018
config.log is attached.
Could you please put the config.log of npth with the patch?
The intention of change is: we need to link -lpthread and -lrt