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.

Rebuilding NDK 2.2 issue - "The directory name is invalid"

I'm stuck on trying to rebuild my NDK 2.20.03.24. I followed the "Rebuilding the NDK core" guide at http://processors.wiki.ti.com/index.php/Rebuilding_the_NDK_Core.

Everything is great until the actual Project>Rebuild All, when I get this error:

Error launching builder (C:/ccsv4/xdctools_3_20_06_81/xdc all )
(Exec error:The directory name is invalid.
)

 

This path most definitely works and I can copy/paste the path from the error msg into a command shell and run the xdc there without issue.

In the Problems windows in CCS 4, I see:

 

Severity and Description    Path    Resource    Location    Creation Time    Id
Error launching external scanner info generator (gcc -E -P -v -dD C:/work/fourth_workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp)        ndk_core_build    Unknown    1294265415391    0

 

I am not sure if this is related to the invalid dirname error.

 

I made sure the NDK itself is in a pathname that has no spaces, although some of the tools directories have spaces (this is also the case in the aforementioned guide).

 

I am using  CCS v4.2.1 on WinXP.

 

Here is my config.bld, if that helps:

----------

 

//var bios5path = "C:/Program Files/Texas Instruments/bios_5_41_05_20/packages";
var bios6path = "C:/Program Files (x86)/Texas Instruments/bios_6_31_02_23/packages";

/* location of Code Generation Tools */
var rootDir = "C:/Program\ Files\ (x86)/Texas\ Instruments/ccsv4/tools/compiler/c6000"
var rootDirArm = "C:/Program\ Files/Texas\ Instruments/ccsv4/tools/compiler/tms470"

var tiTargets = xdc.loadPackage('ti.targets');
var elfTargets = xdc.loadPackage('ti.targets.elf');
var armElfTargets = xdc.loadPackage('ti.targets.arm.elf');

var c6xSuffix = "-mi10 -mo -pdr -pden -pds=238 -pds=880 -pds1110 ";

/* TI targets we use */
tiTargets.C64P.rootDir           = rootDir;
tiTargets.C64P.ccOpts.prefix = "-mv6400+ -o2 -ms2";

tiTargets.C64P_big_endian.rootDir               = rootDir;
tiTargets.C64P_big_endian.ccOpts.prefix = "-mv6400+ -o2 -ms2";

tiTargets.C674.rootDir       = rootDir;
tiTargets.C674.ccOpts.suffix = c6xSuffix;

tiTargets.C674_big_endian.rootDir = rootDir;
tiTargets.C674_big_endian.ccOpts.suffix = "-mv6740 " + c6xSuffix;

/* ELF targets */
armElfTargets.Arm9.rootDir = rootDirArm;
armElfTargets.Arm9.ccOpts.prefix += " -ms";

armElfTargets.A8F.rootDir = rootDirArm;
armElfTargets.A8F.ccOpts.prefix += " -ms";

elfTargets.C66.rootDir = rootDir;
elfTargets.C66.ccOpts.suffix = c6xSuffix;
elfTargets.C66.ccOpts.suffix += "--embed_inline_assembly ";

elfTargets.C66_big_endian.rootDir = rootDir;
elfTargets.C66_big_endian.ccOpts.suffix = c6xSuffix;
elfTargets.C66_big_endian.ccOpts.suffix += "--embed_inline_assembly ";

Build.targets = [
    tiTargets.C64P,
//    tiTargets.C64P_big_endian,

//    tiTargets.C674,
//    tiTargets.C674_big_endian,
//    armElfTargets.Arm9,

//    armElfTargets.A8F,

//    elfTargets.C66,
//    elfTargets.C66_big_endian,
];

var commonDir = "ti/ndk/buildutils/";
var ndkPath = "$(PKGROOT)/ti/ndk/";

/* Configure the NDK Release Version Information */
var ndkReleaseVersion = [2,20,00];

/* Include Path */
var ndkPathInclude = " -i" + ndkPath + "/inc" + " -i" + ndkPath + "/inc/tools";

-----

 

Peter

 

  • Can you include screenshots of the actual errors? That might help in figuring out where they're coming from.

    Thanks,

    Chris

  • Hi Chris,

     

    I did actually post the error. It is:

     

    Error launching builder (C:/ccsv4/xdctools_3_20_06_81/xdc all )
    (Exec error:The directory name is invalid.
    )

     

     

    This is the only error that Eclipse shows. Is there a way to dig deeper in Eclipse to see what's causing this?

     

    If I change the build command to anything (ie. sleep, or some obviously accessible command like that), I get the same error. This makes me think it's a problem with Eclipse configuration but I'm not sure where to look.

     

    Thanks, Peter

  • Are there any ideas on what is happening here?

     

    I've tried circumventing Eclipse, and just compiling directly from the command-line, which I assume should work, as Eclipse is just calling xdc to do the build.

     

    If I run xdc in the ndk/packages/ti/ndk directory, I get:

    C:\ccsv4\custom_ndk_2_20_08_24\packages\ti\ndk>xdc all
    making package.mak (because of package.bld) ...
    js: "./config.bld", line 60: XDC runtime error: ti.targets.arm.elf: no property named 'A8F'
    making package.mak (because of package.bld) ...
    js: "./config.bld", line 60: XDC runtime error: ti.targets.arm.elf: no property named 'A8F'
    all files complete.

     

    Any ideas?

     

  • Peter,
    is it possible that you have multiple XDCtools installations? You might be finding an older installation that does not have the A8F target. What's the content of your Path environment variable?

    You can also try using the full path to 3.20.06.81 XDCtools on the command line and check if you get the same error:
    C:/ccsv4/xdctools_3_20_06_81/xdc all

  • Hi Peter,

    This is a known bug that you are running into, which causes problems when trying to resolve the environment variables used in the ndk core rebuild project.  The workaround is to specify the paths to XDCtools and NDK explicitly, without using the environment variables.  For example, the below screen shot should help you.

    Once you've updated the project, hit "rebuild all" and it should not give you that error any more.

    Regarding the missing A8F target, please respond to the forum if you are still seeing this after making the updates to the project.  The A8F target should exist in xdctools_3_20_06_81

    Steve

  • Hi Sasha,

     

    Yes you are correct that my path was pointing to an old XDC, as I was trying to build NDK 2.1 previously.

     

    The question remains why I can built within Eclipse. Why is Eclipse not able to run "xdc all", or any other command that I put in the build setttings?

     

    Peter

  • Peter,

     

    Actually I made a mistake in the above screen shot.  The screen shot shows the full path to the original NDK installation.  This is incorrect, as the instructions state that a copy of the NDK installation should be used for rebuilding, so as to preserve the originally shipped libraries.

     

    So, you should change the path in "Build Directory" to point to the copy of the NDK.

    Steve

  • Peter,

    I've updated the wiki page to inform users how to work around this problem.

    Steve

  • Thanks Steve! And it's good to see the wiki is being kept up to date.

     

    Peter

  • Hi, All.

    How are you??

    If you don't mind, I have something to ask you.

    Which is how to compile NDK package (ndk_2_22_02_16)?

    I did like below but it failed.

    Please check it for me. 

    c:\ti\ndk_2_22_02_16>gmake -f ndk.mak
    building ndk packages ...
    making all: Wed Nov 13 18:00:25 2013 ...
    ======== .interfaces [./packages/ti/ndk] ========
    ======== .interfaces [./packages/ti/ndk/config] ========
    ======== .interfaces [./packages/ti/ndk/hal/eth_stub] ========
    ======== .interfaces [./packages/ti/ndk/hal/ser_stub] ========
    ======== .interfaces [./packages/ti/ndk/hal/timer_bios] ========
    ======== .interfaces [./packages/ti/ndk/hal/userled_stub] ========
    ======== .interfaces [./packages/ti/ndk/netctrl] ========
    ======== .interfaces [./packages/ti/ndk/nettools] ========
    ======== .interfaces [./packages/ti/ndk/os] ========
    ======== .interfaces [./packages/ti/ndk/productview] ========
    ======== .interfaces [./packages/ti/ndk/rov] ========
    ======== .interfaces [./packages/ti/ndk/stack] ========
    ======== .interfaces [./packages/ti/ndk/tools/cgi] ========
    ======== .interfaces [./packages/ti/ndk/tools/console] ========
    ======== .interfaces [./packages/ti/ndk/tools/hdlc] ========
    ======== .interfaces [./packages/ti/ndk/tools/servers] ========
    .interfaces files complete: Wed Nov 13 18:00:32 2013.
    ======== .libraries [./packages/ti/ndk] ========
    ======== .libraries [./packages/ti/ndk/config] ========
    ======== .libraries [./packages/ti/ndk/hal/eth_stub] ========
    cle66 package/package_ti.ndk.hal.eth_stub.c ...
    process_begin: CreateProcess(NULL, C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/bi
    n/cl6x -c -qq -pdsw225 -mv6600 --abi=eabi -eo.oe66 -ea.se66 -mi10 -mo -pdr -pden
    -pds=238 -pds=880 -pds1110 -ms2 -Dxdc_target_name__=C66 -Dxdc_target_types__=ti
    /targets/elf/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_ -O2 -I../../../..
    /ti/ndk//inc -I../../../../ti/ndk//inc/tools -I. -IC:/ti/bios_6_35_04_50/package
    s -IC:/ti/xdctools_3_23_04_60/packages -I../../../.. -IC:/ti/ccsv5/tools/compile
    r/c6000_7.4.4/bin/include -fs=./package/lib/lib/hal_eth_stub/package -fr=./packa
    ge/lib/lib/hal_eth_stub/package -fc package/package_ti.ndk.hal.eth_stub.c, ...)
    failed.
    make (e=2): 지정된 파일을 찾을 수 없습니다.
    gmake[1]: *** [package/lib/lib/hal_eth_stub/package/package_ti.ndk.hal.eth_stub.
    oe66] Error 2
    xdctools_3_23_04_60\gmake.exe: *** [packages/ti/ndk/hal/eth_stub,.libraries] Err
    or 2
    gmake: *** [all] Error 2

    c:\ti\ndk_2_22_02_16>

    How can I compile this and solve this problem??

    Thanks, Ryan.