[gentoo-user] Re: /usr/lib/libgdbm_compat.so.3: undefined symbol: __guard

2012-02-02 Thread Grant
 I get this when emerging python on a system I'm bringing up to date
 after 3 years of non-use:

 *** WARNING: renaming dbm since importing it failed:
 /usr/lib/libgdbm_compat.so.3: undefined symbol: __guard

 The compile eventually fails with:

 Failed to find the necessary bits to build these modules:
 _bsddb             _tkinter           bsddb185
 sunaudiodev
 To find the necessary bits, look in setup.py in detect_modules() for
 the module's name.

 Failed to build these modules:
 dbm

 running build_scripts
 creating build/scripts-2.6
 copying and adjusting
 /var/tmp/portage/dev-lang/python-2.6.7-r2/work/Python-2.6.7/Tools/scripts/pydoc
 - build/scripts-2.6
 copying and adjusting
 /var/tmp/portage/dev-lang/python-2.6.7-r2/work/Python-2.6.7/Tools/scripts/idle
 - build/scripts-2.6
 copying and adjusting
 /var/tmp/portage/dev-lang/python-2.6.7-r2/work/Python-2.6.7/Tools/scripts/2to3
 - build/scripts-2.6
 copying and adjusting
 /var/tmp/portage/dev-lang/python-2.6.7-r2/work/Python-2.6.7/Lib/smtpd.py
 - build/scripts-2.6
 changing mode of build/scripts-2.6/pydoc from 644 to 755
 changing mode of build/scripts-2.6/idle from 644 to 755
 changing mode of build/scripts-2.6/2to3 from 644 to 755
 changing mode of build/scripts-2.6/smtpd.py from 644 to 755
 make: *** [sharedmods] Error 1

 This is python-2.6 but I get the same from 2.7 and 3.1.  I was able to
 emerge python-2.6 earlier in the updating process so I'm not sure why
 it's failing now.  I'm halfway through an emerge -e world to see if
 that helps.  The system is up-to-date now and working fine although I
 still need to update the kernel, gcc won't compile above 4.3.4, and
 udev gets crazy above 141.  I'm on this profile:

 hardened/linux/x86

 Any ideas?

 - Grant

emerge -e world fixed this.

- Grant



[gentoo-user] Re: /usr/lib/libgdbm_compat.so.3: undefined symbol: __guard

2012-02-01 Thread walt
On 02/01/2012 08:01 AM, Grant wrote:
 I get this when emerging python on a system I'm bringing up to date
 after 3 years of non-use:
 
 *** WARNING: renaming dbm since importing it failed:
 /usr/lib/libgdbm_compat.so.3: undefined symbol: __guard

I've never run a hardened machine, though it's really time I tried it.

libgdm_compat.so.3 links to /usr/lib32/libgdbm.so.3 and (on my non-
hardened) machine neither library needs anything with __guard.  I
think the 'guard' must refer to stack protection or similar that you
find only on hardened systems.

Something very vague in my memory associates 'multilib' only with
non-hardened systems -- but my memory could be wrong instead of
vague :)  Are the 32-bit compatible packages available in hardened
versions?