You are not logged in.

#1 2012-01-21 19:31:23

Snarkout
Member
Registered: 2005-11-13
Posts: 542

[solved - non-issue] error: failed to initialize alpm library

I managed to blow up pacman during the recent upgrade, but fixed it with the help of some posts on the fora.  That said, now when I run any recursive command, I get the following error:

error: failed to initialize alpm library (could not find or read directory)

running a locate shows:

# locate libalpm
/usr/lib/libalpm.a
/usr/lib/libalpm.so
/usr/lib/libalpm.so.7
/usr/lib/libalpm.so.7.0.1
/usr/share/locale/ca/LC_MESSAGES/libalpm.mo
/usr/share/locale/cs/LC_MESSAGES/libalpm.mo
/usr/share/locale/da/LC_MESSAGES/libalpm.mo
/usr/share/locale/de/LC_MESSAGES/libalpm.mo
/usr/share/locale/el/LC_MESSAGES/libalpm.mo
/usr/share/locale/en_GB/LC_MESSAGES/libalpm.mo
/usr/share/locale/es/LC_MESSAGES/libalpm.mo
/usr/share/locale/fi/LC_MESSAGES/libalpm.mo
/usr/share/locale/fr/LC_MESSAGES/libalpm.mo
/usr/share/locale/hu/LC_MESSAGES/libalpm.mo
/usr/share/locale/it/LC_MESSAGES/libalpm.mo
/usr/share/locale/kk/LC_MESSAGES/libalpm.mo
/usr/share/locale/lt/LC_MESSAGES/libalpm.mo
/usr/share/locale/nb/LC_MESSAGES/libalpm.mo
/usr/share/locale/pl/LC_MESSAGES/libalpm.mo
/usr/share/locale/pt/LC_MESSAGES/libalpm.mo
/usr/share/locale/pt_BR/LC_MESSAGES/libalpm.mo
/usr/share/locale/ro/LC_MESSAGES/libalpm.mo
/usr/share/locale/ru/LC_MESSAGES/libalpm.mo
/usr/share/locale/sk/LC_MESSAGES/libalpm.mo
/usr/share/locale/sr/LC_MESSAGES/libalpm.mo
/usr/share/locale/sr@latin/LC_MESSAGES/libalpm.mo
/usr/share/locale/sv/LC_MESSAGES/libalpm.mo
/usr/share/locale/tr/LC_MESSAGES/libalpm.mo
/usr/share/locale/uk/LC_MESSAGES/libalpm.mo
/usr/share/locale/zh_CN/LC_MESSAGES/libalpm.mo
/usr/share/locale/zh_TW/LC_MESSAGES/libalpm.mo
/usr/share/man/man3/libalpm.3.gz

Anyone know what I failed to fix after I broke pacman?

Last edited by Snarkout (2012-01-22 17:42:34)


Unthinking respect for authority is the greatest enemy of truth.
-Albert Einstein

Offline

#2 2012-01-21 19:55:56

falconindy
Developer
From: New York, USA
Registered: 2009-10-22
Posts: 4,111
Website

Re: [solved - non-issue] error: failed to initialize alpm library

Do /var/lib/pacman/local and /var/lib/pacman/sync both exist?

Offline

#3 2012-01-21 20:20:27

Snarkout
Member
Registered: 2005-11-13
Posts: 542

Re: [solved - non-issue] error: failed to initialize alpm library

falconindy wrote:

Do /var/lib/pacman/local and /var/lib/pacman/sync both exist?

Yup.

# ll /var/lib/pacman/                                                                                                                                                      
total 84                                                                                                                                                                                     
drwxr-xr-x 1349 root root 77824 Jan 21 12:47 local                                                                                                                                           
drwxr-xr-x    2 root root  4096 Jan 21 12:23 sync

Unthinking respect for authority is the greatest enemy of truth.
-Albert Einstein

Offline

#4 2012-01-21 20:27:12

falconindy
Developer
From: New York, USA
Registered: 2009-10-22
Posts: 4,111
Website

Re: [solved - non-issue] error: failed to initialize alpm library

Run 'pacman -Tv'. Make sure all those dirs exist. --debug is your friend, as is strace.

Offline

#5 2012-01-22 00:36:14

Snarkout
Member
Registered: 2005-11-13
Posts: 542

Re: [solved - non-issue] error: failed to initialize alpm library

Thanks for the help - I appear to be missing some locale stuff.

From the strace:

munmap(0xb7762000, 4096)                = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libalpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libalpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libalpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libalpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libalpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libalpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/pacman.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/pacman.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/pacman.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/pacman.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/pacman.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/pacman.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "error: ", 7error: )                  = 7
write(2, "failed to initialize alpm librar"..., 69failed to initialize alpm library (could not find or read directory)
) = 69
exit_group(-1)                          = ?
# locate libalpm.mo | grep en
/usr/share/locale/en_GB/LC_MESSAGES/libalpm.mo

# locate pacman.mo | grep en
/usr/share/locale/en_GB/LC_MESSAGES/pacman.mo

# pacman -Qo /usr/share/locale/en_GB/LC_MESSAGES/libalpm.mo
/usr/share/locale/en_GB/LC_MESSAGES/libalpm.mo is owned by pacman 4.0.1-4

# pacman -Qo /usr/share/locale/en_GB/LC_MESSAGES/pacman.mo
/usr/share/locale/en_GB/LC_MESSAGES/pacman.mo is owned by pacman 4.0.1-4

I'm using the locale "en_US.UTF-8" in rc.conf and locale.gen - did I miss an announcement?


Unthinking respect for authority is the greatest enemy of truth.
-Albert Einstein

Offline

#6 2012-01-22 07:11:32

the.ridikulus.rat
Member
From: Indiana, USA
Registered: 2011-10-04
Posts: 765

Re: [solved - non-issue] error: failed to initialize alpm library

Offline

#7 2012-01-22 15:53:14

Snarkout
Member
Registered: 2005-11-13
Posts: 542

Re: [solved - non-issue] error: failed to initialize alpm library

Thanks, but I'm using pacman directly in this case, and I don't have /usr/local/bin in root's $PATH at all (though there is a bunch of junk in there I didn't manually add):

# rm /var/cache/pacman/pkg/pacman-4.0.1-4-i686.pkg.tar.gz 
rm: remove regular file `/var/cache/pacman/pkg/pacman-4.0.1-4-i686.pkg.tar.gz'? y

# pacman -S pacman
warning: pacman-4.0.1-4 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...

Targets (1): pacman-4.0.1-4

Total Download Size:    0.98 MiB
Total Installed Size:   3.36 MiB
Net Upgrade Size:       0.00 MiB

Proceed with installation? [Y/n] 
:: Retrieving packages from core...
 pacman-4.0.1-4-i686                                                                    1005.0 KiB   103K/s 00:10 [####################################################################] 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%
(1/1) upgrading pacman                                                                                            [####################################################################] 100%
 >>> Run `pacman-key --init` to set up your pacman keyring.

# pacman -Sr pacman
error: failed to initialise alpm library (could not find or read directory)
/bin:/usr/bin:/sbin:/usr/sbin:/opt/java/bin:/opt/java/db/bin:/opt/java/jre/bin:/opt/kde/bin:/usr/bin/vendor_perl:/usr/bin/core_perl

Just for grins, I manually copied the two missing files into en_US from en_GB, now it bombs here instead:

munmap(0xb783c000, 4096)                = 0
stat64("pacman", 0xbfde14f0)            = -1 ENOENT (No such file or directory)
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2570, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb783c000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2570
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb783c000, 4096)                = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libalpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libalpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libalpm.mo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=12820, ...}) = 0
mmap2(NULL, 12820, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7839000
close(3)                                = 0
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/gconv/gconv-modules", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=56368, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7838000
read(3, "# GNU libc iconv configuration.\n"..., 4096) = 4096
read(3, "B1.002//\nalias\tJS//\t\t\tJUS_I.B1.0"..., 4096) = 4096
read(3, "59-3\t1\nmodule\tINTERNAL\t\tISO-8859"..., 4096) = 4096
read(3, "859-14//\nalias\tISO-IR-199//\t\tISO"..., 4096) = 4096
read(3, "CDIC-DK-NO-A//\tEBCDIC-DK-NO-A\t1\n"..., 4096) = 4096
read(3, "\t\tIBM281//\t\tIBM281\t\t1\n\n#\tfrom\t\t\t"..., 4096) = 4096
read(3, "\tIBM863\t\t1\n\n#\tfrom\t\t\tto\t\t\tmodule"..., 4096) = 4096
read(3, "\tmodule\t\tcost\nalias\tIBM-939//\t\tI"..., 4096) = 4096
read(3, "\t\t\tmodule\t\tcost\nalias\tEUCCN//\t\t\t"..., 4096) = 4096
read(3, "CN//\t\tISO-2022-CN\t1\n\n#\tfrom\t\t\tto"..., 4096) = 4096
read(3, "INTERNAL\t\tISO_5427-EXT//\t\tISO_54"..., 4096) = 4096
read(3, "e\t\tcost\nmodule\tARMSCII-8//\t\tINTE"..., 4096) = 4096
read(3, "2//\nmodule\tIBM1112//\t\tINTERNAL\t\t"..., 4096) = 4096
read(3, "\tIBM9448//\nalias\tCP9448//\t\tIBM94"..., 4096) = 3120
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7838000, 4096)                = 0
futex(0xb77d9fc8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/pacman.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/pacman.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/pacman.mo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=26566, ...}) = 0
mmap2(NULL, 26566, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7832000
close(3)                                = 0
write(2, "error: ", 7error: )                  = 7
write(2, "failed to initialise alpm librar"..., 69failed to initialise alpm library (could not find or read directory)
) = 69
exit_group(-1)                          = ?

Being a coding dunce, I'm assuming i686 and fstat64 aren't in conflict.


Unthinking respect for authority is the greatest enemy of truth.
-Albert Einstein

Offline

#8 2012-01-22 16:05:16

falconindy
Developer
From: New York, USA
Registered: 2009-10-22
Posts: 4,111
Website

Re: [solved - non-issue] error: failed to initialize alpm library

# pacman -Sr pacman

What exactly are you trying to achieve with that? Perhaps you should go look at what the -r flag does.

Offline

#9 2012-01-22 17:04:17

Snarkout
Member
Registered: 2005-11-13
Posts: 542

Re: [solved - non-issue] error: failed to initialize alpm library

DOH!

You're right, I'm using the wrong flag.  I could have sworn that -r and --recursive were the same thing, but obviously not.  I was actually trying to recursively remove packages yesterday and ran into that issue, while trying to do too many other things at once.  I apologize for the noise (and being a dumbass).


Unthinking respect for authority is the greatest enemy of truth.
-Albert Einstein

Offline

#10 2012-02-17 16:27:21

pjezek
Member
From: Praha - CZ
Registered: 2005-05-19
Posts: 79

Re: [solved - non-issue] error: failed to initialize alpm library

Faconindy, I unfortunately formated my /var. How to re-create pacman's files needed for alpm to make pacman functional again? Thanks a lot.


Our tomcat for your mice! Archlinux for your comps! Alfa Romeo for your roads! Faster running guaranted!

Offline

#11 2012-02-17 16:47:35

Mr.Elendig
#archlinux@freenode channel op
From: The intertubes
Registered: 2004-11-07
Posts: 4,092

Re: [solved - non-issue] error: failed to initialize alpm library

pjezek wrote:

Faconindy, I unfortunately formated my /var. How to re-create pacman's files needed for alpm to make pacman functional again? Thanks a lot.

Edit:
Er... nm, misread it. Just mkdir -p the dirs that pacman complains about.
/var/cache/pacman/pkg/
/var/lib/pacman/
and /var/log/ if you have not gotten it back yet.

Last edited by Mr.Elendig (2012-02-17 16:50:04)


Evil #archlinux@libera.chat channel op and general support dude.
. files on github, Screenshots, Random pics and the rest

Offline

#12 2012-03-25 20:08:21

TuxLyn
Member
From: United States
Registered: 2011-10-26
Posts: 283

Re: [solved - non-issue] error: failed to initialize alpm library

This is not working on snapshot 2012-03-25 iso.


::: Using Arch Linux Since October 25, 2011 :::
::: Tutorials: http://distrogeeks.com/ :::

Offline

#13 2012-03-26 08:59:21

Mr.Elendig
#archlinux@freenode channel op
From: The intertubes
Registered: 2004-11-07
Posts: 4,092

Re: [solved - non-issue] error: failed to initialize alpm library

Known issue, just use the official install iso instead.


Evil #archlinux@libera.chat channel op and general support dude.
. files on github, Screenshots, Random pics and the rest

Offline

#14 2012-03-26 18:07:03

TuxLyn
Member
From: United States
Registered: 2011-10-26
Posts: 283

Re: [solved - non-issue] error: failed to initialize alpm library

Actually, I got around this issue by installing this packages,
http://wiki.gotux.net/archlinux/tutoria … al-install

It worked for me ;-) It looks like when you don't install filesystem and initscripts you get that error. I've tested in one of my vm's


::: Using Arch Linux Since October 25, 2011 :::
::: Tutorials: http://distrogeeks.com/ :::

Offline

#15 2012-04-01 20:22:47

TuxLyn
Member
From: United States
Registered: 2011-10-26
Posts: 283

Re: [solved - non-issue] error: failed to initialize alpm library

It looks like this problem is do to /etc/fstab specifically in my case reiserfs see bellow for more details.

For example this reiserfs which is uses default options works.
UUID=#### /var reiserfs defaults 0 2

Where this one, with custom options does not.
UUID=#### /var reiserfs defaults,nodiratime,noatime,discard 0 2

I think reiserfs does not support "discard" option on SSD.
This is why its not mounting filesystem correctly and ones you run pacman -Syu you get that error.

I've tested this on my netbook, and this is why I had this error. I hope this helps.

Last edited by TuxLyn (2012-04-01 20:31:54)


::: Using Arch Linux Since October 25, 2011 :::
::: Tutorials: http://distrogeeks.com/ :::

Offline

Board footer

Powered by FluxBB