Skip to content

Cross compiled OpenSSL and Curl android dependencies are not "installed"  #995

Open
@dschmitt007

Description

@dschmitt007

What platform/OS are you using?

OSX 10.13.6 (and Ubuntu 16.04)

What compiler are you using? what version?

Clang 6.0.2 via Android NDK r17c
(with some modifications to pass the right args & guess the version correctly)

What's your CMake arguments?

export BUILD_ABI=arm64-v8a
export EXTRA_AWS_OPTIONS=" -DTARGET_ARCH=ANDROID -DANDROID_ABI=$BUILD_ABI "
cmake
-DCMAKE_INSTALL_PREFIX=$INSTALL_DIR
-DCMAKE_RULE_MESSAGES:BOOL=OFF
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
-DBUILD_SHARED_LIBS:BOOL=OFF
-DFORCE_SHARED_CRT:BOOL=OFF
$EXTRA_AWS_OPTIONS
-DBUILD_ONLY='logs;core;iam;access-management;identity-management;cognito-identity;cognito-idp;s3;kinesis;sts'
$PROJECTHOME/aws-sdk-cpp "

Can you provide a TRACE level log? (sanitize any sensitive information)

After taring up the install directory, when moving to another machine linking against the installed files fails with:

/opt/work/test/../aws-sdk-cpp/lib/libaws-cpp-sdk-core.a(CryptoImpl.cpp.o): In function Aws::Utils::Crypto::OpenSSL::init_static_state()': CryptoImpl.cpp:(.text._ZN3Aws5Utils6Crypto7OpenSSL17init_static_stateEv+0xc): undefined reference to ERR_load_CRYPTO_strings'
CryptoImpl.cpp:(.text._ZN3Aws5Utils6Crypto7OpenSSL17init_static_stateEv+0x10): undefined reference to `OPENSSL_add_all_algorithms_noconf'

And a bunch more, and some curl references.

The root cause appears to be that the libcurl.a and libssl.a live in the build directory and make install doesn't put the dependencies where aws can find them.

It would be nice if make install could install the special built components required (they exist in the build directory, but would prefer not to archive that.)
aws-sdk-cpp/external/curl/lib/libcurl.a
aws-sdk-cpp/external/openssl/lib/libssl.a
aws-sdk-cpp/external/openssl/lib/libcrypto.a
aws-sdk-cpp/external/zlib/lib/libz.a

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestA feature should be added or improved.p2This is a standard priority issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions