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.

RTOS/TM4C129ENCPDT: build of wolfssl fails

Part Number: TM4C129ENCPDT
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

HI,

I have tried a couple of attempts at installing CCS, tirtos and wolfssl but both have failed. The first attempt, I installed the latest ver (7.0) of CCS, the tivacware, tirtos 2.16.01.14, and wolfssl 3.10. Followed the wolfssl build instructions at the following: http://processors.wiki.ti.com/index.php/Using_wolfSSL_with_TI-RTOS#Targets

Set up the wolfssl\tirtos\products.mak as directed in the wiki. Launched the build using gmake (I'm working on a win7 laptop) in a windows cmd shell. After a lot of console output, an error appeared (I didn't write it down). I searched TI forums and found a discussion from ~2 months ago dealing with the same error. The responder stated that wolfssl hasn't been tested with CCS yet and to switch to wolfssl 3.9.6.

I downloaded that and repeated the steps on the wiki. Got the following error: 

Gmake: *** No rule to make target ‘uf’ stop.

 

(note that the u has an ^ character above it in the console output).

After a couple of hours of poking around the forums, decided to try switching from  CCS 7 to 6.2.

Installed into C:\ti\ccs620. Moved wolfssi from ccs7 over to c:\ti\ccsv6\ folder.

 

After getting this to run, dug into the TM4C129ED_UG, p. 23 states tirtos v2.14.00.10 or later will work with the demo board IoT app, with any wolfssl ver from 3.6.6 onwards. However, in the CCS Resource Explorer, only shows TI-RTOS for Tivac ver v2.16.00.08. So which should I use? Lets try downloading the one that CCS 6.2 is pointing to, into c:\ti\ccs620. Downloaded from here:

http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/tirtos/index.html

 

However, there is a note on the above page to download/install via CCS AppCenter. Opened App Cntr and searched tirtos – was directed to go into Resource Explorer. There is a tirtos for tivaC there – used the download arrow icon on the right of the page – started download/installed. Said it was saving to desktop – got installed into   C:\ti\tirex-content. Why/how I have no clue.

 

After install, a window popped up regarding dependencies - directing to select xdctools-3.32.00.06.

Note that there is already a xdctools-3.32.01.22_core in the ccs620 folder. Select OK – started another download.

 

Installed to C:\ti\tirex-content. Another window opened asking to install new products, tirtos and xdctools.

 

After it did its install, asked to restart CCS.

 

Try leaving wolfssl where I have it now, in c:\ti\ccs620

 

After edit of products.mak in C:\ti\ccs620\wolfssl\tirtos, from this folder, run build:

 

..\..\..\tirex-content\xdctools_3_32_00_06_core\gmake.exe –f wolfssl.mak all

 

Resulted in same error as before:   Gmake: *** No rule to make target ‘uf’ stop.

No clue what to do about this, I've exhausted all the searches I can think of on the forums. Hope someone can help?

Thank you.

 

  • Update:

    After all of the above, I tried to repeat the build in the CCS 7 install (what I had started with) expecting to recover the error message that sent me down the path to switch from the 3.10 wolfssl to the 3.9.6 version.  However, now I only get the  Gmake: *** No rule to make target ‘uf’ stop  (BTW: I tried to insert a screen capture of the console but for some reason, the "Paste from Word" does not work in my environment).


    I have searched several variations of this error but have not found any info on what might cause this. Maybe something in my environment (for CCS7) has changed since the build no longer begins?

  • Can you attach or copy-paste your products.mak file that you edited?

    Also, it might help to see your wolfssl.mak file as well to make sure I see what you're actually using, please attach or cut-paste.

    Regards,

    - Rob

  • HI Rob,


    I just attached (I think) the two file you requested - used the insert/attach media icon but that rejected when I tried to post. So I've copied the content from the two files:

    #  ======== products.mak ========
    #
    #
    # Read the processors.wiki.ti.com/.../Using_wolfSSL_with_TI-RTOS
    # for instructions to download the software required.

    #set XDCTOOLS_JAVA_HOME = C:/ti/ccsv6/eclipse/jre

    # XDC_INSTALL_DIR is the path to XDCtools directory.
    XDC_INSTALL_DIR        = C:/ti/tirex-content/xdctools_3_32_00_06_core

    # BIOS_INSTALL_DIR is the path to TI-RTOS Kernel (SYS/BIOS) directory. If you
    # have installed TI-RTOS, it is located in the products/bios_* path.
    BIOS_INSTALL_DIR       = C:/ti/tirex-content/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29

    # NDK_INSTALL_DIR is the path to TI-RTOS NDK directory. If you have
    # installed TI-RTOS, it is located in the products/ndk_* path.
    NDK_INSTALL_DIR        = C:/ti/tirex-content/tirtos_tivac_2_16_00_08/products/ndk_2_25_00_09

    # TIVAWARE_INSTALL_DIR is the path to Tivaware driverlib directory. If you have
    # installed TI-RTOS, it is located in the products/TivaWare_* path.
    TIVAWARE_INSTALL_DIR   = C:/ti/tirex-content/tirtos_tivac_2_16_00_08/products/TivaWare_C_Series-2.1.1.71b

    # Define the code generation tools path for TI, IAR and GCC ARM compilers.
    # If you have installed Code Composer Studio, the TI and GCC compiler are
    # located in the ccsv*/tools/compiler/* path.
    #
    # Leave assignment empty to disable any toolchain.
    ti.targets.arm.elf.M4F = C:/ti/CCS620/ccsv6/tools/compiler/arm_15.12.3.LTS
    iar.targets.arm.M4F    =
    gnu.targets.arm.M4F    =

    -------------------------------------------------------------------------------------------------------------------------------------------------

    #  ======== wolfssl.mak ========
    #
    include ./products.mak

    # Enable older TI-RTOS 2.14-based variables
    ifeq ($(BIOS_INSTALL_DIR),)
        BIOS_INSTALL_DIR=$(SYSBIOS_INSTALL_DIR)
    endif
    ifeq ($(TIVAWARE_INSTALL_DIR),)
        TIVAWARE_INSTALL_DIR=$(TIVAWARE)
    endif

    WOLFSSL_INSTALL_DIR=$(CURDIR)/../

    #
    # Set XDCARGS to some of the variables above.  XDCARGS are passed
    # to the XDC build engine... which will load wolfssl.bld... which will
    # extract these variables and use them to determine what to build and which
    # toolchains to use.
    #
    # Note that not all of these variables need to be set to something valid.
    # Unfortunately, since these vars are unconditionally assigned, your build line
    # will be longer and more noisy than necessary.
    #
    # Some background is here:
    #     rtsc.eclipse.org/.../Command_-_xdc
    #
    XDCARGS= \
        ti.targets.arm.elf.M4F=\"$(ti.targets.arm.elf.M4F)\" \
        gnu.targets.arm.M4F=\"$(gnu.targets.arm.M4F)\" \
        iar.targets.arm.M4F=\"$(iar.targets.arm.M4F)\" \
        NDK=\"$(NDK_INSTALL_DIR)\"

    #
    # Set XDCPATH to contain necessary repositories.
    #
    XDCPATH = $(BIOS_INSTALL_DIR)/packages;$(NDK_INSTALL_DIR)/packages;$(WOLFSSL_INSTALL_DIR);$(TIVAWARE_INSTALL_DIR)
    export XDCPATH

    #
    # Set XDCOPTIONS.  Use -v for a verbose build.
    #
    #XDCOPTIONS=v
    export XDCOPTIONS

    #
    # Set XDC executable command
    # Note that XDCBUILDCFG points to the wolfssl.bld file which uses
    # the arguments specified by XDCARGS
    #
    XDC = $(XDC_INSTALL_DIR)/xdc XDCARGS="$(XDCARGS)" XDCBUILDCFG=./wolfssl.bld

    ######################################################
    ## Shouldnt have to modify anything below this line ##
    ######################################################

    all:
     @ echo building wolfssl packages ...
     @ $(XDC) -Pr ./packages

    clean:
     @ echo cleaning wolfssl packages ...
     @ $(XDC) clean -Pr ./packages

    -------------------------------------------------------------------------------------------------------------------------------------------------

    I've checked and rechecked the paths in the products.mak and all appear to match installed locations.


    Thank you for taking a look.

  • Update #2:

    After poking around StackExchange, tried two things:

    1) Change file/folder permissions to include modify/write for all users. No change, still get same error

    2) Commented out the last two lines in the products.mak file (that had dangling '=') . No change, still get same error

    Also, just to make sure no strange char got inserted into the products.mak file, ran 'type products.mak' in the Win Cmd window. Resulting output looks as expected.

    So I'm still baffled. There has to be a clue in the fact that the first iteration of building wolfssl in the original wolfssl Ver 3.10 and CCS Ver 7 that I had downloaded, ran thru the build process for a fairly long time before stopping on some error with a missing file. Since then, I had switched over to an entirely new ti and wolfssl download/install folders, leaving the original untouched (FAIK), and now re-trying to run the same build in that Ver 7 fails in the same manner as I've consistently got with the second iteration. BTW: running with the CLEAN option (in place of ALL) causes the same error.

  • Thanks for attaching the files, however I don't see anything wrong in them.

    Can you run your 'make' with --debug? This will hopefully show why it's trying to make the non-existent target 'uf'.

    The --debug option can also take particular flags, such as --debug=j or --debug=v. Please try these and reply back with the output.

    Regards,

    - Rob
  • Hi,

    Following lists the output from running gmake with --debug=m, in the following command:
    ..\..\..\tirex-content\xdctools_3_32_00_06_core\gmake.exe --debug=m -f wolfssl.mak all > debug_m.txt

    GNU Make 3.81
    Copyright (C) 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
    PARTICULAR PURPOSE.

    This program built for Windows32
    Reading makefiles...
    Updating makefiles....
    File `GNUmakefile' does not exist.
    Must remake target `GNUmakefile'.
    Failed to remake target file `GNUmakefile'.
    File `makefile' does not exist.
    Must remake target `makefile'.
    Failed to remake target file `makefile'.
    File `Makefile' does not exist.
    Must remake target `Makefile'.
    Failed to remake target file `Makefile'.
    Updating goal targets....
    File `–f' does not exist.
    Must remake target `–f'.

    It sort of looks like the command I am entering, to build with gmake, is not picking up the wolfssl.mak? So I tried the following, replacing the -f filename, with, --makefile=filename. BAM!!! That got it compiling! Not only that, it appears to have completed. I now have in the \ti\ccs620\wolfssl\tirtos\packages\ti\net\wolfssl\lib folder the 4 files that the wolfssl Wiki shows when compile is successful, wolfssl.aem4f, wolfssl.aem4f.mak, wolfssl_tm4c_hw.aem4f, wolfssl_tm4c_hw.aem4f.mak.


    Thank you again for your time and help.

    ES.
  • Wow, never would've expected that as the issue. And you're even using the XDC-supplied gmake.exe. We use -f <makefile> all the time.

    Thanks for letting us know how you fixed it.

    Regards,

    - Rob