Как подсунуть процессу собственную libc?

Есть нативная библиотечка под Android, которую я пытаюсь заюзать через JNI на линуксе (ubuntu 18.04). Никаких специфических зависимостей там нет, кроме андроидной libc (bionic).
И при запуске оно пытается (очевидно, безуспешно) юзать системную libc, хотя я ему пытаюсь указать на путь, откуда надо брать библиотеки. Другие библиотеки он там находит, но libc упорно пытается взять системный.

Делаю примерно так:

$ LD_LIBRARY_PATH=libs java -jar someapp.jar 

/usr/lib/x86_64-linux-gnu/libc.so: invalid ELF header


Исходников библиотеки у меня нет, только .so-шка. Есть ли варианты, как сказать ему, что нужно использовать именно ту libc, которую я хочу?
  • Вопрос задан
  • 520 просмотров
Пригласить эксперта
Ответы на вопрос 3
@lsnstrvsk
а если всё это делать в chroot ?
Ответ написан
Комментировать
@vitaly_il1
DevOps Consulting
Ответ написан
Комментировать
LD_LIBRARY_PATH=libs LD_PRELOAD=your_custom_libc.so java -jar someapp.jar
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы