Android does not have pthread_rwlock*, npth wants them
Hans-Christoph Steiner
hans at guardianproject.info
Sat Feb 25 18:28:35 CET 2012
Here's my update on this:
It seems that in 2.1.0-git, dirmngr cannot work without npth's pthread_rwlock_* functionality, so I am skipping dirmngr for now. If I #ifdef out the pthread_rwlock_* stuff in npth, then I can get gpg-agent to build and run. And openldap builds fine using ./configure --without-threads.
Next up for me is getting the gnupg/tests running as part of the automated builds.
.hc
On Feb 24, 2012, at 7:53 PM, Hans-Christoph Steiner wrote:
>
> More Android porting fun! The good news is that I have working builds
> for the whole thing, but working in a limited way. The build is also
> repeatable and even automated. Once I get everything working, I'll also
> add in the gnupg tests to the automated builds:
>
> https://build.safermobile.org/job/gnupg-for-android/
>
> So now the problem at hand is more missing pthread symbols:
>
> libnpth.so: undefined reference to `pthread_rwlock_rdlock'
> libnpth.so: undefined reference to `pthread_rwlock_timedwrlock'
> libnpth.so: undefined reference to `pthread_rwlock_timedrdlock'
> libnpth.so: undefined reference to `pthread_rwlock_wrlock'
> libnpth.so: undefined reference to `pthread_rwlock_trywrlock'
> libnpth.so: undefined reference to `pthread_rwlock_tryrdlock'
>
> The attached patch to npth gave me a libnpth.so that made gpg-agent
> happy enough to run. dirmngr still doesn't run because libldap.so also
> has the pthread_rwlock_* symbols, but I think I can solve that by using
> ./configure --without-threads in openldap.
>
> .hc
> <npth-android-fixes.patch>
----------------------------------------------------------------------------
I hate it when they say, "He gave his life for his country." Nobody gives their life for anything. We steal the lives of these kids. -Admiral Gene LeRocque
More information about the Gnupg-devel
mailing list