Back to Quectel.com

EC25 azure iot sdk

Hello I am trying to build azure iot sdk for my custom EC25 board. I am using the ql-ol-crosstool from ql-ol-sdk for cross compiling the sdk. When I try to compile the SDK ,it crashes due to openssl missing. I am assuming that the native system root of the sdk doesnt have openssl. So please let me know how to solve it.

Thanks,
rajas

Error log:
ubuntu@acevin:~$ source ql-ol-sdk/ql-ol-crosstool/ql-ol-crosstool-env-init
QUECTEL_PROJECT_NAME =EC25E
QUECTEL_PROJECT_REV =EC25EFAR06A01M4G_OPCU_01.001.06
ubuntu@acevin:~$ cd Source/azure-iot-sdk-c/build_all/
ubuntu@acevin:~/Source/azure-iot-sdk-c/build_all$ cd linux/
ubuntu@acevin:~/Source/azure-iot-sdk-c/build_all/linux$ ./build.sh
~/Source/azure-iot-sdk-c/cmake ~/Source/azure-iot-sdk-c/build_all/linux
Generating Build Files
– The C compiler identification is GNU 4.9.2
– The CXX compiler identification is GNU 4.9.2
– Check for working C compiler: /home/ubuntu/ql-ol-sdk/ql-ol-crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc
– Check for working C compiler: /home/ubuntu/ql-ol-sdk/ql-ol-crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc – works
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Detecting C compile features
– Detecting C compile features - done
– Check for working CXX compiler: /home/ubuntu/ql-ol-sdk/ql-ol-crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++
– Check for working CXX compiler: /home/ubuntu/ql-ol-sdk/ql-ol-crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++ – works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Detecting CXX compile features
– Detecting CXX compile features - done
– IoT Client SDK Version = 1.8.0
– Looking for include file stdint.h
– Looking for include file stdint.h - found
– Looking for include file stdbool.h
– Looking for include file stdbool.h - found
– target architecture: ARM
– Performing Test CXX_FLAG_CXX11
– Performing Test CXX_FLAG_CXX11 - Success
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY) (found
version “1.1.1”)
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.10/Modules/FindOpenSSL.cmake:379 (find_package_handle_standard_args)
c-utility/CMakeLists.txt:116 (find_package)

– Configuring incomplete, errors occurred!
See also “/home/ubuntu/Source/azure-iot-sdk-c/cmake/CMakeFiles/CMakeOutput.log”.
See also “/home/ubuntu/Source/azure-iot-sdk-c/cmake/CMakeFiles/CMakeError.log”.
ubuntu@acevin:~/Source/azure-iot-sdk-c/build_all/linux$

Hi
Please follow the instructions below
1.Download the latest version of openssl
2. Unzip
tar xvf openssl-1.1.1g.tar.gz
3. Enter the unzipped directory
cd openssl-1.1.1g/

./config no-asm shared --prefix=$(pwd)/__install

/*

no-asm: Does not use assembly code to speed up the compilation process during the cross-compilation process, because its assembly code does not support the arm format.

shared: Generate a dynamic link library.

–prefix: Specify the path of the generated directory after make install. If this item is not modified, it will default to the OPENSSLDIR directory (/usr/local/ssl).

*/
4. Modify Makefile
The compilation tool is changed to arm-none-linux-gnueabi-gccimage
image
5. Compile the openssl library
make

  1. Copy the compiled library file to the specified directory
    make install

As shown in the figure:


7. Copy __install/bin/openssl to module /usr/bin, copy __install/lib/libcrypto.so.1.1 and libssl.so.1.1 to module i /usr/lib
8.test
openssl versionimage