Red Hat Bugzilla – Bug 150762
Strange behaviour in exporting symbols
Last modified: 2007-11-30 17:11:01 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041228 Firefox/1.0 Fedora/1.0-8
Description of problem:
Maybe you can describe me why I see this:
[root@fc3 lib]# rpm -q db4; nm libdb-4.2.so | wc -l
nm: libdb-4.2.so: no symbols
[oliver@pils lib]$ rpm -q db4; nm libdb-4.3.so|wc -l
[oliver@core lib]$ rpm -q db4; nm libdb-4.0.so|wc -l
Version-Release number of selected component (if applicable):
db4-4.2.52-6, db4-4.3.27-2, db4-4.0.14-14
Steps to Reproduce:
1. Install FC3
2. Install RH8
3. Install FC Devel
Actual Results: fc3 is a fresh setup Fedora Core 3.
pils is a machine running Fedora Core Development.
core is an old machine still running RH 8.
Expected Results: db4 should always export symbols? And of course about the same number of symbols!?
The main problem that I discovered within db4 is, that I tried to recompile sendmail on pils and it spotted the error about undefined symbol `db_version`. Using nm, I was not able to find it on my FC3Devel machine. Using nm on core (the RH8 machine) I was able and on my newly setup FC3 machine there are not even symbols. Why is this? Is it gcc playing around with the symbols? Is it glibc that has bugs!?
I believe, that db-4.3.27-2 compiled with gcc4 (see also the rpm changelog) is buggy and should be recompiled (Tried that on pils, rpm2cpio'ed the file and made an nm: 'no symbols'). I have not yet tried to compile sendmail with this new libdb...
I'm also not sure, if the behaviour of not exporting any symbols (within FC3) is the correct behaviour, but some reason sendmail compiles correctly no this machine - which does mean for me, that the symbol `db_version` is found even if nm /usr/lib/libdb-4.2.so tells me 'no symbols'.
This is probably due to using gcc-4.0 to compile.
Jeff, this is what I wrote in my 'Additional Info':
> I believe, that db-4.3.27-2 compiled with gcc4 (see also the rpm
> changelog) is buggy and should be recompiled (Tried that on pils,
> rpm2cpio'ed the file and made an nm: 'no symbols').
Yes, I do also believe that it's because of using gcc4.