Bug 7985 - data_blob_named isn't available in public library
Summary: data_blob_named isn't available in public library
Alias: None
Product: Samba 4.0
Classification: Unclassified
Component: Build (show other bugs)
Version: unspecified
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Andrew Tridgell
QA Contact: samba4-qa@samba.org
Depends on:
Reported: 2011-03-03 23:11 UTC by Brad Hards
Modified: 2011-04-17 10:46 UTC (History)
2 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Brad Hards 2011-03-03 23:11:19 UTC
On Fedora 13 (and apparently Fedora 14), the linker complains about not being able to find a symbol: data_blob_named

That is present in the public headers, and a private library (samba/libsamba-util-common), but not in public library.

The problem doesn't appear to occur on Ubuntu 10.04 / 10.10 boxes, so there is possibly a linker difference.
Comment 1 Matthias Dieter Wallnöfer 2011-03-04 08:24:00 UTC
Brad, do you speak about linking afterwards against the shared objects generated by the s4 build system?

Since on the normal s4 (developer) build on Fedora 13 I have no problem at all.
Comment 2 Brad Hards 2011-03-04 08:41:30 UTC
Matthias, this bug is about the installed libraries, not the build process to create them.
Comment 3 Matthias Dieter Wallnöfer 2011-03-17 09:43:24 UTC
Brad, has this already been worked on? I mean, did the header changes improve the situation?
Comment 4 Brad Hards 2011-03-17 09:53:17 UTC
Its still a problem. 

I don't think the header changes could possibly have affected this, since its a library / linker issue.
Comment 5 Andrew Tridgell 2011-03-17 10:30:22 UTC
(In reply to comment #4)
> Its still a problem. 
> I don't think the header changes could possibly have affected this, since its a
> library / linker issue.

Hi Brad,

s4 should be linking all libraries with the -Wl,-no-undefined flag, which should
mean that all libraries have all symbols resolved, or the creation of the library will fail.

Can you check if that flag is indeed being used? Make with V=1 should show you the build flags.

Cheers, Tridge
Comment 6 Simo Sorce 2011-03-17 12:30:53 UTC
Hi Brad, in order to properly build in Fedora, it seem that for now you need to uncomment a snippet of code in config.mk.in to explicitly include libsamba-util-common.so on the linker line.

This is because of: https://fedoraproject.org/wiki/UnderstandingDSOLinkChange

I think we need to move these dependencies to a public library of course, but for now that's a reasonable workaround until we iron this out.
Comment 7 Simo Sorce 2011-03-17 14:55:21 UTC
Brad, can you check that commit 5d55ae0a2907b5ead5fb7d131aa00788d806ed9a fixes the problem for you ?
Comment 8 Brad Hards 2011-03-18 22:35:06 UTC

As discussed on IRC, it appears additional changes are required.

Comment 9 Brad Hards 2011-03-28 22:18:14 UTC
This problem has also been reported against Debian Sid as of 28 March 2011.
Comment 10 Matthias Dieter Wallnöfer 2011-04-17 08:26:37 UTC
Brad, did this commit fix your problem? http://gitweb.samba.org/samba.git/?p=samba.git;a=commitdiff;h=2c55a995fef133c1854058ed5de83185b9325895
Comment 11 Brad Hards 2011-04-17 10:31:00 UTC

It is ugly (more workaround than correct fix), so not sure if there should be a longer term bug / tracking item to remove it when the shared build stuff is complete. However it resolves the issue for OpenChange.

I'm happy for this to be closed now.
Comment 12 Matthias Dieter Wallnöfer 2011-04-17 10:46:47 UTC
Okay, thanks.