OpenCSW Bug Tracker


Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0004098 [mysql5client] packaging major always 2009-12-24 09:34 2010-01-06 01:49
Reporter edika View Status public  
Assigned To maciej
Priority normal Resolution fixed  
Status closed  
Summary 0004098: libmysqlclient.so ISA-specific path wrong
Description Package Version 5.0.87,REV=2009.12.22 installs ISA-specific path as /opt/csw/mysql5/lib/sparc9/mysql istead of /opt/csw/mysql5/lib/mysql/sparcv9.
Additional Information .../lib/package/$ISALIST seems to be usual path, as used eg. by /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so:
--------------------------------
ldd -s /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so

   find object=libmysqlclient.so.15; required by /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so
    search path=/opt/csw/mysql5/lib/mysql/$ISALIST:/opt/csw/lib/$ISALIST (RPATH from file /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so)
[...]
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0007120)
maciej (reporter)
2009-12-24 10:26

Thanks for the report. I'll provide backward-compatible symlinks.

I have a question about /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so: I istalled CSWpmdbdmysql from current and ran ldd on this shared object. The result was:

netra lib # ldd /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so
        libmysqlclient.so.15 => /opt/csw/mysql5/lib/mysql/sparcv9/libmysqlclient.so.15 - wrong ELF class: ELFCLASS64

Interestingly, it finds the library, but since its RPATH is /opt/csw/mysql5/lib/mysql/$ISALIST:/opt/csw/lib/$ISALIST, it finds the 64-bit library and fails, because it's a 32-bit library itself:

netra lib # file /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so
/opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically linked, stripped

How did it work in the previous version of the mysql5 package?
(0007125)
edika (reporter)
2009-12-24 15:25

On the old version, it looks for and finds the 32bit file:
--------------------
$ ldd -s /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so|head -30

   find object=libmysqlclient.so.15; required by /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so
[...]
    search path=/opt/csw/mysql5/lib/mysql/$ISALIST:/opt/csw/lib/$ISALIST (RPATH from file /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so)
    trying path=/opt/csw/mysql5/lib/mysql/sparcv9+vis2/libmysqlclient.so.15
    trying path=/opt/csw/mysql5/lib/mysql/sparcv9+vis/libmysqlclient.so.15
    trying path=/opt/csw/mysql5/lib/mysql/sparcv9/libmysqlclient.so.15
    trying path=/opt/csw/mysql5/lib/mysql/sparcv8plus+vis/libmysqlclient.so.15
        libmysqlclient.so.15 => /opt/csw/mysql5/lib/mysql/sparcv8plus+vis/libmysqlclient.so.15
--------------------
$ file /opt/csw/mysql5/lib/mysql/*/libmysqlclient.so.15
/opt/csw/mysql5/lib/mysql/sparcv8/libmysqlclient.so.15: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically linked, stripped
/opt/csw/mysql5/lib/mysql/sparcv8plus+vis/libmysqlclient.so.15: ELF 32-bit MSB dynamic lib SPARC32PLUS Version 1, V8+ Required, UltraSPARC1 Extensions Required, dynamically linked, not stripped
/opt/csw/mysql5/lib/mysql/sparcv9/libmysqlclient.so.15: ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped
(0007126)
edika (reporter)
2009-12-24 15:46

BTW: I now created 2 symlinks. On the first try I wasn't aware of the 32/64bit issue an made the wrong links.

$ ls -l /opt/csw/mysql5/lib/mysql/sparc*
[...] /opt/csw/mysql5/lib/mysql/sparcv8 -> .
[...] /opt/csw/mysql5/lib/mysql/sparcv9 -> ../sparcv9/mysql

$ ldd -s /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so

   find object=libmysqlclient.so.15; required by /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so
    search path=/opt/csw/mysql5/lib/mysql/$ISALIST:/opt/csw/lib/$ISALIST (RPATH from file /opt/csw/lib/perl/csw/auto/DBD/mysql/mysql.so)
    trying path=/opt/csw/mysql5/lib/mysql/sparcv9+vis2/libmysqlclient.so.15
    trying path=/opt/csw/mysql5/lib/mysql/sparcv9+vis/libmysqlclient.so.15
    trying path=/opt/csw/mysql5/lib/mysql/sparcv9/libmysqlclient.so.15
    trying path=/opt/csw/mysql5/lib/mysql/sparcv8plus+vis2/libmysqlclient.so.15
    trying path=/opt/csw/mysql5/lib/mysql/sparcv8plus+vis/libmysqlclient.so.15
    trying path=/opt/csw/mysql5/lib/mysql/sparcv8plus/libmysqlclient.so.15
    trying path=/opt/csw/mysql5/lib/mysql/sparcv8/libmysqlclient.so.15
        libmysqlclient.so.15 => /opt/csw/mysql5/lib/mysql/sparcv8/libmysqlclient.so.15
(0007155)
maciej (reporter)
2009-12-30 12:31

Updated packages are in testing, please try.
(0007156)
edika (reporter)
2009-12-31 11:37

Yeah, looks great! Sorry for indicating the wrong package (mysql5client instead of mysql5rt).
Happy new year and thanks for the invaluable work!
(0007174)
maciej (reporter)
2010-01-05 12:36

Cool, thanks for checking. I'm sending updated packages for release.
(0007183)
maciej (reporter)
2010-01-06 01:49

The updated package has been released. Enjoy!


Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker