merces / libpe

The PE library used by @merces/pev
http://pev.sf.net
GNU Lesser General Public License v3.0
115 stars 40 forks source link

error while loading shared libraries: libpe.so.1: cannot open shared object file: No such file or directory #25

Closed buzzer-re closed 3 years ago

buzzer-re commented 5 years ago

Found this problem when i was developing with libpe,

I make a quickfix by changing installation path of the .so to /usr/lib/ instead /usr/local/lib in Makefile

prefix = /usr

Don't know if this will break other projects too. but a symlink will be useful too.

jweyrich commented 5 years ago

Hi @AandersonL!

IMO the prefix /usr/local/lib makes sense for users that install it from source (compile & install manually). However, that is not the case for packaged versions - I believe the proper prefix for packaged libraries is /usr/lib - right?

Today we don't handle packaging directly, but pev has a spec for RPM in its repo, which doesn't override the libpe prefix. Maybe we should.

Right now I'm not sure how we should proceed or if we should care about prefixes used by packaged versions of the library - IMHO it's the packager responsibility to specify (or override with) the correct prefix - not sure though!

Opinions are certainly welcome.

merces commented 3 years ago

Is this answered @AandersonL? :)

buzzer-re commented 3 years ago

I still have this problem, I always link the /usr/local/lib to /usr/lib/ to make this work.

redbingo commented 3 years ago

@AandersonL I resolved this problem by this way:

[root@localhost pev-0.81]# make [root@localhost pev-0.81]# make install [root@localhost pev-0.81]# pescan pescan: error while loading shared libraries: libpe.so.1: cannot open shared object file: No such file or directory [root@localhost pev-0.81]# ln -s /usr/local/lib/libpe.so.1 /usr/lib/libpe.so.1

buzzer-re commented 3 years ago

I solved the same way, another way to solve this (And the right one) is by editing /etc/ld.so.conf.

I will close this issue because it's not a Libpe issue and just a OS configuration.