This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrfjprog wants JLinkARM.dll on linux

First, obviously error message is not correct, dll's are not used on linux. Message should give correct file name instead of prewritten one.

I have installed latest JLink 5.02g. And tried both 32 and 64 bit versions. I tried to see with strace what goes wrong, but it seems to me that nrfjprog reads successfully libjlinkarm_nrf51_nrfjprogdll.so but still decides to fail.

Here is tail of the strace output;

open("/opt/JLink_Linux_V502g_i386/libjlinkarm_nrf51_nrfjprogdll.so", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\20\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=55408, ...}) = 0 mmap(NULL, 2151920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f090bc92000 mprotect(0x7f090bc9f000, 2093056, PROT_NONE) = 0 mmap(0x7f090be9e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7f090be9e000 close(3) = 0 mprotect(0x7f090be9e000, 4096, PROT_READ) = 0 open("/opt/SEGGER/JLink/libnrfjprogdll.so.7", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\20\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=22640, ...}) = 0 mmap(NULL, 2118248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f090ba8c000 mprotect(0x7f090ba91000, 2093056, PROT_NONE) = 0 mmap(0x7f090bc90000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f090bc90000 close(3) = 0 mprotect(0x7f090bc90000, 4096, PROT_READ) = 0 munmap(0x7f090bc92000, 2151920) = 0 munmap(0x7f090bea0000, 2118248) = 0 write(2, "ERROR: JLinkARM.dll load failed."..., 71ERROR: JLinkARM.dll load failed. Try again. If it keeps failing, please) = 71 write(2, "\n", 1 ) = 1 write(2, "ERROR: reinstall latest JLinkARM"..., 57ERROR: reinstall latest JLinkARM.dll from Segger webpage.) = 57 write(2, "\n", 1 ) = 1 exit_group(32) = ?

Related