You are not logged in.

#1 2012-07-13 16:13:53

wrc1944
Member
From: Gainesville, Florida
Registered: 2007-10-07
Posts: 117

pacman fails. gcc-uclibc: requires kernel-headers- What's this???

After my last update a few weeks ago, I always get this.  I've updated kernel, pacman, and initscripts manually, and messed with pacman.conf for days.
Read countless forums posts, googled for hours, tried many "solutions" and can't figure this out.  (enable/disable different repos, SigLevels, db refreshes, etc.)

gcc-uclibc kernel-headers don't seem to exist, and only a few references (of no help, and old)) show up in all my searching.

My system boots normally, and is running OK- just can't get pacman to work, and can't get past this blocker

Can anyone point me in the right direction?  Has anyone even seen this gcc-uclibc/kernel-headers error recently. 


root@myhost wrc]# pacman -Syu
:: Synchronizing package databases...
testing                                               185.0   B  20.2K/s 00:00 [#############################################] 100%
testing is up to date
core                                                  185.0   B  2.15M/s 00:00 [#############################################] 100%
core is up to date
extra                                                 185.0   B  2.76M/s 00:00 [#############################################] 100%
extra is up to date
community                                             185.0   B  2.76M/s 00:00 [#############################################] 100%
community is up to date
:: Starting full system upgrade...
:: Replace pyxdg with extra/python2-xdg? [Y/n] Y
resolving dependencies...
looking for inter-conflicts...
error: failed to prepare transaction (could not satisfy dependencies)
:: gcc-uclibc: requires kernel-headers
[root@myhost wrc]#

Last edited by wrc1944 (2012-07-13 16:43:49)

Offline

#2 2012-07-13 16:24:19

ethail
Member
From: Spain
Registered: 2011-02-10
Posts: 225

Re: pacman fails. gcc-uclibc: requires kernel-headers- What's this???

someone seems to have messed up with that gcc-uclibc deps, I'd say. Shouldn't it be linux-headers instead of kernel-headers?

Last edited by ethail (2012-07-13 16:25:04)


My GitHub Page

Best Testing Repo Warning: [testing] means it can eat you hamster, catch fire and you should keep it away from children. And I'm serious here, it's not an April 1st joke.

Offline

#3 2012-07-13 16:32:10

wrc1944
Member
From: Gainesville, Florida
Registered: 2007-10-07
Posts: 117

Re: pacman fails. gcc-uclibc: requires kernel-headers- What's this???

That's what I thought at first, so I installed linux-headers, but it made no difference.

Offline

#4 2012-07-13 16:52:56

ethail
Member
From: Spain
Registered: 2011-02-10
Posts: 225

Re: pacman fails. gcc-uclibc: requires kernel-headers- What's this???

Because linux-headers don't provide kernel-headers but kernel26-headers. You have to rebuild it (gcc-uclibc)

Last edited by ethail (2012-07-13 16:53:08)


My GitHub Page

Best Testing Repo Warning: [testing] means it can eat you hamster, catch fire and you should keep it away from children. And I'm serious here, it's not an April 1st joke.

Offline

#5 2012-07-13 17:59:42

wrc1944
Member
From: Gainesville, Florida
Registered: 2007-10-07
Posts: 117

Re: pacman fails. gcc-uclibc: requires kernel-headers- What's this???

Hmmm.  Many thanks for the advice, but I'm not sure what you mean by "You have to rebuild it (gcc-uclibc)"

I never "built" anything outside of pacman, as I'm using an Arch binary installation.  If I'm not building/compiling any packages in Arch (and never have), I can't see how I would suddenly be required to do so now.  In any case, AFAIK the gcc-uclibc and kernel-headers packages don't exist in any repo on the Arch mirrors.

When I said I installed "linux-headers" I mean I just did a normal pacman -S linux-headers, not that I actually compiled it.  I'm a long time Gentoo testing user, so I'm very used to building kernels and compiling everything. 

pactree gives me this:

[root@myhost wrc]# pactree gcc-uclibc
|--gcc-uclibc
   |--gcc-libs-uclibc
      |--uclibc-runtime
   |--binutils-uclibc
      |--binutils
         |--glibc
            |--linux-api-headers
            |--tzdata
         |--zlib
            |--glibc
      |--zlib
   |--uclibc
      |--uclibc-runtime
   |--mpfr
      |--gmp
         |--gcc-libs
            |--glibc
         +--bash provides sh
            |--readline
               |--glibc
               |--ncurses
                  |--glibc
            |--glibc
   |--cloog-ppl
      |--ppl
         |--gmp
   +--linux-api-headers provides kernel-headers

However, I still get this:

[root@myhost wrc]# pacman -S linux-api-headers
resolving dependencies...
looking for inter-conflicts...
error: failed to prepare transaction (could not satisfy dependencies)
:: gcc-uclibc: requires kernel-headers
[root@myhost wrc]#

AND:
[root@myhost wrc]# pacman -S gcc-uclibc
error: target not found: gcc-uclibc
[root@myhost wrc]#

As mentioned, gcc-uclibc doesn't exist on my system, and there's no such package on any Arch mirror, so I'm still at a loss as to explain what's going on.


Hmmm.  Should I upgrade systemd from my current 185-2?

[root@myhost wrc]# pacman -S systemd
resolving dependencies...
looking for inter-conflicts...

Targets (3): libsystemd-186-2  systemd-tools-186-2  systemd-186-2

Total Download Size:    1.16 MiB
Total Installed Size:   7.66 MiB
Net Upgrade Size:       4.18 MiB

Proceed with installation? [Y/n]

Also- my system currently still has glibc 2.15-12.  Do i need the upgrade mentioned here:

http://mailman.archlinux.org/pipermail/ … uly/023204.

Quote:
Allan pushed glib 2.16-2 into [testing] which removes /lib as a
>> directory, replacing it with a symlink. A bit of advice...
>>
>> - In the simplest case, the upgrade can be done as simply as:
>>
>>     pacman -Syu --ignore glibc && pacman -S glibc

Last edited by wrc1944 (2012-07-13 18:09:37)

Offline

#6 2012-07-13 18:27:07

ethail
Member
From: Spain
Registered: 2011-02-10
Posts: 225

Re: pacman fails. gcc-uclibc: requires kernel-headers- What's this???

First of all, if you are going to upgrade something on your system, update it all. Arch doesn't support partial upgrades.

Second, as you said, gcc-uclibc doesn't exist in the mirrors, that's what made me think it was an AUR package or something like that. And I'm seeing that I can't help you with that issue.


My GitHub Page

Best Testing Repo Warning: [testing] means it can eat you hamster, catch fire and you should keep it away from children. And I'm serious here, it's not an April 1st joke.

Offline

#7 2012-07-13 18:37:19

wrc1944
Member
From: Gainesville, Florida
Registered: 2007-10-07
Posts: 117

Re: pacman fails. gcc-uclibc: requires kernel-headers- What's this???

I'd like to update it all, but pacman won't let me.

Anyway, I've had some good progress:
Found this:
https://wiki.archlinux.org/index.php/De … iki:usrlib

Looked like it applied, so I did:

[root@myhost wrc]# pacman -Sd binutils gcc gcc-libs
resolving dependencies...
looking for inter-conflicts...

Targets (3): binutils-2.22-9  gcc-4.7.1-4  gcc-libs-4.7.1-4

Total Download Size:    22.48 MiB
Total Installed Size:   93.93 MiB
Net Upgrade Size:       -0.05 MiB

Proceed with installation? [Y/n] Y
:: Retrieving packages from testing...
binutils-2.22-9-x86_64                                185.0   B  2.38M/s 00:00 [#############################################] 100%
binutils-2.22-9-x86_64                                  3.4 MiB   470K/s 00:07 [#############################################] 100%
:: Retrieving packages from core...
gcc-libs-4.7.1-4-x86_64                               185.0   B  2.05M/s 00:00 [#############################################] 100%
gcc-libs-4.7.1-4-x86_64                               769.0 KiB   563K/s 00:01 [#############################################] 100%
gcc-4.7.1-4-x86_64                                    185.0   B  2.08M/s 00:00 [#############################################] 100%
gcc-4.7.1-4-x86_64                                     18.4 MiB   479K/s 00:39 [#############################################] 100%
(3/3) checking package integrity                                                [#############################################] 100%
(3/3) loading package files                                                     [#############################################] 100%
(3/3) checking for file conflicts                                               [#############################################] 100%
(3/3) checking available disk space                                             [#############################################] 100%
(1/3) upgrading binutils                                                        [#############################################] 100%
(2/3) upgrading gcc-libs                                                        [#############################################] 100%
(3/3) upgrading gcc                                                             [#############################################] 100%
[root@myhost wrc]#


That looked good, and I thought I had it solved, but then I still get:

[root@myhost wrc]# pacman -Su
:: Starting full system upgrade...
:: Replace pyxdg with extra/python2-xdg? [Y/n] Y
resolving dependencies...
looking for inter-conflicts...
error: failed to prepare transaction (could not satisfy dependencies)
:: gcc-uclibc: requires kernel-headers
[root@myhost wrc]# pacman -Su
:: Starting full system upgrade...
:: Replace pyxdg with extra/python2-xdg? [Y/n] n
resolving dependencies...
looking for inter-conflicts...
error: failed to prepare transaction (could not satisfy dependencies)
:: gcc-uclibc: requires kernel-headers
[root@myhost wrc]#

I think I'm on the right track here- need to look at issue 2 on the DeveloperWiki:usrlib page, after the pacman -Su had a problem.  I do still have a completely populated /lib, which according to the wiki page says its content should now be moved to /usr/lib.

Any advide on this last point?

Thanks again for the help.

Offline

#8 2012-07-13 18:44:49

xduugu
Member
Registered: 2008-10-16
Posts: 291

Re: pacman fails. gcc-uclibc: requires kernel-headers- What's this???

Do you need gcc-uclibc? It seems to be really old. If not, try to remove it.

Offline

#9 2012-07-13 19:20:16

wrc1944
Member
From: Gainesville, Florida
Registered: 2007-10-07
Posts: 117

Re: pacman fails. gcc-uclibc: requires kernel-headers- What's this???

gcc-uclibc is not on my system.  I'm following instructions on the issues 2 section of the above mentioned wiki page, and have gotten the list down to this:

 [root@myhost wrc]# find /lib -exec pacman -Qo -- '{}' \+
error: cannot determine ownership of directory '/lib'
/lib/libpthread.so.0 is owned by glibc 2.15-12
/lib/libnss_nis.so.2 is owned by glibc 2.15-12
/lib/libthread_db.so.1 is owned by glibc 2.15-12
/lib/libnss_dns.so.2 is owned by glibc 2.15-12
/lib/ld64-uClibc-0.9.30.1.so is owned by uclibc-runtime 0.9.30.1-4
/lib/libnss_files-2.15.so is owned by glibc 2.15-12
/lib/libm-2.15.so is owned by glibc 2.15-12
/lib/libnss_compat.so.2 is owned by glibc 2.15-12
/lib/libnss_db.so.2 is owned by glibc 2.15-12
/lib/libm.so.6 is owned by glibc 2.15-12
/lib/libpcprofile.so is owned by glibc 2.15-12
/lib/libc.so.6 is owned by glibc 2.15-12
/lib/ld64-uClibc.so.0 is owned by uclibc-runtime 0.9.30.1-4
/lib/libnss_nisplus.so.2 is owned by glibc 2.15-12
/lib/librt.so.1 is owned by glibc 2.15-12
/lib/libcidn.so.1 is owned by glibc 2.15-12
/lib/libanl-2.15.so is owned by glibc 2.15-12
/lib/libBrokenLocale-2.15.so is owned by glibc 2.15-12
/lib/libnss_nisplus-2.15.so is owned by glibc 2.15-12
/lib/libutil-2.15.so is owned by glibc 2.15-12
/lib/libdl-2.15.so is owned by glibc 2.15-12
/lib/libresolv-2.15.so is owned by glibc 2.15-12
/lib/libnss_db-2.15.so is owned by glibc 2.15-12
/lib/ld-linux-x86-64.so.2 is owned by glibc 2.15-12
/lib/ld-linux.so.2 is owned by lib32-glibc 2.15-10
/lib/libnss_hesiod.so.2 is owned by glibc 2.15-12
/lib/libanl.so.1 is owned by glibc 2.15-12
/lib/libcrypt-2.15.so is owned by glibc 2.15-12
/lib/libnss_files.so.2 is owned by glibc 2.15-12
/lib/libSegFault.so is owned by glibc 2.15-12
/lib/libdl.so.2 is owned by glibc 2.15-12
/lib/libnsl-2.15.so is owned by glibc 2.15-12
/lib/libBrokenLocale.so.1 is owned by glibc 2.15-12
/lib/libnss_nis-2.15.so is owned by glibc 2.15-12
/lib/librt-2.15.so is owned by glibc 2.15-12
/lib/libnsl.so.1 is owned by glibc 2.15-12
/lib/libc-2.15.so is owned by glibc 2.15-12
/lib/libcidn-2.15.so is owned by glibc 2.15-12
/lib/libnss_hesiod-2.15.so is owned by glibc 2.15-12
/lib/libcrypt.so.1 is owned by glibc 2.15-12
/lib/libresolv.so.2 is owned by glibc 2.15-12
/lib/libnss_dns-2.15.so is owned by glibc 2.15-12
/lib/libnss_compat-2.15.so is owned by glibc 2.15-12
/lib/libpthread-2.15.so is owned by glibc 2.15-12
/lib/ld-2.15.so is owned by glibc 2.15-12
/lib/libutil.so.1 is owned by glibc 2.15-12
/lib/libmemusage.so is owned by glibc 2.15-12
/lib/libthread_db-1.0.so is owned by glibc 2.15-12
[root@myhost wrc]# 

However, pacman -Su still gives the blocking error:

 [root@myhost wrc]# pacman -Su
:: Starting full system upgrade...
:: Replace pyxdg with extra/python2-xdg? [Y/n] Y
resolving dependencies...
looking for inter-conflicts...
error: failed to prepare transaction (could not satisfy dependencies)
:: gcc-uclibc: requires kernel-headers
[root@myhost wrc]# 

The next step gives me this, supposedly all these need rebuilding?  How can this be, as I'm using the Arch Linux binary packages, and have never rebuilt (re-compiled anything?

 [root@myhost wrc]# grep -R --include files "^lib/" /var/lib/pacman/local/
/var/lib/pacman/local/uclibc-runtime-0.9.30.1-4/files:lib/
/var/lib/pacman/local/uclibc-runtime-0.9.30.1-4/files:lib/ld64-uClibc-0.9.30.1.so
/var/lib/pacman/local/uclibc-runtime-0.9.30.1-4/files:lib/ld64-uClibc.so.0
/var/lib/pacman/local/lib32-glibc-2.15-10/files:lib/
/var/lib/pacman/local/lib32-glibc-2.15-10/files:lib/ld-linux.so.2
/var/lib/pacman/local/glibc-2.15-12/files:lib/
/var/lib/pacman/local/glibc-2.15-12/files:lib/ld-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/ld-linux-x86-64.so.2
/var/lib/pacman/local/glibc-2.15-12/files:lib/libBrokenLocale-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libBrokenLocale.so.1
/var/lib/pacman/local/glibc-2.15-12/files:lib/libSegFault.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libanl-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libanl.so.1
/var/lib/pacman/local/glibc-2.15-12/files:lib/libc-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libc.so.6
/var/lib/pacman/local/glibc-2.15-12/files:lib/libcidn-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libcidn.so.1
/var/lib/pacman/local/glibc-2.15-12/files:lib/libcrypt-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libcrypt.so.1
/var/lib/pacman/local/glibc-2.15-12/files:lib/libdl-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libdl.so.2
/var/lib/pacman/local/glibc-2.15-12/files:lib/libm-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libm.so.6
/var/lib/pacman/local/glibc-2.15-12/files:lib/libmemusage.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnsl-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnsl.so.1
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_compat-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_compat.so.2
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_db-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_db.so.2
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_dns-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_dns.so.2
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_files-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_files.so.2
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_hesiod-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_hesiod.so.2
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_nis-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_nis.so.2
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_nisplus-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libnss_nisplus.so.2
/var/lib/pacman/local/glibc-2.15-12/files:lib/libpcprofile.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libpthread-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libpthread.so.0
/var/lib/pacman/local/glibc-2.15-12/files:lib/libresolv-2.15.so"pacman -Qdt"
/var/lib/pacman/local/glibc-2.15-12/files:lib/libresolv.so.2
/var/lib/pacman/local/glibc-2.15-12/files:lib/librt-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/librt.so.1
/var/lib/pacman/local/glibc-2.15-12/files:lib/libthread_db-1.0.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libthread_db.so.1
/var/lib/pacman/local/glibc-2.15-12/files:lib/libutil-2.15.so
/var/lib/pacman/local/glibc-2.15-12/files:lib/libutil.so.1
/var/lib/pacman/local/hal-0.5.14-6/files:lib/
/var/lib/pacman/local/hal-0.5.14-6/files:lib/udev/
/var/lib/pacman/local/hal-0.5.14-6/files:lib/udev/rules.d/
/var/lib/pacman/local/hal-0.5.14-6/files:lib/udev/rules.d/90-hal.rules
[root@myhost wrc 

Quote on issue 2 from the wiki page:

Issue 2: The final "pacman -Su" still has conflicts in /lib

This means that you have files or folders still in /lib or pacman thinks a package apart from glibc still own /lib. You can see which package own files in /lib by using:

find /lib -exec pacman -Qo -- '{}' \+

If any package apart from glibc is listed as owning a file, that package needs to be updated to install its files in /usr/lib. Any files unowned by a package should be moved to /usr/lib and any directories within /lib need deleted (after they are empty...).

If after this the "pacman -Su" still has conflicts with /lib, this is because a package on your system other than glibc thinks it owns the /lib folder. Such packages can be detected using:

grep -R --include files "^lib/" /var/lib/pacman/local/

These packages need rebuilding so as not to include the /lib directory. Then the final "pacman -Su" will successfully install glibc.


You can confirm the update is complete by looking in your root directory to see that lib is a symlink to usr/lib.

> ls -ld /lib
lrwxrwxrwx   1 root root     7 Jul 11 21:10 lib -> usr/lib

Last edited by wrc1944 (2012-07-13 21:06:54)

Offline

#10 2012-07-13 20:35:58

xduugu
Member
Registered: 2008-10-16
Posts: 291

Re: pacman fails. gcc-uclibc: requires kernel-headers- What's this???

wrc1944 wrote:

gcc-uclibc is not on my system.  I'm following instructions on the issues 2 section of the above mentioned wiki page, and have gotten the list down to this:

[root@myhost wrc]# find /lib -exec pacman -Qo -- '{}' \+
[...]
/lib/ld64-uClibc-0.9.30.1.so is owned by uclibc-runtime 0.9.30.1-4

I see, but the same applies for uclibc-runtime. The cause for your issue seem to be packages that were removed from the repos long time ago. Please run "pacman -Qdt", check the output and remove all the packages you do not need anymore.

Btw, please use code boxes for the commands' output.

[code]Some long text[/code]

Offline

#11 2012-07-13 21:06:40

fsckd
Forum Moderator
Registered: 2009-06-15
Posts: 3,636

Re: pacman fails. gcc-uclibc: requires kernel-headers- What's this???

wrc1944 wrote:

gcc-uclibc is not on my system.

give the output of pacman -Qi gcc-uclibc


aur S & M :: forum rules :: Community Ethos
Resources for Women, POC, LGBT*, and allies

Offline

Board footer

Powered by FluxBB