Closed davidshen84 closed 7 years ago
Thank you for your job 👍
@davidshen84
Did you test your commit ?
build-openssl4android.sh
and build-curl4android.sh
not work on my computer
My Env:
MacBook Pro (Retina, 15-inch, Late 2013)
android-ndk-r13b
Xcode 8.2
Yes, it works here. What's the error?
On Thu, Jan 5, 2017, 17:05 leenjewel notifications@github.com wrote:
@davidshen84 https://github.com/davidshen84
Did you test your commit ?
build-openssl4android.sh and build-curl4android.sh not work on my computer
My Env:
MacBook Pro (Retina, 15-inch, Late 2013)
android-ndk-r13b
Xcode 8.2
— You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/leenjewel/openssl_for_ios_and_android/pull/2#issuecomment-270595841, or mute the thread https://github.com/notifications/unsubscribe-auth/AAEAzUUCax_ablQaRE_N7gVGC42S_Hu0ks5rPLJPgaJpZM4LbSCL .
@davidshen84
For example
You change build-openssl4android.sh
ARCHS=("android" "android-armv7" "android64-arm64" "android-x86" "android-x86_64" "mips" "mips64")
but openssl Configure
not support these archs, If you run
openssl/Configure -h
You could see archs like
pick os/compiler from:
BS2000-OSD BSD-generic32 BSD-generic64 BSD-ia64 BSD-sparc64 BSD-sparcv8
BSD-x86 BSD-x86-elf BSD-x86_64 Cygwin Cygwin-i386 Cygwin-i486 Cygwin-i586
Cygwin-i686 Cygwin-x86 Cygwin-x86_64 DJGPP MPE/iX-gcc OS390-Unix QNX6
QNX6-i386 UEFI UWIN VC-CE VC-WIN32 VC-WIN64A VC-WIN64A-masm VC-WIN64I aix-cc
aix-gcc aix64-cc aix64-gcc android android-armeabi android-mips android-x86
android64 android64-aarch64 bsdi-elf-gcc cc darwin-i386-cc darwin-ppc-cc
darwin64-debug-test-64-clang darwin64-ppc-cc darwin64-x86_64-cc dist gcc
haiku-x86 haiku-x86_64 hpux-ia64-cc hpux-ia64-gcc hpux-parisc-cc
hpux-parisc-gcc hpux-parisc1_1-cc hpux-parisc1_1-gcc hpux64-ia64-cc
hpux64-ia64-gcc hpux64-parisc2-cc hpux64-parisc2-gcc hurd-x86 ios-cross
ios64-cross iphoneos-cross irix-mips3-cc irix-mips3-gcc irix64-mips4-cc
irix64-mips4-gcc linux-aarch64 linux-alpha-gcc linux-aout linux-arm64ilp32
linux-armv4 linux-c64xplus linux-elf linux-generic32 linux-generic64
linux-ia64 linux-mips32 linux-mips64 linux-ppc linux-ppc64 linux-ppc64le
linux-sparcv8 linux-sparcv9 linux-x32 linux-x86_64 linux-x86_64-clang
linux32-s390x linux64-mips64 linux64-s390x linux64-sparcv9 mingw mingw64
nextstep nextstep3.3 purify qnx4 sco5-cc sco5-gcc solaris-sparcv7-cc
solaris-sparcv7-gcc solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc
solaris-sparcv9-gcc solaris-x86-gcc solaris64-sparcv9-cc solaris64-sparcv9-gcc
solaris64-x86_64-cc solaris64-x86_64-gcc tru64-alpha-cc tru64-alpha-gcc
uClinux-dist uClinux-dist64 unixware-2.0 unixware-2.1 unixware-7
unixware-7-gcc vms-alpha vms-alpha-p32 vms-alpha-p64 vms-ia64 vms-ia64-p32
vms-ia64-p64 vos-gcc vxworks-mips vxworks-ppc405 vxworks-ppc60x vxworks-ppc750
vxworks-ppc750-debug vxworks-ppc860 vxworks-ppcgen vxworks-simlinux debug
debug-erbridge debug-linux-ia32-aes debug-linux-pentium debug-linux-ppro
debug-test-64-clang
@davidshen84
另外环境变量在我这似乎会相互污染。。。。
如果我一个一个架构的去编译似乎没什么问题,比如
./build-curl4android.sh android-x86
./build-curl4android.sh mips
......
但是如果我直接
./build-curl4android.sh
执行到一半,编译了几个架构的包之后就挂了,然后看报错会发现 TOOL 这个变量的值乱了,比如明明在编译 mips 架构的时候,TOOL 的值还是刚刚编译 x86_64 时候的值。
For the ARCHS
value, I remember I saw a conflict when I try to merge your HEAD into my, and I blindly accepted yours, cause I never changed it. And the build failed here as well. I will fix it.
For the TOOL
value, I saw you use export
a lot. I guess the environment will get polluted at some point. But it does not bother me for now. Are you sure you did not have similar issue before? My refactor did not change the original code flow or logic, simply moving code around.
@davidshen84
openssl 和 curl 我重新 build 了一遍,总结一下目前的三个问题
1、ARCHS 那个设置的值是 openssl 不支持的,这个我已经改回原来的了,一会儿提交
2、单独一个一个 arch 来 build 的没问题的,但是直接用脚本里的循环构建的话就会失败,另外,我这是 zshell (zsh) 是不是这个原因?
3、protobuf 的那个构建脚本我这边报错,没办法成功构建,报错如下
make all-recursive
make[1]: Entering directory `/Users/leenjewel/workspaces/openssl_for_ios_and_android/tools/protobuf-3.1.0'
Making all in .
make[2]: Entering directory `/Users/leenjewel/workspaces/openssl_for_ios_and_android/tools/protobuf-3.1.0'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/Users/leenjewel/workspaces/openssl_for_ios_and_android/tools/protobuf-3.1.0'
Making all in src
make[2]: Entering directory `/Users/leenjewel/workspaces/openssl_for_ios_and_android/tools/protobuf-3.1.0/src'
/usr/local/bin/protoc -I. --cpp_out=. google/protobuf/any_test.proto google/protobuf/compiler/cpp/cpp_test_bad_identifiers.proto google/protobuf/map_lite_unittest.proto google/protobuf/map_proto2_unittest.proto google/protobuf/map_unittest.proto google/protobuf/unittest_arena.proto google/protobuf/unittest_custom_options.proto google/protobuf/unittest_drop_unknown_fields.proto google/protobuf/unittest_embed_optimize_for.proto google/protobuf/unittest_empty.proto google/protobuf/unittest_enormous_descriptor.proto google/protobuf/unittest_import_lite.proto google/protobuf/unittest_import.proto google/protobuf/unittest_import_public_lite.proto google/protobuf/unittest_import_public.proto google/protobuf/unittest_lite_imports_nonlite.proto google/protobuf/unittest_lite.proto google/protobuf/unittest_mset.proto google/protobuf/unittest_mset_wire_format.proto google/protobuf/unittest_no_arena_lite.proto google/protobuf/unittest_no_arena_import.proto google/protobuf/unittest_no_arena.proto google/protobuf/unittest_no_field_presence.proto google/protobuf/unittest_no_generic_services.proto google/protobuf/unittest_optimize_for.proto google/protobuf/unittest_preserve_unknown_enum2.proto google/protobuf/unittest_preserve_unknown_enum.proto google/protobuf/unittest.proto google/protobuf/unittest_proto3_arena.proto google/protobuf/unittest_proto3_arena_lite.proto google/protobuf/unittest_proto3_lite.proto google/protobuf/unittest_well_known_types.proto google/protobuf/util/internal/testdata/anys.proto google/protobuf/util/internal/testdata/books.proto google/protobuf/util/internal/testdata/default_value.proto google/protobuf/util/internal/testdata/default_value_test.proto google/protobuf/util/internal/testdata/field_mask.proto google/protobuf/util/internal/testdata/maps.proto google/protobuf/util/internal/testdata/oneofs.proto google/protobuf/util/internal/testdata/proto3.proto google/protobuf/util/internal/testdata/struct.proto google/protobuf/util/internal/testdata/timestamp_duration.proto google/protobuf/util/internal/testdata/wrappers.proto google/protobuf/util/json_format_proto3.proto google/protobuf/util/message_differencer_unittest.proto google/protobuf/compiler/cpp/cpp_test_large_enum_value.proto
google/protobuf/any_test.proto:31:10: Unrecognized syntax identifier "proto3". This parser only recognizes "proto2".
make[2]: *** [unittest_proto_middleman] Error 1
make[2]: Leaving directory `/Users/leenjewel/workspaces/openssl_for_ios_and_android/tools/protobuf-3.1.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/Users/leenjewel/workspaces/openssl_for_ios_and_android/tools/protobuf-3.1.0'
make: *** [all] Error 2
这个你再看看
实在不好意思,英文确实不怎么行,中文回复了,再次对你做的表示感谢~合作愉快!
zsh
too. I am testing the build script.@davidshen84
3、I have install protobuf on my OS
My zsh output:
➜ openssl_for_ios_and_android git:(master) ✗ protoc --version
libprotoc 3.1.0
➜ openssl_for_ios_and_android git:(master) ✗
For batch build not working, I think it is my fault :(
I set ANDROID_API=16
, but I did not test it. It is failed because for 64 bit archs, the minimum should be 21
For the protobuf
one...I don't think I have seen a before. I will try to reproduce it.
Thanks!
Nice!wait for your commit request, Have a good day!
I made the following updates for android related build script.
make_standalone_toolchain.py
script to setup the toolchain.build-protobuf4android.sh
to build Google's protobuf._shared.sh
file.clang
, I have not find a good solution yet..gitingore
to ignore build results.