Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 229313 - net-im/jabberd2-2.2.0: sm fails to start (unresolved symbol)
Summary: net-im/jabberd2-2.2.0: sm fails to start (unresolved symbol)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: All Linux
: High critical (vote)
Assignee: Thomas Anderson (tanderson) (RETIRED)
URL:
Whiteboard:
Keywords:
: 229331 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-06-24 22:32 UTC by Thomas Arnett
Modified: 2008-07-25 12:32 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
fix unresolved symbol error (apr_base64.diff,633 bytes, patch)
2008-06-24 22:34 UTC, Thomas Arnett
Details | Diff
updated ebuild (jabberd2-2.2.0.ebuild,2.98 KB, text/plain)
2008-06-24 22:39 UTC, Thomas Arnett
Details
diff between ebuild in tree and attachment 158335 (ebuild.diff,1.47 KB, patch)
2008-06-27 16:13 UTC, Thomas Arnett
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Arnett 2008-06-24 22:32:32 UTC
jabberd2 2.2.0 has the wrong function names in util/base64.c, leading to an "unresolved symbol" error when starting the session manager.  I have a patch.
Comment 1 Thomas Arnett 2008-06-24 22:34:13 UTC
Created attachment 158333 [details, diff]
fix unresolved symbol error
Comment 2 Thomas Arnett 2008-06-24 22:39:16 UTC
Created attachment 158335 [details]
updated ebuild

This ebuild incorporates the above patch, softens some hard deps, and removes the superfluous "--with-sasl=gsasl".
Comment 3 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2008-06-24 22:43:03 UTC
(In reply to comment #2)
> Created an attachment (id=158335) [edit]
> updated ebuild
> 
> This ebuild incorporates the above patch, softens some hard deps, and removes
> the superfluous "--with-sasl=gsasl".
> 

Please provide a diff -u of the ebuild that you changed. (also, emerge --info would be great). Thanks.
Comment 4 Thomas Anderson (tanderson) (RETIRED) gentoo-dev 2008-06-24 23:31:01 UTC
Thomas: Thanks for the report. I can't reproduce here, but that certainly doesn't mean anything considering how much of a beast this package is. Could you figure out what library has the unresolved symbol and report that back here along with the output of "emerge -pv jabberd2" and your emerge info?

Thanks, Thomas
Comment 5 Craig Andrews gentoo-dev 2008-06-25 04:58:04 UTC
*** Bug 229331 has been marked as a duplicate of this bug. ***
Comment 6 Craig Andrews gentoo-dev 2008-06-25 04:58:55 UTC
I just discovered that the unresolved symbol problem seems to only appear if jabberd2 is compiled with the --as-needed ldflag
Comment 7 Tomasz bla Fortuna 2008-06-27 01:31:19 UTC
Patched fixed the issue here! ;)
Comment 8 Thomas Anderson (tanderson) (RETIRED) gentoo-dev 2008-06-27 11:04:11 UTC
Diego: I've read on the planet that you'll help out with as-needed problems. I have no idea why this bug is happening(I don't really understand as-needed). Could you please explain why apr_base64.diff fixes a undefined symbol in one of the libraries installed?
Comment 9 Diego Elio Pettenò (RETIRED) gentoo-dev 2008-06-27 14:24:24 UTC
I'll have to take a look at the source code, and I'm currently on break, but it's likely to be a generic --as-needed problem that stops linking the library where the ap_* functions are defined, while the one containing the apr_* functions is still linked in.

Sincerely, if jabberd2 already uses aprutil (or wherever the apr_* functions are defined), I'd prefer those to defining two new functions.
Comment 10 Thomas Arnett 2008-06-27 15:52:42 UTC
This is a programmer error, not a linker bug.  The apr_* functions are defined in the same file, which looks like it was copied from aprutil (or wherever).  Someone working on jabberd2 wrote the b64_* functions to wrap the apr_* functions, but they wrote ap_* instead of apr_*.

The patch just fixes the identifiers.  It doesn't define anything new.

I don't know why this wouldn't always cause an error, but it's probably because the b64_* functions are never used.
Comment 11 Thomas Arnett 2008-06-27 16:08:19 UTC
The ap_* names are what the apr_* functions were called in Apache 1.3.
Comment 12 Thomas Arnett 2008-06-27 16:13:05 UTC
Created attachment 158671 [details, diff]
diff between ebuild in tree and attachment 158335 [details]
Comment 13 Diego Elio Pettenò (RETIRED) gentoo-dev 2008-06-27 17:27:32 UTC
You're missing quotes for ${S} and ${FILESDIR} in src_unpack but otherwise looks good.

So I still have no idea how --as-needed changes this around, sorry :/
Comment 14 Thomas Anderson (tanderson) (RETIRED) gentoo-dev 2008-06-28 11:25:23 UTC
Fixed in CVS, thanks for reporting and thanks for the patches!
Comment 15 Craig Andrews gentoo-dev 2008-07-25 12:32:02 UTC
Fixed upstream: http://jabberd2.xiaoka.com/changeset/595