You are not logged in.
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
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
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
Offline
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
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
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
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
This is not working on snapshot 2012-03-25 iso.
::: Using Arch Linux Since October 25, 2011 :::
::: Tutorials: http://distrogeeks.com/ :::
Offline
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
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
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