This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

can't find the library 'lib/http_ndk_wolfssl.aem4f' to build secure_iot for ek-tm4c129exl, Where is "http_ndk_wolfssl.aem4f"?

Other Parts Discussed in Thread: EK-TM4C129EXL, TM4C129ENCPDT, SYSBIOS

  •  secure_iot example
  • ek-tm4c129exl 
  • CCS for Linux
  • installed tirtos_tivac_2_14_04_31
  • build wolfssl(3.8.0)libreries
  • build certificate.h
  • add include path to compiler
  • add linker path libreries wolfssl


I want to correct this error:

**** Build of configuration Debug for project secure_iot ****

/home/vruno/ti/ccsv6/utils/bin/gmake -k all
Building file: ../secure_iot.cfg
Invoking: XDCtools
"/home/vruno/ti/xdctools_3_31_01_33_core/xs" --xdcpath="/home/vruno/ti/tirtos_tivac_2_14_04_31/packages;/home/vruno/ti/tirtos_tivac_2_14_04_31/products/bios_6_42_03_35/packages;/home/vruno/ti/tirtos_tivac_2_14_04_31/products/ndk_2_24_03_35/packages;/home/vruno/ti/tirtos_tivac_2_14_04_31/products/uia_2_00_02_39/packages;/home/vruno/ti/ccsv6/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.M4F -p ti.platforms.tiva:TM4C129ENCPDT -r release -c "/home/vruno/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.5" --compileOptions "-mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me --include_path=\"/home/vruno/wolfssl-3.8.0\" --include_path=\"/home/vruno/ti/xdctools_3_31_01_33_core\" --include_path=\"/home/vruno/ti/tirtos_tivac_2_14_04_31/products/bios_6_42_03_35\" --include_path=\"/home/vruno/ti/tirtos_tivac_2_14_04_31/products/ndk_2_24_03_35\" --include_path=\"/home/vruno/ti/tirtos_tivac_2_14_04_31/products/uia_2_00_02_39\" --include_path=\"/home/vruno/ti/tirtos_tivac_2_14_04_31/products/TivaWare_C_Series-2.1.1.71b\" -g --gcc --define=NET_NDK --define=ccs=\"ccs\" --define=PART_TM4C129ENCPDT --define=ccs --define=TIVAWARE --define=WOLFSSL_TIRTOS --display_error_number --diag_warning=225 --diag_wrap=off --gen_func_subsections=on " "../secure_iot.cfg"
configuring secure_iot.xem4f from package/cfg/secure_iot_pem4f.cfg ...
generating custom ti.sysbios library makefile ...
js: "/home/vruno/ti/xdctools_3_31_01_33_core/packages/xdc/cfg/Main.xs", line 48: XDC runtime error: can't find the library 'lib/http_ndk_wolfssl.aem4f' specified by package ti.net.http. It wasn't found along the path '/home/vruno/ti/tirtos_tivac_2_14_04_31/packages;/home/vruno/ti/tirtos_tivac_2_14_04_31/products/bios_6_42_03_35/packages;/home/vruno/ti/tirtos_tivac_2_14_04_31/products/ndk_2_24_03_35/packages;/home/vruno/ti/tirtos_tivac_2_14_04_31/products/uia_2_00_02_39/packages;/home/vruno/ti/ccsv6/ccs_base;/home/vruno/ti/xdctools_3_31_01_33_core/packages;..;'.
gmake: *** [package/cfg/secure_iot_pem4f.xdl] Error 1
gmake: *** Deleting file `package/cfg/secure_iot_pem4f.xdl'
gmake: *** [package/cfg/secure_iot_pem4f.xdl] Deleting file `package/cfg/secure_iot_pem4f.h'
gmake: *** [package/cfg/secure_iot_pem4f.xdl] Deleting file `package/cfg/secure_iot_pem4f.c'
js: "/home/vruno/ti/xdctools_3_31_01_33_core/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
making ../src/sysbios/sysbios.aem4f ...
gmake[1]: Entering directory `/home/vruno/Documents/secure_iot/src/sysbios'
gmake[1]: Nothing to be done for `all'.
gmake: Target `all' not remade because of errors.
gmake[1]: Leaving directory `/home/vruno/Documents/secure_iot/src/sysbios'

**** Build Finished ****

  • Hello Bruno,

    Did you follow the instructions on this WiKi to build the wolfSSL libraries? If you build these libraries then most likely you won't see this issue.

    Please note that the "secure_iot" demo is not compatible with latest versions of TI-RTOS (v2.16.00.08) and wolfSSL (v 3.8.0). I am working on releasing a new version in a couple of weeks. In the mean time, if required, I will try my best to help in getting the existing version of "secure_iot" demo to work.

    Thanks,

    Sai

  • Thanks Sai for you answer,

    Did you follow the instructions on this WiKi to build the wolfSSL libraries? yes, I did it. I got "wolfssl.aem4f" and "wolfssl_tm4c_hw.aem4f", I add path's to linker

    Could you help me with link of version WolfSSL v3.6.6


    Thanks,
  • Hello Bruno,

    I believe the fact that you are using woflSSL v3.8.0 with TI-RTOS v 2.14.04.31 is causing the issue. wolfSSL v3.6.8 should work with this version of TI-RTOS.

    I am not authorized to release software from wolfSSL. It would be best if you can request this directly from woflSSL. Their contact page is here: www.wolfssl.com/.../Contact.html

    Thanks,
    Sai
  • Hi Sai,

    Versions was the problem. The example worked with tirtos_tivac_2_14_00_10 and wolfssl-3.6.6. I downloaded wolfssl-3.6.6 from Github 

    Thanks for all, the example is working

  • Sai,

    do you have the updated version of the secure_iot demo for the current version of wolfssl?

    If not, when do you expect it to be released?

    Thanks, best regards

    Massimo

  • Hello Massimo,

    I am pretty close to releasing it. I am doing the final round of testing. I hope to release the demo in 1 to 2 weeks. I will post an update on this thread in about a weeks time.

    Thanks for your patience!

    Regards,
    Sai
  • Hi Sai,

    any news about new release? I look out it eagerly.

    Regards,

    Petr

  • Sorry for the delay in response.

    Testing the application on TI network causes the application to stop after a fixed time due to security configuration on TI network. This issue was not noticed on non-TI network.

    It appears that the security configuration of TI network may have been modified lately, as this issue has been noticed with the current version of the Secure IoT Demo (v1.0.0.7), which was not seen on earlier testing.

    This might not be an issue with most networks but we are working on identifying the root cause of the issue. If this issue is caused by a standard security practice, then we will update the application to handle such a scenario.

    In the meantime, we have developed a patch for the Secure IoT Demo v1.0.0.7 (the one currently on TI website), that will enable the “Secure IoT Demo v1.0.0.7” to build with the latest version of TI-RTOS (v2.16.00.08) and wolfSSL (v3.8.0).

    The patch is attached with this post. To apply the patch:

    • First install the “Secure IoT Demo”.
    • Then extract the contents of the attached zip file into the "Secure IoT Demo" installation folder. By default this location is C:/ti/ek-tm4c129exl. So the patch would be extracted into the folder C:/ti/ek-tm4c129exl/patch-1.0.0.7-1.
    • The patch has a file “PatchReadme.txt”, which has detailed instruction on how to apply this patch.

    Thanks,

    Sai

    patch-1.0.0.7-1.zip

  • Hi Sai,

    thank you for upgrade, works well with Wolfssl-3.9.0.

    Regards, Petr

  • Hello Petr,

    Thanks for confirming!

    Regards,
    Sai
  • Workin' on it, Sai. So far, no joy: Attempting to build against WolfSSL 3.11.1
  • Hello Sai - and thanks for your patch. Have been following this with some interest, as am still unable to build the Out-of-Box secure_iot demo for the  EK-TM4C129EXL.

    Have followed your patch instructions explicitly...

    CCSv7 is installed, with TivaWare 2.16.00.08

    Have built WolfSSL-3.8.0 - no problem - on macOS v10.12.4 (cannot build WolfSSL-3.9.0-STABLE, nor anything newer, but this is a separate question!)

    patch-1.0.0.7 files replaced into secure_iot source tree

    In Settings:
    ARM Linker/File Search Path includes path to wolfssl_tm4c_hw.aem4f
    C/C++ Paths and Symbols
    - includes path to wolfssl-3.8.0     ( 'built' tree )

    The secure_iot demo stumbles only on inability to find sys/socket.h

    I've reviewed your earlier notes about functions having been deprecated (in TivaWare? or in the demo itself?)

    Would you expect (your patched) version of this demo to build as packaged, or is the implcation that developer should manually override the deprecated calls?

    >> Compilation failure
    subdir_rules.mk:28: recipe for target 'cloud_task.obj' failed
    "/Userspace/ti/tirtos_tivac_2_16_00_08/products/ns_1_11_00_10/packages/ti/net/socket.h", line 62: fatal error #1965: cannot open source file "sys/socket.h"
    1 catastrophic error detected in the compilation of "../cloud_task.c".
    Compilation terminated.
    gmake: *** [cloud_task.obj] Error 1
    Building file: ../command_task.c
    Invoking: ARM Compiler
    "/Applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me --include_path="/Applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/include" --include_path="/Users/drlou/ti/tirtos_tivac_2_16_00_08/products/TivaWare_C_Series-2.1.1.71b" --include_path="/Users/drlou/ti/tirtos_tivac_2_16_00_08/products/ndk_2_24_03_35/packages/ti/ndk/inc/bsd" --include_path="/Users/drlou/ti/wolfssl-3.8.0" -g --gcc --define=NET_NDK --define=ccs="ccs" --define=PART_TM4C129ENCPDT --define=ccs --define=TIVAWARE --define=WOLFSSL_TIRTOS --diag_wrap=off --diag_warning=225 --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="command_task.d" --cmd_file="configPkg/compiler.opt" "../command_task.c"
    
    >> Compilation failure
    subdir_rules.mk:35: recipe for target 'command_task.obj' failed
    "/Userspace/ti/tirtos_tivac_2_16_00_08/products/ns_1_11_00_10/packages/ti/net/socket.h", line 62: fatal error #1965: cannot open source file "sys/socket.h"
    1 catastrophic error detected in the compilation of "../command_task.c".
    Compilation terminated.
    gmake: *** [command_task.obj] Error 1
    
    >> Compilation failure
    subdir_rules.mk:42: recipe for target 'ntp_time.obj' failed
    "/Userspace/ti/tirtos_tivac_2_16_00_08/products/ndk_2_25_00_09/packages/ti/ndk/nettools/sntp/sntp.h", line 258: fatal error #1965: cannot open source file "sys/socket.h"
    1 catastrophic error detected in the compilation of "../ntp_time.c".
    Compilation terminated.
    gmake: *** [ntp_time.obj] Error 1

  • Hello Sai - and thanks for your patch. Have been following this with some interest, as am still unable to build the Out-of-Box secure_iot demo for the  EK-TM4C129EXL.

    Have followed your patch instructions explicitly...

    CCSv7 is installed, with TivaWare 2.16.00.08

    Have built WolfSSL-3.8.0 - no problem - on macOS v10.12.4 (cannot build WolfSSL-3.9.0-STABLE, nor anything newer, but this is a separate question!)

    patch-1.0.0.7 files replaced into secure_iot source tree

    In Settings:
    ARM Linker/File Search Path includes path to wolfssl_tm4c_hw.aem4f
    C/C++ Paths and Symbols
     - includes path to wolfssl-3.8.0     ( 'built' tree )

    The secure_iot demo stumbles only on inability to find sys/socket.h

    I've reviewed your earlier notes about functions having been deprecated (in TivaWare? or in the demo itself?)

    Would you expect (your patched) version of this demo to build as packaged, or is the implication that developer should manually override the deprecated calls?

    Perhaps related? How to change the built-in value of path to XDC tools? Should this project be using:
    xdctools_3_50_01_12_core - or
    xdctools_3_32_00_06_core ??

    ( apologies that this was incorrectly posted - first - to the wrong thread. )

    >> Compilation failure
    subdir_rules.mk:28: recipe for target 'cloud_task.obj' failed
    "/Userspace/ti/tirtos_tivac_2_16_00_08/products/ns_1_11_00_10/packages/ti/net/socket.h", line 62: fatal error #1965: cannot open source file "sys/socket.h"
    1 catastrophic error detected in the compilation of "../cloud_task.c".
    Compilation terminated.
    gmake: *** [cloud_task.obj] Error 1
    Building file: ../command_task.c
    Invoking: ARM Compiler
    "/Applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me --include_path="/Applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/include" --include_path="/Users/drlou/ti/tirtos_tivac_2_16_00_08/products/TivaWare_C_Series-2.1.1.71b" --include_path="/Users/drlou/ti/tirtos_tivac_2_16_00_08/products/ndk_2_24_03_35/packages/ti/ndk/inc/bsd" --include_path="/Users/drlou/ti/wolfssl-3.8.0" -g --gcc --define=NET_NDK --define=ccs="ccs" --define=PART_TM4C129ENCPDT --define=ccs --define=TIVAWARE --define=WOLFSSL_TIRTOS --diag_wrap=off --diag_warning=225 --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="command_task.d" --cmd_file="configPkg/compiler.opt" "../command_task.c"
    
    >> Compilation failure
    subdir_rules.mk:35: recipe for target 'command_task.obj' failed
    "/Userspace/ti/tirtos_tivac_2_16_00_08/products/ns_1_11_00_10/packages/ti/net/socket.h", line 62: fatal error #1965: cannot open source file "sys/socket.h"
    1 catastrophic error detected in the compilation of "../command_task.c".
    Compilation terminated.
    gmake: *** [command_task.obj] Error 1
    
    >> Compilation failure
    subdir_rules.mk:42: recipe for target 'ntp_time.obj' failed
    "/Userspace/ti/tirtos_tivac_2_16_00_08/products/ndk_2_25_00_09/packages/ti/ndk/nettools/sntp/sntp.h", line 258: fatal error #1965: cannot open source file "sys/socket.h"
    1 catastrophic error detected in the compilation of "../ntp_time.c".
    Compilation terminated.
    gmake: *** [ntp_time.obj] Error 1
  • Hello LouEEE,

    From your messages above it looks like you are using the following packages. Can you confirm if my understanding is right?
    * wolfSSL v3.8.0
    * TI-RTOS v2.16.00.08
    * Code Composer Studio v7
    * Secure Iot Demo v

    I haven't tested TI-RTOS v2.16.00.08 with CCS v7. It's possible that CCS v7 has some compatibility breaks that are not part of TI-RTOS v2.16.00.08.

    If you are using CCS v7, then use the latest TI-RTOS (I had used v2.16.00.08 and it works) and wolfSSL v3.8.0 or above.

    Before building the application please read
    * the "Readme.txt" from the patch (if the patch is applied correctly, the Readme.txt in the "secure_iot" folder would have been updated)
    * the following wiki, especially the section "Build Instructions" which has special instruction for wolfSSL v3.8.0 or later: processors.wiki.ti.com/.../Using_wolfSSL_with_TI-RTOS

    The wolfSSL has to be built again for every new version of TI-RTOS - don't forget to clean before building again. Once the wolfSSL is built, please verify that the libraries are generated in the location <WOLFSSL_INSTALL_ROOT>/tirtos/packages/ti/net/wolfSSL/lib/.

    Please follow the Readme.txt carefully. The application should build without any errors.

    Thanks,
    Sai
  • Sai, Thanks for your quick reply. I am eager to get even the simplest testing of these TI products accomplished...

    YES, all correct:

    Can you confirm if my understanding is right?
    * wolfSSL v3.8.0
    * TI-RTOS v2.16.00.08
    * Code Composer Studio v7
    * Secure Iot Demo v (spmc022-1.0.0.7, with your patch applied, manually...)

    Patch batch file would not run without syntax errors; hand-copied all files into the source tree.

    I stil think the part of my question on changing the CCSv7 built-in xdctools variable is likely(?) relevant:

    Following instructions, I linked WolfSSL tools to latest CCSv7 XDC Tools - xdctools_3_50_01_12_core.

    However, CCSv7 seems committed to XDC_CG_ROOT = xdctools_3_32_00_06_core, and I am not smart enough to know how to change it!!

    ( Should I? )

    Gonna now try a rebuild of WolfSSL against xdctools_3_32_00_06_core...

    OK, tested against clean rebuild of WolfSSL-3.8.0, with: XDC_INSTALL_DIR = /Applications/ti/xdctools_3_32_00_06_core

    >> Compilation failure
    subdir_rules.mk:28: recipe for target 'cloud_task.obj' failed
    "/Userspace/ti/tirtos_tivac_2_16_00_08/products/ns_1_11_00_10/packages/ti/net/socket.h", line 62: fatal error #1965: cannot open source file "sys/socket.h"
    1 catastrophic error detected in the compilation of "../cloud_task.c".
    Compilation terminated.
    gmake: *** [cloud_task.obj] Error 1
    "/Userspace/ti/tirtos_tivac_2_16_00_08/products/ns_1_11_00_10/packages/ti/net/socket.h", line 62: fatal error #1965: cannot open source file "sys/socket.h"
    1 catastrophic error detected in the compilation of "../command_task.c".
    Compilation terminated.
    gmake: *** [command_task.obj] Error 1
    "/Userspace/ti/tirtos_tivac_2_16_00_08/products/ndk_2_25_00_09/packages/ti/ndk/nettools/sntp/sntp.h", line 258: fatal error #1965: cannot open source file "sys/socket.h"
    1 catastrophic error detected in the compilation of "../ntp_time.c".
    Compilation terminated.
    gmake: *** [ntp_time.obj] Error 1

    And, finally: THE SOLUTION! Somewhere along the line (did this version change?) - I have tirtos_tivac_2_16_00_08/products/ndk_2_25_00_09 - not the older version referenced in the project's include options.

    Thanks for sticking with this, Sai.

  • Hello LouEEEE,

    Looks like you solved this problem (inferred from a new thread started by you).

    Could you please post the solution that worked for you so that others can benefit from your experience?

    Thanks,
    Sai
  • I did!

    Solution: Was that, somewhere along the line, ( I must have? ) updated my Tiva 'products' ndk to version ndk_2_25_00_09.

    The Project's Include options were still referencing an older version of ndk, and my tired, late-night eyes were not catching it...

    Have used a lot of other dev environments - command line remains my preferred! - but am new to CCSv7; even to Eclipse.