crypt support in 5.1.54 and jabberd2

Asked by August

I was running a Maverick install with the jabber server jabberd2 using crypted MySQL passwords. Following the upgrade to Natty, c2s, the portion of Jabber that handles and authenticates client connections, began crashing with jabberd2-c2s: symbol lookup error: /usr/lib/jabberd2/authreg_mysql.so: undefined symbol: crypt.

Following an e-mail to the mailing list for jabberd2 (http://<email address hidden>/msg01626.html), I was pointed at the Ubuntu MySQL package as the possible source of the problem. I hesitate to file a bug just yet, as I can't find anything in the changelogs regarding this. Hopefully someone here can shed some light on it...

--
August

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu mysql-5.1 Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Eliah Kagan (degeneracypressure) said :
#1

As Sérgio Surkamp said (http://<email address hidden>/msg01629.html), if you've built something from source, you should rebuild it. But if a program provided by an Ubuntu package fails to successfully use a library provided by another Ubuntu package on which the first package depends, then there's a bug. And that's the situation here.

Tomasz Sterna indicated (http://<email address hidden>/msg01631.html) that crypt() support seems to have been removed from the MySQL client library. I don't know if he means that the Ubuntu package was compiled without crypt() support, or if crypt() is no longer supported as of the version on which Ubuntu's package is based, but either way, it may not be a bug for those libraries to be built without crypt(), but it is certainly a bug for jabberd2 to rely on crypt() being present in a package it declares as a dependency but which does not provide it.

Therefore, I recommend reporting this as a bug affecting the package jabberd2. Conveniently, that's probably the package that will be indicated to be affected by the error if you report it using Apport's automated crash reporting mechanism. Now that Natty is released, you may have to enable (or re-enable, as the case may be) Apport: see https://wiki.ubuntu.com/Apport#How%20to%20enable%20apport. You should also install the debug symbols for jabberd2, if you haven't already (while not essential in this case, that's still a good idea). It doesn't look like there's a -dbg package for jabberd2, so you'll have to install the -dbgsym package as described at https://wiki.ubuntu.com/DebuggingProgramCrash. And you should install the debug symbols for the mysql-related packages, too. Then, before reporting the bug, you should read https://help.ubuntu.com/community/ReportingBugs carefully if you have not done so already, and you should search to see if this has already been reported in Ubuntu (one of the things that page tells you how to do is search for existing bug reports, but it tells you lots of other useful information about how to file good bug reports for Ubuntu as well). After having done all that, the moment of truth has arrived: reproduce the crash, and an Apport window should come up offering to report it. Allow it to do so, and then fill the details into the bug report. It's a good idea to link to the relevant thread in the jabberd2 email list in your bug report, but your bug report should be complete and self-contained--ideally it shouldn't be necessary for the Ubuntu developers to refer to the posts in that list, nor to this question, in order to fully understand and appreciate your bug report. I recommend you make sure the bug report contains all the package versions of all the mysql-related packages that might have bearing on this issue. (It will contain your Ubuntu release version--i.e., 11.04--and your jabberd2 version automatically, since you're reporting it with Apport, but it's not bad to put that information visibly near the top of your bug report, too.)

After reporting this bug, it's a good idea to link your bug and this question to each other using the "Link existing bug" link near the top of this question page. I also recommend posting again on the jabberd2 mailing list about how you've reported the bug on Launchpad as affecting jabberd2 in Ubuntu (and include a link there to your bug report). Also, please note that if it turns out that this bug is (or is partially) in mysql-client or related packages, you can add the appropriate source package by using the "Also affects distribution" link near the top of the bug page. If you are concerned that perhaps mysql-5.1 in Ubuntu should be built with crypt() but isn't, then to motivate developers attention to that issue, you might consider marking this as additionally affecting that package from the get-go (i.e., right after submitting the bug report). It can always be marked Invalid in mysql-5.1 if it's judged only to be a bug in jabberd2.

Can you help with this problem?

Provide an answer of your own, or ask August for more information if necessary.

To post a message you must log in.