Tool/software: TI C/C++ Compiler
Hi,
I have downloaded TI compiler version v17.9.0.STS for Linux from: software-dl.ti.com/codegen/non-esd/downloads/download.htm#ARM and ran on a testing machine running Fedora 27. Unfortunately, the installer hangs after (probably) successfully finishing the installation (at least the logfile says it was successful).
I have run the installer via: ./ti_cgt_tms470_17.9.0.STS_linux_installer_x86.bin --mode unattended --prefix ~/projects/MSP432_Firmware/ti/ , the target directory seems to be populated properly.
Since the whole thing seemed to hang, I have re-run it with strace and found that the installer creates 6 children. 1 Process exits successfully with 0, 1 hangs during
_newselect(4, [3], [], [], NULL
and the remaining ones hang during futex(). The end of the strace log of the main process looks like this:
openat(AT_FDCWD, "/tmp/bitrock_installer.log", O_RDONLY|O_LARGEFILE) = 5
openat(AT_FDCWD, "/home/dan/projects/MSP432_Firmware/ti/ti-cgt-arm_17.9.0.STS/ti_cgt_tms470_17.9.0.STS_linux-64_installer_install.log", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0100744) = 8
# a lot of read(5, ...), write(8, ...) omitted
write(8, "S/include/_mutex.h\nUnpacking /ho"..., 3410) = 3410
read(5, "", 4096) = 0
close(5) = 0
close(8) = 0
chmod("/home/dan/projects/MSP432_Firmware/ti/ti-cgt-arm_17.9.0.STS/ti_cgt_tms470_17.9.0.STS_linux-x64_installer_install.log", 0744) = 0
utime("/home/dan/projects/MSP432_Firmware/ti/ti-cgt-arm_17.9.0.STS/ti_cgt_tms470_17.9.0.STS_linux-x64_installer_install.log", {actime=1515414054 /* 2018-01-08T13:20:54+0100 */, modtime=1515414065 /* 2018-01-08T13:21:05+0100 */}) = 0
lstat64("/tmp/bitrock_installer.log", {st_mode=S_IFREG|0744, st_size=109906, ...}) = 0
unlink("/tmp/bitrock_installer.log") = 0
lstat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/dan", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
access("/home/dan/.bitrock-multicd", F_OK) = -1 ENOENT (No such file or directory)
fcntl64(7, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fcntl64(7, F_SETFL, O_RDONLY|O_LARGEFILE) = 0
close(7) = 0
fcntl64(6, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fcntl64(6, F_SETFL, O_RDONLY|O_LARGEFILE) = 0
close(6) = 0
fcntl64(2, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fcntl64(2, F_SETFL, O_RDWR|O_LARGEFILE) = 0
fcntl64(1, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fcntl64(1, F_SETFL, O_RDWR|O_LARGEFILE) = 0
fcntl64(0, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fcntl64(0, F_SETFL, O_RDWR|O_LARGEFILE) = 0
futex(0xf6734aec, FUTEX_WAIT_PRIVATE, 8, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0xf6734aec, FUTEX_WAIT_PRIVATE, 12, NULL
It looks like the main process tries to acquire a lock, but the action fails with EAGAIN which blocks the whole thread. Unfortunately that is all I was able to find out. I can provide the full strace output for all processes if requested (it is quite large, around 18 MB in total).