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