Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 275039 - sys-libs/glibc-2.10.1: locale-archive replaced on every boot and...
Summary: sys-libs/glibc-2.10.1: locale-archive replaced on every boot and...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-22 09:33 UTC by samLT
Modified: 2009-06-25 15:48 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description samLT 2009-06-22 09:33:39 UTC
Hello, I have a weird problem here, I have to run locale-gen on every boot to have the en_US.UTF-8 locale available (probably for others too):

I have "export LANG='en_US.UTF-8'" in /etc/profile.env (no LC_*)
No #%options in /etc/locale.gen, and only this uncommented line:
en_US.UTF-8 UTF-8

If I run locale-gen, then everything work as expected:
| # locale -a
| C
| en_US.utf8
| POSIX

| # locale
| LANG=en_US.UTF-8
| LC_CTYPE="en_US.UTF-8"
| LC_NUMERIC="en_US.UTF-8"
| LC_TIME="en_US.UTF-8"
| LC_COLLATE="en_US.UTF-8"
| LC_MONETARY="en_US.UTF-8"
| LC_MESSAGES="en_US.UTF-8"
| LC_PAPER="en_US.UTF-8"
| LC_NAME="en_US.UTF-8"
| LC_ADDRESS="en_US.UTF-8"
| LC_TELEPHONE="en_US.UTF-8"
| LC_MEASUREMENT="en_US.UTF-8"
| LC_IDENTIFICATION="en_US.UTF-8"
| LC_ALL=

But on the next reboot I'm again with the pseudo locales C and POSIX, and I
have to run locale-gen again, but before I do so, below is the output of some
commands:
| # locale -a
| locale: Cannot set LC_CTYPE to default locale: No such file or directory
| locale: Cannot set LC_MESSAGES to default locale: No such file or directory
| locale: Cannot set LC_COLLATE to default locale: No such file or directory
| C
| POSIX

| # locale
| locale: Cannot set LC_CTYPE to default locale: No such file or directory
| locale: Cannot set LC_MESSAGES to default locale: No such file or directory
| locale: Cannot set LC_ALL to default locale: No such file or directory
| LANG=en_US.UTF-8
| LC_CTYPE="en_US.UTF-8"
| LC_NUMERIC="en_US.UTF-8"
| LC_TIME="en_US.UTF-8"
| LC_COLLATE="en_US.UTF-8"
| LC_MONETARY="en_US.UTF-8"
| LC_MESSAGES="en_US.UTF-8"
| LC_PAPER="en_US.UTF-8"
| LC_NAME="en_US.UTF-8"
| LC_ADDRESS="en_US.UTF-8"
| LC_TELEPHONE="en_US.UTF-8"
| LC_MEASUREMENT="en_US.UTF-8"
| LC_IDENTIFICATION="en_US.UTF-8"
| LC_ALL=


| # locale-gen -u
| * Generating 1 locales (this might take a while) with 1 jobs
| *  (1/1) Generating en_US.UTF-8...                /usr/sbin/locale-gen: line 264:  2689 Segmentation fault      "${DESTDIR}"usr/bin/localedef ${LOCALEDEF_OPTS} -i "${input}" -f "${charmap}" -A "${ALIAS}" --prefix "${DESTDIR}" "${locale}"
|  [ !! ]
| * Generation complete


with the localedef full command being 'localedef -c -i en_US -f UTF-8 -A /usr/share/locale/locale.alias  --prefix / en_US.UTF-8'

I've found this bug: https://bugs.gentoo.org/show_bug.cgi?id=214687 (localedef segfaults w/gcc-4.3 when glibc built with USE=glibc-omitfp), but
glibc-omitftp is disabled for me. The bug suggested to build glibc with gcc-4.4.0 but this was of any help in my case.

Note that once I ran locale-gen, I no longer have this segmentation fault with localedef

(on fgo: https://forums.gentoo.org/viewtopic-p-5817902.html )
We found that locale-gen generates the files
/usr/lib{,64}/locale/locale-archive, but these files are changed/replaced on
reboot:

| # md5sum /usr/lib{,64}/locale/locale-archive
| 3140075c41f7c0f18d1a78ae10f29d97  /usr/lib/locale/locale-archive
| 3140075c41f7c0f18d1a78ae10f29d97  /usr/lib64/locale/locale-archive
| 
| # after reboot
| # md5sum /usr/lib{,64}/locale/locale-archive
| afb9c16fb8e831cdb2adc749a14594db  /usr/lib/locale/locale-archive
| afb9c16fb8e831cdb2adc749a14594db  /usr/lib64/locale/locale-archive
| 
| reboot
| # ...
| # md5sum /usr/lib{,64}/locale/locale-archive
| afb9c16fb8e831cdb2adc749a14594db  /usr/lib/locale/locale-archive
| afb9c16fb8e831cdb2adc749a14594db  /usr/lib64/locale/locale-archive

the funny thing is that if I run locale-gen before rebooting, the new files
after the reboot won't even be the same:
| # after locale-gen
| # md5sum /usr/lib{,64}/locale/locale-archive
| 3140075c41f7c0f18d1a78ae10f29d97  /usr/lib/locale/locale-archive
| 3140075c41f7c0f18d1a78ae10f29d97  /usr/lib64/locale/locale-archive
| 
| # reboot
| a7f34963a481d0e2c3b0aefaa510d638  /usr/lib/locale/locale-archive
| a7f34963a481d0e2c3b0aefaa510d638  /usr/lib64/locale/locale-archive



I'd really like to know what's going on, this is annoying since some
deamons (eg: wicd) won't start before I run locale-gen again.


If you need anything else, please tell me.

Thank you
Comment 1 samLT 2009-06-22 09:37:14 UTC
paludis 0.36.1
Paludis build information:
    Compiler:
        CXX:                   x86_64-pc-linux-gnu-g++ 4.3.3
        CXXFLAGS:               -march=core2 -O2 -pipe
        LDFLAGS:               -Wl,--as-needed
        DATE:                  2009-06-18T12:25:58+0200

    Libraries:
        C++ Library:           GNU libstdc++ 20090124

    Reduced Privs:
        reduced_uid:           111
        reduced_uid->name:     paludisbuild
        reduced_uid->dir:      /var/tmp/paludis
        reduced_gid:           1014
        reduced_gid->name:     paludisbuild

    Paths:
        DATADIR:               /usr/share
        LIBDIR:                /usr/lib64
        LIBEXECDIR:            /usr/libexec
        SYSCONFDIR:            /etc
        PYTHONINSTALLDIR:      /usr/lib64/python2.6/site-packages
        RUBYINSTALLDIR:        /usr/lib64/ruby/site_ruby/1.8/x86_64-linux

Environment:
    Format:                    paludis
    Config dir:                /etc/paludis
    World file:                /var/db/pkg/world

Repository layman:
    format:                    unavailable
    location:                  /var/db/paludis/repositories/layman
    sync:                      tar+http://git.exherbo.org/layman_repositories.tar.bz2
    sync_options:

Repository installed-virtuals:
    format:                    installed_virtuals
    root:                      /

Repository virtuals:
    format:                    virtuals

Repository gentoo:
    format:                    ebuild
    location:                  /var/gentoo/overlays/gentoo
    append_repository_name_to_write_cache: true
    binary_destination:        false
    binary_keywords:
    binary_uri_prefix:
    builddir:                  /var/tmp/paludis
    cache:                     /var/gentoo/overlays/gentoo/metadata/cache
    distdir:                   /var/gentoo/distfiles
    eapi_when_unknown:         0
    eapi_when_unspecified:     0
    eclassdirs:                /var/gentoo/overlays/gentoo/eclass
    ignore_deprecated_profiles: false
    layout:                    traditional
    names_cache:               /var/gentoo/overlays/gentoo/.cache/names
    newsdir:                   /var/gentoo/overlays/gentoo/metadata/news
    profile_eapi_when_unspecified: 0
    profiles:                  /var/gentoo/overlays/gentoo/profiles/default/linux/amd64/2008.0/desktop
    securitydir:               /var/gentoo/overlays/gentoo/metadata/glsa
    setsdir:                   /var/gentoo/overlays/gentoo/sets
    sync:                      rsync://rsync.gentoo.org/gentoo-portage
    sync_options:
    use_manifest:              use
    write_cache:               /var/empty

Repository installed:
    format:                    vdb
    location:                  /var/db/pkg
    builddir:                  /var/tmp/paludis
    names_cache:               /var/db/pkg/.cache/names
    provides_cache:            /var/db/pkg/.cache/provides
    root:                      /

Repository local:
    format:                    ebuild
    location:                  /var/gentoo/overlays/local
    append_repository_name_to_write_cache: true
    binary_destination:        false
    binary_keywords:
    binary_uri_prefix:
    builddir:                  /var/tmp/paludis
    cache:                     /var/empty
    distdir:                   /var/gentoo/distfiles
    eapi_when_unknown:         0
    eapi_when_unspecified:     0
    eclassdirs:                /var/gentoo/overlays/gentoo/eclass /var/gentoo/overlays/local/eclass
    ignore_deprecated_profiles: false
    layout:                    traditional
    master_repository:         gentoo
    names_cache:               /var/gentoo/overlays/local/.cache/names
    newsdir:                   /var/gentoo/overlays/local/metadata/news
    profile_eapi_when_unspecified: 0
    profiles:                  /var/gentoo/overlays/gentoo/profiles/default/linux/amd64/2008.0/desktop
    securitydir:               /var/gentoo/overlays/local/metadata/glsa
    setsdir:                   /var/gentoo/overlays/local/sets
    sync:
    sync_options:
    use_manifest:              use
    write_cache:               /var/empty

Repository majeru:
    format:                    ebuild
    location:                  /var/gentoo/overlays/oss-overlay
    append_repository_name_to_write_cache: true
    binary_destination:        false
    binary_keywords:
    binary_uri_prefix:
    builddir:                  /var/tmp/paludis
    cache:                     /var/empty
    distdir:                   /var/gentoo/distfiles
    eapi_when_unknown:         0
    eapi_when_unspecified:     0
    eclassdirs:                /var/gentoo/overlays/gentoo/eclass /var/gentoo/overlays/oss-overlay/eclass
    ignore_deprecated_profiles: false
    layout:                    traditional
    master_repository:         gentoo
    names_cache:               /var/gentoo/overlays/oss-overlay/.cache/names
    newsdir:                   /var/gentoo/overlays/oss-overlay/metadata/news
    profile_eapi_when_unspecified: 0
    profiles:                  /var/gentoo/overlays/gentoo/profiles/default/linux/amd64/2008.0/desktop
    securitydir:               /var/gentoo/overlays/oss-overlay/metadata/glsa
    setsdir:                   /var/gentoo/overlays/oss-overlay/sets
    sync:
    sync_options:
    use_manifest:              use
    write_cache:               /var/empty

Repository sunrise:
    format:                    ebuild
    location:                  /var/gentoo/overlays/sunrise
    append_repository_name_to_write_cache: true
    binary_destination:        false
    binary_keywords:
    binary_uri_prefix:
    builddir:                  /var/tmp/paludis
    cache:                     /var/empty
    distdir:                   /var/gentoo/distfiles
    eapi_when_unknown:         0
    eapi_when_unspecified:     0
    eclassdirs:                /var/gentoo/overlays/gentoo/eclass /var/gentoo/overlays/sunrise/eclass
    ignore_deprecated_profiles: false
    layout:                    traditional
    master_repository:         gentoo
    names_cache:               /var/gentoo/overlays/sunrise/.cache/names
    newsdir:                   /var/gentoo/overlays/sunrise/metadata/news
    profile_eapi_when_unspecified: 0
    profiles:                  /var/gentoo/overlays/gentoo/profiles/default/linux/amd64/2008.0/desktop
    securitydir:               /var/gentoo/overlays/sunrise/metadata/glsa
    setsdir:                   /var/gentoo/overlays/sunrise/sets
    sync:                      svn://overlays.gentoo.org/proj/sunrise/reviewed
    sync_options:
    use_manifest:              use
    write_cache:               /var/empty

Package sys-libs/glibc-2.10.1::installed:

        >>> Running ebuild phase killold as paludisbuild:paludisbuild...
        bunzip2 < /var/db/pkg/sys-libs/glibc-2.10.1/environment.bz2 > /var/tmp/paludis/environment-sys-libs-glibc-2.10.1-3018
        ebuild_scrub_environment /var/tmp/paludis/environment-sys-libs-glibc-2.10.1-3018
        ebuild_safe_source /var/tmp/paludis/environment-sys-libs-glibc-2.10.1-3018
        rm /var/tmp/paludis/environment-sys-libs-glibc-2.10.1-3018
        >>> Starting builtin_killold
        >>> Done builtin_killold
        >>> Completed ebuild phase killold
        >>> Running ebuild phases initmisc infovars info as paludisbuild:paludisbuild...
        bunzip2 < /var/db/pkg/sys-libs/glibc-2.10.1/environment.bz2 > /var/tmp/paludis/environment-sys-libs-glibc-2.10.1-3072
        ebuild_scrub_environment /var/tmp/paludis/environment-sys-libs-glibc-2.10.1-3072
        ebuild_safe_source /var/tmp/paludis/environment-sys-libs-glibc-2.10.1-3072
        rm /var/tmp/paludis/environment-sys-libs-glibc-2.10.1-3072
        >>> Starting builtin_initmisc
        >>> Done builtin_initmisc
        >>> Starting builtin_infovars
        ACCEPT_KEYWORDS=amd64
        CBUILD=x86_64-pc-linux-gnu
        CFLAGS=-pipe -O2 -fno-strict-aliasing
        CHOST=x86_64-pc-linux-gnu
        CONFIG_PROTECT=/var/lib/hsqldb /etc
        CONFIG_PROTECT_MASK=/etc/gentoo-release /etc/sandbox.d /etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/ca-certificates.conf /etc/revdep-rebuild /etc/env.d /etc/gconf
        CPPFLAGS=-U_FORTIFY_SOURCE -U_FORTIFY_SOURCE -U_FORTIFY_SOURCE -U_FORTIFY_SOURCE -U_FORTIFY_SOURCE -U_FORTIFY_SOURCE -U_FORTIFY_SOURCE
        CTARGET=x86_64-pc-linux-gnu
        CXXFLAGS=-pipe -O2 -fno-strict-aliasing
        DISTDIR=/var/db/pkg/sys-libs/glibc-2.10.1
        FEATURES=strict sfperms
        FFLAGS=-O2 -fno-strict-aliasing
        GENTOO_MIRRORS=
        INSTALL_MASK=
        LANG=
        LC_ALL=C
        LDFLAGS=-Wl,--as-needed
        LINGUAS=en
        MAKEOPTS=-j2
        PORTAGE_COMPRESS=
        PORTAGE_COMPRESS_FLAGS=
        PORTAGE_CONFIGROOT=
        PORTAGE_RSYNC_EXTRA_OPTS=
        PORTAGE_RSYNC_OPTS=
        PORTAGE_TMPDIR=/var/tmp/paludis
        PORTDIR=/var/db/pkg/sys-libs/glibc-2.10.1
        PORTDIR_OVERLAY=
        SYNC=
        USE=multilib nls amd64 alsa_cards_hda-intel alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mmap_emul alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apache2_modules_actions apache2_modules_alias apache2_modules_auth_basic apache2_modules_authn_alias apache2_modules_authn_anon apache2_modules_authn_dbm apache2_modules_authn_default apache2_modules_authn_file apache2_modules_authz_dbm apache2_modules_authz_default apache2_modules_authz_groupfile apache2_modules_authz_host apache2_modules_authz_owner apache2_modules_authz_user apache2_modules_autoindex apache2_modules_cache apache2_modules_dav apache2_modules_dav_fs apache2_modules_dav_lock apache2_modules_deflate apache2_modules_dir apache2_modules_disk_cache apache2_modules_env apache2_modules_expires apache2_modules_ext_filter apache2_modules_file_cache apache2_modules_filter apache2_modules_headers apache2_modules_include apache2_modules_info apache2_modules_log_config apache2_modules_logio apache2_modules_mem_cache apache2_modules_mime apache2_modules_mime_magic apache2_modules_negotiation apache2_modules_rewrite apache2_modules_setenvif apache2_modules_speling apache2_modules_status apache2_modules_unique_id apache2_modules_userdir apache2_modules_usertrack apache2_modules_vhost_alias cameras_ricoh elibc_glibc input_devices_evdev input_devices_keyboard input_devices_synaptics kernel_linux lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text linguas_en qemu_softmmu_targets_ppc qemu_softmmu_targets_x86_64 qemu_user_targets_ppc qemu_user_targets_x86_64 userland_GNU video_cards_intel video_cards_nvidia video_cards_vesa amd64
        >>> Done builtin_infovars
        >>> Starting pkg_info
        >>> Done pkg_info
        >>> Completed ebuild phases initmisc infovars info
        >>> Running ebuild phase tidyup as paludisbuild:paludisbuild...
        bunzip2 < /var/db/pkg/sys-libs/glibc-2.10.1/environment.bz2 > /var/tmp/paludis/environment-sys-libs-glibc-2.10.1-3148
        ebuild_scrub_environment /var/tmp/paludis/environment-sys-libs-glibc-2.10.1-3148
        ebuild_safe_source /var/tmp/paludis/environment-sys-libs-glibc-2.10.1-3148
        rm /var/tmp/paludis/environment-sys-libs-glibc-2.10.1-3148
        >>> Starting builtin_tidyup
        rm -fr /var/tmp/paludis/sys-libs-glibc-2.10.1-info
        >>> Done builtin_tidyup
        >>> Completed ebuild phase tidyup

Package sys-libs/glibc-2.10.1:2.2::gentoo:

        >>> Running ebuild phase killold as paludisbuild:paludisbuild...
        >>> Starting builtin_killold
        >>> Done builtin_killold
        >>> Completed ebuild phase killold
        >>> Running ebuild phases initmisc infovars as paludisbuild:paludisbuild...
        >>> Starting builtin_initmisc
        >>> Done builtin_initmisc
        >>> Starting builtin_infovars
        ACCEPT_KEYWORDS=amd64
        CBUILD=x86_64-pc-linux-gnu
        CFLAGS=-march=core2 -O2 -pipe
        CHOST=x86_64-pc-linux-gnu
        CONFIG_PROTECT=
        CONFIG_PROTECT_MASK=
        CPPFLAGS=
        CTARGET=x86_64-pc-linux-gnu
        CXXFLAGS=-march=core2 -O2 -pipe
        DISTDIR=/var/gentoo/distfiles
        FEATURES=strict sfperms
        FFLAGS=
        GENTOO_MIRRORS=
        INSTALL_MASK=
        LANG=
        LC_ALL=C
        LDFLAGS=-Wl,--as-needed
        LINGUAS=en
        MAKEOPTS=-j2
        PORTAGE_COMPRESS=
        PORTAGE_COMPRESS_FLAGS=
        PORTAGE_CONFIGROOT=
        PORTAGE_RSYNC_EXTRA_OPTS=
        PORTAGE_RSYNC_OPTS=
        PORTAGE_TMPDIR=/var/tmp/paludis
        PORTDIR=/var/gentoo/overlays/gentoo
        PORTDIR_OVERLAY=
        SYNC=
        USE=multilib nls amd64 alsa_cards_hda-intel alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mmap_emul alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apache2_modules_actions apache2_modules_alias apache2_modules_auth_basic apache2_modules_authn_alias apache2_modules_authn_anon apache2_modules_authn_dbm apache2_modules_authn_default apache2_modules_authn_file apache2_modules_authz_dbm apache2_modules_authz_default apache2_modules_authz_groupfile apache2_modules_authz_host apache2_modules_authz_owner apache2_modules_authz_user apache2_modules_autoindex apache2_modules_cache apache2_modules_dav apache2_modules_dav_fs apache2_modules_dav_lock apache2_modules_deflate apache2_modules_dir apache2_modules_disk_cache apache2_modules_env apache2_modules_expires apache2_modules_ext_filter apache2_modules_file_cache apache2_modules_filter apache2_modules_headers apache2_modules_include apache2_modules_info apache2_modules_log_config apache2_modules_logio apache2_modules_mem_cache apache2_modules_mime apache2_modules_mime_magic apache2_modules_negotiation apache2_modules_rewrite apache2_modules_setenvif apache2_modules_speling apache2_modules_status apache2_modules_unique_id apache2_modules_userdir apache2_modules_usertrack apache2_modules_vhost_alias cameras_ricoh elibc_glibc input_devices_evdev input_devices_keyboard input_devices_synaptics kernel_linux lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text linguas_en qemu_softmmu_targets_ppc qemu_softmmu_targets_x86_64 qemu_user_targets_ppc qemu_user_targets_x86_64 userland_GNU video_cards_intel video_cards_nvidia video_cards_vesa amd64
        >>> Done builtin_infovars
        >>> Completed ebuild phases initmisc infovars
        >>> Running ebuild phase tidyup as paludisbuild:paludisbuild...
        >>> Starting builtin_tidyup
        rm -fr /var/tmp/paludis/sys-libs-glibc-2.10.1-info
        >>> Done builtin_tidyup
        >>> Completed ebuild phase tidyup
Comment 2 samLT 2009-06-25 15:48:18 UTC
Well, I fixed this by copying the a backup of the generated locale-archive file before any service were started. Then everything is back to normal.

I suppose there was some kind of lock on the file by some daemon (wicd and mpd have it open), which replace the generated files by the one they had opened?

But I don't know if that's really the reason, will investigate later. But this bug can be closed as INVALID