Вам нужен суперпользователь priviledges. Если Вы знакомы с sudo
, затем используйте asroot
и tfadmin
для SCO OpenServer и SCO unixware, соответственно.
Поэтому ldd
на самом деле сценарий, который звонит /lib/ld-linux.so.3
с исполняемым файлом как аргумент и LD_TRACE_LOADED_OBJECTS=1
в его среде, таким образом, /lib/ld-linux.so.3
сообщает себя как динамический компоновщик.
Вместо этого можно работать
LD_TRACE_LOADED_OBJECTS=1 /root/M2/M2/StagingArea/armv7l-Linux-Ubuntu-12.04/bin/M2.tmp
непосредственно, в этом случае это будет динамическим компоновщиком, что Вы указали, что это выведет библиотеки и его.
Аргументы:
-Wl,-rpath,/data/data/org.freesoft.Macaulay2/files/lib
-Wl,-rpath,/data/data/org.freesoft.Macaulay2/files/lib/Macaulay2/armv7l-Linux-Ubuntu-12.04/lib
становятся переданными компоновщику от gcc
. Это то, что управляет /data/data
в Вашей заключительной двоичной сборке.
Эти переключатели:
-Wl,--dynamic-linker=/data/data/org.freesoft.Macaulay2/files/lib/ld-linux.so.3
управляют, где найти динамический загрузчик. Двойная проверка, что этот путь:
/data/data/org.freesoft.Macaulay2/files/lib/ld-linux.so.3
фактический файл и не ссылка на /lib/ld-linux.so.3
. По крайней мере, согласно ldd
вывод:
/data/data/org.freesoft.Macaulay2/files/lib/ld-linux.so.3 => /lib/ld-linux.so.3 (0x400aa000)
это, казалось бы, было бы ссылкой.
.interp
раздел двоичного файла ELF, сверитьсяreadelf -l M2.tmp
илиobjdump -s -j .interp M2.tmp
, особенно полезный для кросс-компиляций, когда Ваш хост сборки не может выполнить двоичные файлы. Точно так же.dynamic
раздел (косвенно) перечисляет динамические библиотеки (в.dynstr
), используйтеreadelf
для этого также (это преследует ссылки и печатает названия библиотеки,objdump
просто дает смещения). – mr.spuratic 30.08.2013, 11:56