[csw-maintainers] Shared library search path with $ISALIST in the middle
Maciej (Matchek) Blizinski
maciej at opencsw.org
Tue Sep 22 21:26:16 CEST 2009
I'm working on packaging MySQL-5.0.x. I'm having a following problem:
When making a 64-bit build, during the install phase, the following
tree structure is being created:
work/install-isa-amd64/opt/csw/mysql5/lib
`-- 64
`-- mysql
|-- libdbug.a
|-- libheap.a
|-- libmyisam.a
|-- libmyisammrg.a
|-- libmysqlclient.a
|-- libmysqlclient.la
|-- libmysqlclient.so -> libmysqlclient.so.15.0.0
|-- libmysqlclient.so.15 -> libmysqlclient.so.15.0.0
|-- libmysqlclient.so.15.0.0
|-- libmystrings.a
|-- libmysys.a
`-- libvio.a
2 directories, 12 files
After building a package, the following files are in the package prototype:
d none /opt/csw/mysql5/lib/amd64/mysql 0755 root bin
s none /opt/csw/mysql5/lib/amd64/mysql/libmysqlclient.so=libmysqlclient.so.15.0.0
s none /opt/csw/mysql5/lib/amd64/mysql/libmysqlclient.so.15=libmysqlclient.so.15.0.0
f none /opt/csw/mysql5/lib/amd64/mysql/libmysqlclient.so.15.0.0 0755 root bin
When running the 'mysql' binary, I'm getting an error:
$ mysql
ld.so.1: mysql: fatal: libmysqlclient.so.15: open failed: No such file
or directory
Killed
The reason is that the binary is not looking into the directories
containing the shared libraries. The difference is:
the existing file: .../amd64/mysql/libmysqlclient.so
the program is looking for: .../mysql/amd64/libmysqlclient.so
Can set the runtime library path to .../amd64/mysql/libmysqlclient.so?
Is the following line the right thing to do?
EXTRA_LIB = /opt/csw/mysql5/lib/$$ISALIST/mysql
Maciej
More information about the maintainers
mailing list