Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 182705 - static cryptsetup not detected on localized system
Summary: static cryptsetup not detected on localized system
Status: RESOLVED DUPLICATE of bug 173412
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: genkernel (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Genkernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-06-20 17:40 UTC by Guillaume Laurès
Modified: 2007-06-21 00:06 UTC (History)
1 user (show)

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


Attachments
suggested correction for localized bug (gen_initramfs.patch,362 bytes, patch)
2007-06-20 18:36 UTC, Guillaume Laurès
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Guillaume Laurès 2007-06-20 17:40:19 UTC
genkernel --luks says:
* LUKS support requires static cryptsetup at /bin/cryptsetup
* Not including LUKS support

Whereas equery uses sys-fs/cryptsetup-luks gives:
[ Found these USE variables for sys-fs/cryptsetup-luks-1.0.4-r3 ]
 U I
 - - build   : 
 - - dynamic : 
 + + nls     : 
 - - selinux : 

The problem lies in the is_static() function from gen_initramfs.sh and gen_initrd.sh:
is_static() {
        objdump -T $1 2>&1 | grep "not a dynamic object" > /dev/null
        return $?
}

On a french localized system for example "objdump -T /bin/cryptsetup" gives:
/bin/cryptsetup:     format de fichier elf64-x86-64

objdump: /bin/cryptsetup: n'est pas un objet dynamique
DYNAMIC SYMBOL TABLE:
aucun symbole

So the grep for "not a dynamic object" is out.

The following would work: LANG="" LC_ALL="" objdump -T /bin/cryptsetup


Reproducible: Always

Steps to Reproduce:
1.prepare the system in another language than english
2.emerge -dynamic cryptsetup-luks
3.execute genkernel --luks

Actual Results:  
* Gentoo Linux Genkernel; Version 3.4.6
* Running with options: initrd

* Linux Kernel 2.6.20-gentoo-r8-smp for x86_64...
* initramfs: >> Initializing...
*         >> Appending base_layout cpio data...
*         >> Appending auxilary cpio data...
* LUKS support requires static cryptsetup at /bin/cryptsetup
* Not including LUKS support
...

Expected Results:  
* Gentoo Linux Genkernel; Version 3.4.6
* Running with options: initrd

* Linux Kernel 2.6.20-gentoo-r8-smp for x86_64...
* initramfs: >> Initializing...
*         >> Appending base_layout cpio data...
*         >> Appending auxilary cpio data...
* Including LUKS support
*         >> Appending busybox cpio data...
*         >> Appending insmod cpio data...
*         >> Appending modules cpio data...
...

I switched hardware platform to all since I don't expect the platform change the behaviour of genkernel as long as this bug looks related to localization. Only testd on amd64 though.
Comment 1 Guillaume Laurès 2007-06-20 17:41:48 UTC
Portage 2.1.2.7 (default-linux/amd64/2007.0/desktop, gcc-4.1.2, glibc-2.5-r3, 2.6.20-gentoo-r8-smp x86_64)
=================================================================
System uname: 2.6.20-gentoo-r8-smp x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
Gentoo Base System release 1.12.9
Timestamp of tree: Sat, 09 Jun 2007 21:50:01 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.4 [enabled]
dev-java/java-config: 1.3.7, 2.0.32
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r7
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -msse3 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo"
CXXFLAGS="-march=athlon64 -O2 -msse3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distcc distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.club-internet.fr/pub/mirrors/gentoo http://pandemonium.tiscali.de/pub/gentoo ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo"
LANG="fr_FR@euro"
LC_ALL="fr_FR@euro"
LINGUAS="fr en"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/enlightenment /usr/local/portage"
SYNC="rsync://mythtv/gentoo-portage"
USE="3dnow 3dnowext X aac acl acpi alsa amd64 avahi berkdb bitmap-fonts branding cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam ffmpeg firefox fortran gdbm gif glibc-omitfp gnome gpm gstreamer gtk gtk2 hal iconv ipv6 isdnlog jpeg kerberos ldap libg++ mad midi mikmod mmx mmxext mp3 mpeg mudflap ncurses nls nptl nptlonly nsplugin nvidia ogg opengl openmp oss pam pcre pdf perl png pppd python qt3support quicktime readline reflection sdl session spell spl sse sse2 sse3 ssl svg tcpd tiff truetype truetype-fonts type1-fonts unicode vorbis x264 xml xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr en" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Guillaume Laurès 2007-06-20 18:36:12 UTC
Created attachment 122629 [details, diff]
suggested correction for localized bug

Try to reset the LC_ALL and LANG parameters just during the call to objdump in order to make the static/dynamic executable test immune to localization. Works for me.
Comment 3 Chris Gianelloni (RETIRED) gentoo-dev 2007-06-21 00:06:58 UTC
This was already fixed.  Please make sure you're running the latest version before filing bugs.

*** This bug has been marked as a duplicate of bug 173412 ***