For a new installed Linux Laptop I tried to install Method R Profiler (and Tools).
But it was not as smooth as expected.
mrprop_wrapper failed with
/opt/mrprof/mrprof_wrapper: line 45: /opt/mrprof-7.1.1.3-linux32/bin/mrprof.exe: No such file or directoryBut the file is there, and it's executable.
So the Error is slightly misleading.
Also strace showed a similar error:
execve("/opt/mrprof-7.1.1.3-linux32/bin/mrprof.exe", ["/opt/mrprof-7.1.1.3-linux32/bin/"...], [/* 62 vars */]) = -1 ENOENT (No such file or directory)but execve(2) is slightly more clear:
ENOENT The file filename or a script or ELF interpreter does not exist, or a shared library needed for the file or interpreter cannot be found
As I'm very sure the file exists, let's check the other possibility:
$ file mrprof.exe mrprof.exe: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked, interpreter \004, strippedThe file is a ELF 32-bit
$ uname -m x86_64The system is 64-bit
$ readelf -l -d mrprof.exe Elf file type is EXEC (Executable file) Entry point 0x804a878 There are 8 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align PHDR 0x000034 0x08048034 0x08048034 0x00100 0x00100 R E 0x4 INTERP 0x000134 0x08048134 0x08048134 0x00013 0x00013 R 0x1 [Requesting program interpreter: /lib/ld-linux.so.2] LOAD 0x000000 0x08048000 0x08048000 0x10a60 0x10a60 R E 0x1000 LOAD 0x011000 0x08059000 0x08059000 0x014e8 0x015c8 RW 0x1000 DYNAMIC 0x011014 0x08059014 0x08059014 0x000f8 0x000f8 RW 0x4 NOTE 0x000148 0x08048148 0x08048148 0x00020 0x00020 R 0x4 GNU_EH_FRAME 0x010a10 0x08058a10 0x08058a10 0x00014 0x00014 R 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4 Dynamic section at offset 0x11014 contains 26 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libnsl.so.1] 0x00000001 (NEEDED) Shared library: [libdl.so.2] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libcrypt.so.1] 0x00000001 (NEEDED) Shared library: [libutil.so.1] 0x00000001 (NEEDED) Shared library: [libpthread.so.0] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x0000000c (INIT) 0x804a3b0 0x0000000d (FINI) 0x8057070 0x00000004 (HASH) 0x8048168 0x00000005 (STRTAB) 0x8049460 0x00000006 (SYMTAB) 0x80487b0 0x0000000a (STRSZ) 2697 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000015 (DEBUG) 0x0 0x00000003 (PLTGOT) 0x8059110 0x00000002 (PLTRELSZ) 592 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x804a160 0x00000011 (REL) 0x804a140 0x00000012 (RELSZ) 32 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffe (VERNEED) 0x804a080 0x6fffffff (VERNEEDNUM) 3 0x6ffffff0 (VERSYM) 0x8049eea 0x00000000 (NULL) 0x0
The required program interpreter is missing:
# ls /lib/ld-linux.so.2 ls: cannot access '/lib/ld-linux.so.2': No such file or directory
Unfortunately, the documentation is slightly unspecific regarding the requirements: glibc 2.14 is met, but in my system only 64 bit by default.
With a glimpse at this part of the installation path mrprof-7.1.1.3-linux32 it should be obvious, but it wasn't for me, and the error-message was not helpful at first stage.
The solution is quite simple. As root:
dpkg --add-architecture i386 apt-get update apt-get install libc6:i386
With this issue solved, the Profiler started, but with incredible tiny fonts. This is a known effect for HiDPI screens. As it's a java- program, one additional line to my profile solves the problem:
export _JAVA_OPTIONS='-Dsun.java2d.uiScale=2'The start screen still looks like a stamp, but the fonts and windows are fine.
At last, I want to start the profiler from any location, not only it's home directory. So the Profiler.sh is extended to
script="$0" WORK_DIR="$(dirname $script)" java -jar "${WORK_DIR}/jlib/com.methodr.profiler.gui.jar" $@(the WORK_DIR related stuff is new.)
All together nothing special, but it can cost some time when you want to use a tool for the first time - probably for urgent reasons - and first have to fix such obstacles.
So it's collected here, to save me some time when I hit it again.
Keine Kommentare:
Kommentar veröffentlichen