Closed bigfatbrowncat closed 10 years ago
Thanks for working on this! I also have a fork of conscrypt, since I had to fix a bug which affected https://github.com/TooTallNate/Java-WebSocket: https://github.com/dicej/android-conscrypt.
@joshuawarner32 and I need to do an Avian 1.1 release before we merge the Android changes. After that, I'll pull in everything for Avian, libcore, and conscrypt.
Thank you for your reply! I've made a pull request https://github.com/dicej/android-conscrypt/pull/1
Could you please estimate when will Avian 1.1 be released. Is it planned soon?
Yeah, I'm planning to work on it this weekend and release it soon after that.
And what about my bug: https://github.com/ReadyTalk/avian/issues/342 ? Is it postponed too?
It looks quite simple and harmless for someone who knows Avian core
Haha :) I was thinking about this solution. Yes, that should be satisfactory in the case, but we should realize that the problem of such an incompatibility in Thread class would be a problem...
Would you pull this solution?
I can't pull that commit into master, because it's based on the Android upgrade and will cause a conflict in the master code. It could be backported, but I don't have an easy way to test it with the old Android library right now. If you are able to test it easily, feel free to submit a pull request against the master branch, and I'll try to get it into 1.1. Otherwise, you'll need to wait until after 1.1 when we pull everything else in.
Ok, nothing urgent. I'll be waiting. Thank you.
Where is this file? I don't see it in the pull request.
I have made a mistake. This file is a part of libnativehelper
now (with the original toStringArray.h
and toStringArray.cpp
). I forgot to tell you that. You should clone libnativehelper
too. Please, take it from my repo: https://github.com/bigfatbrowncat/avian-pack.android.libnativehelper
It is the original repo with one commit by @JustAMan.
The file is necessary to make libcore
work on Windows
So what about libnativehelper
? What should I do with it?
I think we should just make avian-pack the main, official repository. Then we can simplify Avian's README.md so it just says to use that instead of checking out everything by hand. I was trying to use it myself on Friday, but I don't have much experience with git submodules. How do I clone all the submodules after I've cloned avian-pack? Can I just run make to build it?
I'll prepare avian-pack
for publishing and then give you all the instructions.
Did you run into anything like this?
build/windows-x86_64-android/AsynchronousCloseMonitor.o: In function `ScopedPthreadMutexLock::ScopedPthreadMutexLock(void**)':
/cygdrive/e/avian/../android/libcore/include/ScopedPthreadMutexLock.h:28: undefined reference to `pthread_mutex_lock'
build/windows-x86_64-android/AsynchronousCloseMonitor.o: In function `ScopedPthreadMutexLock::~ScopedPthreadMutexLock()':
/cygdrive/e/avian/../android/libcore/include/ScopedPthreadMutexLock.h:32: undefined reference to `pthread_mutex_unlock'
build/windows-x86_64-android/org_conscrypt_NativeCrypto.o: In function `locking_function':
/cygdrive/e/avian/build/windows-x86_64-android/android-src/org_conscrypt_NativeCrypto.cpp:1798: undefined reference to `pthread_mutex_lock'
/cygdrive/e/avian/build/windows-x86_64-android/android-src/org_conscrypt_NativeCrypto.cpp:1800: undefined reference to `pthread_mutex_unlock'
build/windows-x86_64-android/org_conscrypt_NativeCrypto.o: In function `id_function':
/cygdrive/e/avian/build/windows-x86_64-android/android-src/org_conscrypt_NativeCrypto.cpp:1805: undefined reference to `pthread_self'
build/windows-x86_64-android/org_conscrypt_NativeCrypto.o: In function `THREAD_setup()':
/cygdrive/e/avian/build/windows-x86_64-android/android-src/org_conscrypt_NativeCrypto.cpp:1815: undefined reference to `pthread_mutex_init'
Hi there, From the logs you've posted it seems you're running stuff under Cygwin. We didn't check Avian under Cygwin, we always worked under MinGW+MSYS, that might explain what you're seeing. 06 окт. 2014 г. 20:41 пользователь "Joel Dice" notifications@github.com написал:
Did you run into anything like this?
build/windows-x86_64-android/AsynchronousCloseMonitor.o: In function
ScopedPthreadMutexLock::ScopedPthreadMutexLock(void**)': /cygdrive/e/avian/../android/libcore/include/ScopedPthreadMutexLock.h:28: undefined reference to
pthread_mutex_lock' build/windows-x86_64-android/AsynchronousCloseMonitor.o: In functionScopedPthreadMutexLock::~ScopedPthreadMutexLock()': /cygdrive/e/avian/../android/libcore/include/ScopedPthreadMutexLock.h:32: undefined reference to
pthread_mutex_unlock' build/windows-x86_64-android/org_conscrypt_NativeCrypto.o: In functionlocking_function': /cygdrive/e/avian/build/windows-x86_64-android/android-src/org_conscrypt_NativeCrypto.cpp:1798: undefined reference to
pthread_mutex_lock' /cygdrive/e/avian/build/windows-x86_64-android/android-src/org_conscrypt_NativeCrypto.cpp:1800: undefined reference topthread_mutex_unlock' build/windows-x86_64-android/org_conscrypt_NativeCrypto.o: In function
id_function': /cygdrive/e/avian/build/windows-x86_64-android/android-src/org_conscrypt_NativeCrypto.cpp:1805: undefined reference topthread_self' build/windows-x86_64-android/org_conscrypt_NativeCrypto.o: In function
THREAD_setup()': /cygdrive/e/avian/build/windows-x86_64-android/android-src/org_conscrypt_NativeCrypto.cpp:1815: undefined reference to `pthread_mutex_init'— Reply to this email directly or view it on GitHub https://github.com/dicej/android-libcore64/pull/11#issuecomment-58047051 .
Right, I am using Cygwin, but I'm building using the MinGW-w64 toolchain, not the native Cygwin toolchain. I don't see any support for Windows threading in org_conscrypt_NativeCrypto.cpp, so I don't see how it could be built and linked with any Windows toolchain. Are you building that file or skipping it?
I don't see any support for Windows threading
Indeed. We use mingw with pthread library inside. I made a tutorial about how to build the project on Windows. Look at the toolchain there: http://bigfatbrowncat.github.io/cross-building/
x86_64-4.9.1-release-posix-seh-rt_v3-rev0.7z
The word "posix" here points to the included Windows version of pthread.
I'm happy to inform you that the patching is done :) Now the new Android class path version seems to work along with Avian on Windows 7, OS X and Linux. There could be bugs (just as always), but we did some basic testing and nothing critical is found.
But unfortunately this pull request contains only a part (the major part) of the changes. We had to make some changes in two other repositories. One of them is Avian itself (pull request https://github.com/ReadyTalk/avian/pull/343). And the other one is the new conscrypt repo. The changes are made in my fork as a part of avian-pack. The conscrypt repo itself is here: https://github.com/bigfatbrowncat/avian-pack.android.external.conscrypt
You may fork this repo as well as you forked libcore. If it's not a good idea, please, let us know.
By the way: the current version of avian-pack builds with all the correct versions of the repositories (you can see them in my GitHub account. Their names start with "avian-pack.")