Reinstalling glibc introduces `call to execv failed (No such file or directory)` on the `Restoring locales` stage

I have related query: may be these fields

~/Desktop ❯ pacman -Qi glibc-locales | grep -iE "desc|optional for"
Description     : None
Optional For    : None

needs to be filled?
Optional For glibc, for example

Yes, that would be helpful. The PKGBUILD is missing the pkgdesc array.

It’s not required by anything, so that’s normal.

Previously I did a “dirty” experiment: I installed new version when nothing was broken an checked what new version do not introduce a regression.

Now I made pure experiment:

I broke locale and then installed newer `glibc-locales` and `glibc` in order to check would they fix broken locale or not
[2021-11-20T00:51:34+0300] [ALPM] transaction started
[2021-11-20T00:51:46+0300] [ALPM] downgraded glibc-locales (2.33-1 -> 2.32-2)
[2021-11-20T00:51:46+0300] [ALPM] transaction completed

I rebooted PC. Then

~/Desktop ❯ sudo pacman -S glibc       
warning: glibc-2.33-5 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Package (1)  Old Version  New Version  Net Change

core/glibc   2.33-5       2.33-5         0.00 MiB

Total Installed Size:  46.01 MiB
Net Upgrade Size:       0.00 MiB

:: Proceed with installation? [Y/n] 
(1/1) checking keys in keyring                                                                                    [####################################################################] 100%
(1/1) checking package integrity                                                                                  [####################################################################] 100%
(1/1) loading package files                                                                                       [####################################################################] 100%
(1/1) checking for file conflicts                                                                                 [####################################################################] 100%
(1/1) checking available disk space                                                                               [####################################################################] 100%
:: Processing package changes...
(1/1) reinstalling glibc                                                                                          [####################################################################] 100%
Generating locales...
  en_US.UTF-8... done
Generation complete.
:: Running post-transaction hooks...
(1/8) Reloading system manager configuration...
(2/8) Creating temporary files...
(3/8) Arming ConditionNeedsUpdate...
(4/8) Restoring locales
call to execv failed (No such file or directory)
error: command failed to execute correctly
(5/8) Restarting cronie for libc upgrade...
(6/8) Refreshing PackageKit...
(7/8) Modifying 'locale-gen'
(8/8) Updating the info directory file...
~/Desktop ❯ 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_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
~/Desktop ❯ man whatis            
man: can't set the locale; make sure $LC_* and $LANG are correct
~/Desktop ❯ sudo pacman -Syu    
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
 kde-unstable is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Package (1)              Old Version  New Version  Net Change

community/glibc-locales  2.32-2       2.33-1         0.00 MiB

Total Installed Size:  188.14 MiB
Net Upgrade Size:        0.00 MiB

:: Proceed with installation? [Y/n] 
(1/1) checking keys in keyring                                                                                    [####################################################################] 100%
(1/1) checking package integrity                                                                                  [####################################################################] 100%
(1/1) loading package files                                                                                       [####################################################################] 100%
(1/1) checking for file conflicts                                                                                 [####################################################################] 100%
(1/1) checking available disk space                                                                               [####################################################################] 100%
:: Processing package changes...
(1/1) upgrading glibc-locales                                                                                     [####################################################################] 100%
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Refreshing PackageKit...
~/Desktop ❯ 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_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
~/Desktop ❯ man whatis      
man: can't set the locale; make sure $LC_* and $LANG are correct
~/Desktop ❯ sudo pacman -S glibc
warning: glibc-2.33-5 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Package (1)  Old Version  New Version  Net Change

core/glibc   2.33-5       2.33-5         0.00 MiB

Total Installed Size:  46.01 MiB
Net Upgrade Size:       0.00 MiB

:: Proceed with installation? [Y/n] 
(1/1) checking keys in keyring                                                                                    [####################################################################] 100%
(1/1) checking package integrity                                                                                  [####################################################################] 100%
(1/1) loading package files                                                                                       [####################################################################] 100%
(1/1) checking for file conflicts                                                                                 [####################################################################] 100%
(1/1) checking available disk space                                                                               [####################################################################] 100%
:: Processing package changes...
(1/1) reinstalling glibc                                                                                          [####################################################################] 100%
Generating locales...
  en_US.UTF-8... done
Generation complete.
:: Running post-transaction hooks...
(1/8) Reloading system manager configuration...
(2/8) Creating temporary files...
(3/8) Arming ConditionNeedsUpdate...
(4/8) Restoring locales
(5/8) Restarting cronie for libc upgrade...
(6/8) Refreshing PackageKit...
(7/8) Modifying 'locale-gen'
(8/8) Updating the info directory file...
~/Desktop ❯ locale              
LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
~/Desktop ❯ man whatis          
~/Desktop ❯ 

So the fix:

  1. does not introduce the regression (made known earlier);
  2. cures broker locale (made known for me now).

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.