radareorg / iaito

Official QT frontend of radare2
GNU General Public License v3.0
1.03k stars 86 forks source link

libr_core.so: cannot open shared object file: No such file or directory #59

Closed VolkerSchlegel closed 2 years ago

VolkerSchlegel commented 2 years ago

Evironment: Arch Linux (completely up to date) iaito + radare2 installed from git

[kakidev@arch iaito]$ make run
build/iaito
build/iaito: error while loading shared libraries: libr_core.so: cannot open shared object file: No such file or directory
make: *** [Makefile:88: run] Fehler 127
[kakidev@arch iaito]$ 
radare commented 2 years ago

How did u build r2 and how iaito? It looks like iaito should add support for —with-rpath otherwise it wont find the libs if they are in /usr/local if your system is not configured properly

On 2 Oct 2021, at 16:36, Kaki @.***> wrote:

Evironment: Arch Linux (completely up to date) iaito + radare2 installed from git

***@***.*** iaito]$ make run
build/iaito
build/iaito: error while loading shared libraries: libr_core.so: cannot open shared object file: No such file or directory
make: *** [Makefile:88: run] Fehler 127
***@***.*** iaito]$ 

-- You ar

VolkerSchlegel commented 2 years ago

I just did

./configure
make
make install
trufae commented 2 years ago

./configure, uses /usr/local as default path for installation, if your system doesnt have this path in the library path (etc/ld.so.conf and LD_LIBRARY_PATH env var), then the program needs to be compiled with rpath in order to find the libraries in there.

Using rpath is a bad practice because it limits the ability to the user to tell the system where the libs are. So its not done by default, as long as all distros will complain if so.

git pull, i just pushed a "fix" for make run to inherit the ldpath from r2, so it will work for your case, but will fail again when installed because no rpath or ld.so.conf

VolkerSchlegel commented 2 years ago

Ok, thanks

VolkerSchlegel commented 2 years ago

I tried adding /usr/local to /etc/ld.so.conf and then running ldconfig, but it still can't find it.

trufae commented 2 years ago

The path is /usr/local/lib

VolkerSchlegel commented 2 years ago

Oh.

VolkerSchlegel commented 2 years ago

Ok, it finds the shared object now