Re: [gentoo-user] eject and util-linux blocker
On Wednesday 18 March 2015 23:14:20 Dale wrote: Peter Humphrey wrote: On Wednesday 18 March 2015 13:12:47 Dale wrote: I switched way back in 2003 when it was rare that a init thingy was needed in Gentoo. It seems someone screwed that up. I still don't have one, nor do I foresee a need. I didn't have one until I recently rebooted and got a bunch of errors. After posting those here, it seems I need to have one. ONLY if you have /usr on a separate partition! I don't like it one bit tho. Me neither. That's why my /usr is on the root partition. :) -- Rgds Peter.
Re: [gentoo-user] eject and util-linux blocker
Peter Humphrey wrote: On Wednesday 18 March 2015 23:14:20 Dale wrote: Peter Humphrey wrote: On Wednesday 18 March 2015 13:12:47 Dale wrote: I switched way back in 2003 when it was rare that a init thingy was needed in Gentoo. It seems someone screwed that up. I still don't have one, nor do I foresee a need. I didn't have one until I recently rebooted and got a bunch of errors. After posting those here, it seems I need to have one. ONLY if you have /usr on a separate partition! Yes but as I have explained a few times, I have a reason/need for having it on a separate partition. I don't like it one bit tho. Me neither. That's why my /usr is on the root partition. :) Well, that won't work well here. Dale :-) :-)
Re: [gentoo-user] eject and util-linux blocker
On Wednesday 18 March 2015 04:33:18 Dale wrote: Well, /boot doesn't change to much, plus it is fairly small anyway. The root partition doesn't change a whole lot either. /usr tho, it tends to grow. If nothing else, it grows as KDE grows but it grows with the number of kernels I have too. Of course, other packages grows too. /var is good to have on a separate partition since sometimes a log file can grow to some outrageous sizes. I've actually had that happen twice over the years. Something goes goofy and fills up a log file until it is seriously huge and fills up /var. /home is separate for obvious reasons plus mine is really huge. 1.8TBs right now. It started out that it was advised to set up partitions like this. Then LVM came along and made it even more reasonable since I can grow the partitions that need it. The init thingy because of some packages being moved to /usr didn't hurt the cause I guess either. So, I have it set up the way I do because for my setup, it is the best way. I can adjust things without having to have spare drives to move things around with. Yes, I see all that, except for /usr. It does grow, but under some sort of control, which (it seems to me) isn't enough cause to submit to all the indignities involved in getting your init thingy working. Here's the relevant part of my fstab: /dev/sda1 /boot ext2 relatime,noauto 1 2 /dev/md5 / ext4 relatime1 1 /dev/vg7/home /home ext4 relatime1 2 /dev/vg7/common/home/prh/common ext4 relatime1 3 /dev/vg7/boinc /home/prh/boincext4 relatime1 2 /dev/vg7/virt /home/prh/.VirtualBox ext4 relatime1 3 /dev/vg7/portage /var/portage ext4 relatime1 2 /dev/vg7/packages /usr/portage/packages ext4 relatime1 3 /dev/vg7/distfiles /usr/portage/distfiles ext4 relatime1 3 /dev/vg7/local /usr/local ext4 relatime1 3 /dev/vg7/opt /opt ext4 relatime1 2 /dev/vg7/tmp /tmp ext2 relatime1 2 /dev/vg7/vartmp/mnt/scratch/ ext2 relatime1 2 I ought to move /var to its own partition, for the reason you gave, and it's also time I put /boot back on /dev/md1 where it used to be (/dev/sda1 /dev/sdb1). -- Rgds Peter.
Re: [gentoo-user] eject and util-linux blocker
Peter Humphrey wrote: On Tuesday 17 March 2015 16:07:29 Dale wrote: I don't have / on lvm. /boot and / are on regular partitions. Everything else, /usr, /var and /home, are on lvm. Keep in mind, I was trying to avoid that init thingy. I remember something of that discussion, but not why you wanted to keep /usr on a separate partition. Why is that? Is it one of those sacred cows that just growed like Topsy?:) Well, /boot doesn't change to much, plus it is fairly small anyway. The root partition doesn't change a whole lot either. /usr tho, it tends to grow. If nothing else, it grows as KDE grows but it grows with the number of kernels I have too. Of course, other packages grows too. /var is good to have on a separate partition since sometimes a log file can grow to some outrageous sizes. I've actually had that happen twice over the years. Something goes goofy and fills up a log file until it is seriously huge and fills up /var. /home is separate for obvious reasons plus mine is really huge. 1.8TBs right now. It started out that it was advised to set up partitions like this. Then LVM came along and made it even more reasonable since I can grow the partitions that need it. The init thingy because of some packages being moved to /usr didn't hurt the cause I guess either. So, I have it set up the way I do because for my setup, it is the best way. I can adjust things without having to have spare drives to move things around with. Dale :-) :-)
Re: [gentoo-user] eject and util-linux blocker
On Tuesday 17 March 2015 16:07:29 Dale wrote: I don't have / on lvm. /boot and / are on regular partitions. Everything else, /usr, /var and /home, are on lvm. Keep in mind, I was trying to avoid that init thingy. I remember something of that discussion, but not why you wanted to keep /usr on a separate partition. Why is that? Is it one of those sacred cows that just growed like Topsy?:) -- Rgds Peter.
Re: [gentoo-user] eject and util-linux blocker
On Wed, 18 Mar 2015 08:54:40 +, Peter Humphrey wrote: I don't have / on lvm. /boot and / are on regular partitions. Everything else, /usr, /var and /home, are on lvm. Keep in mind, I was trying to avoid that init thingy. I remember something of that discussion, but not why you wanted to keep /usr on a separate partition. Why is that? Is it one of those sacred cows that just growed like Topsy?:) In order to avoid an init thingy[tm]. If you want root on LVM you need a thingy thingy, a separate root avoids that. I used to run a similar configuration for the same reason, separate /root on ext4 but no separate /boot. Nowadays, I don't use LVM and I've grown to like dracut. -- Neil Bothwick If someone with multiple personalities threatens to kill himself, is it considered a hostage situation? pgpqk4vYJYc2v.pgp Description: OpenPGP digital signature
Re: [gentoo-user] eject and util-linux blocker
On Tue, Mar 17, 2015 at 5:07 PM, Dale rdalek1...@gmail.com wrote: Alan McKinnon wrote: You are reading it wrong. That means: util-linux needs to be built with USE=static-libs because lvm2 is already built with USE=static None of which explains why you originally built lvm2 that way. It was because emerge told me it needed it for some reason. It is very rare that I just put something in package.use on my own. This was probably required by some script for mounting /usr or by some initramfs you were using before you switched to dracut. Dracut is pretty advanced by initramfs standards. It handles dynamic linking just fine (bundling libraries/etc as needed). Simpler initramfs tools and such don't, and to make things easier there is a tendency to build anything needed to mount root/usr static so that it is certain to run correctly. You can look inside an initramfs by doing the following: mkdir /tmp/ext cd /tmp/ext zcat /boot/initramfs-3.18.9-gentoo.img | cpio -i find usr find lib64 ... There is quite a bit of dynamic linking going on in a typical dracut initramfs, and quite a bit of stuff installed in /usr it utilizes either to mount root/usr or just for operator convenience (it is nice to be able to use less in an emergency shell, and so on). It is also really easy to tell dracut to add stuff to an initramfs. I tweaked my btrfs module to add btrfstune to the initramfs so that I could easily enable skinny metadata without a boot CD. In some sense, you could think of an initramfs as the rescue CD you always have ready (though I also keep systemrescuecd handy on a USB stick). -- Rich
Re: [gentoo-user] eject and util-linux blocker
Peter Humphrey wrote: On Wednesday 18 March 2015 04:33:18 Dale wrote: Well, /boot doesn't change to much, plus it is fairly small anyway. The root partition doesn't change a whole lot either. /usr tho, it tends to grow. If nothing else, it grows as KDE grows but it grows with the number of kernels I have too. Of course, other packages grows too. /var is good to have on a separate partition since sometimes a log file can grow to some outrageous sizes. I've actually had that happen twice over the years. Something goes goofy and fills up a log file until it is seriously huge and fills up /var. /home is separate for obvious reasons plus mine is really huge. 1.8TBs right now. It started out that it was advised to set up partitions like this. Then LVM came along and made it even more reasonable since I can grow the partitions that need it. The init thingy because of some packages being moved to /usr didn't hurt the cause I guess either. So, I have it set up the way I do because for my setup, it is the best way. I can adjust things without having to have spare drives to move things around with. Yes, I see all that, except for /usr. It does grow, but under some sort of control, which (it seems to me) isn't enough cause to submit to all the indignities involved in getting your init thingy working. Here's the relevant part of my fstab: /dev/sda1 /boot ext2 relatime,noauto 1 2 /dev/md5 / ext4 relatime1 1 /dev/vg7/home /home ext4 relatime1 2 /dev/vg7/common/home/prh/common ext4 relatime1 3 /dev/vg7/boinc /home/prh/boincext4 relatime1 2 /dev/vg7/virt /home/prh/.VirtualBox ext4 relatime1 3 /dev/vg7/portage /var/portage ext4 relatime1 2 /dev/vg7/packages /usr/portage/packages ext4 relatime1 3 /dev/vg7/distfiles /usr/portage/distfiles ext4 relatime1 3 /dev/vg7/local /usr/local ext4 relatime1 3 /dev/vg7/opt /opt ext4 relatime1 2 /dev/vg7/tmp /tmp ext2 relatime1 2 /dev/vg7/vartmp/mnt/scratch/ ext2 relatime1 2 I ought to move /var to its own partition, for the reason you gave, and it's also time I put /boot back on /dev/md1 where it used to be (/dev/sda1 /dev/sdb1). Well, since I set this rig up, I have had to grow /usr twice. The only reason I have not had to grow it recently is because I moved all the portage stuff to /var. In the past, I had to move everything to another drive, rework the partitions, move everything back and then hope for the best. With my current setup, I just grow the partition and carry on as usual, generally while I am doing stuff on the system since I don't think I even have to unmount the partitions. As I said, this is what works best for me. As long as it works, it is the way it is. I may later switch to the new btrfs, (sp?), but that may be a while. Dale :-) :-)
Re: [gentoo-user] eject and util-linux blocker
On Wednesday 18 March 2015 11:14:43 Dale wrote: Well, since I set this rig up, I have had to grow /usr twice. The only reason I have not had to grow it recently is because I moved all the portage stuff to /var. In the past, I had to move everything to another drive, rework the partitions, move everything back and then hope for the best. With my current setup, I just grow the partition and carry on as usual, generally while I am doing stuff on the system since I don't think I even have to unmount the partitions. Seems I'm not getting through. Never mind - doesn't matter. As I said, this is what works best for me. As long as it works, it is the way it is. Indeed. To each his own. -- Rgds Peter.
Re: [gentoo-user] eject and util-linux blocker
Poncho wrote: On 18.03.2015 17:37, Rich Freeman wrote: [...] You can look inside an initramfs by doing the following: mkdir /tmp/ext cd /tmp/ext zcat /boot/initramfs-3.18.9-gentoo.img | cpio -i find usr find lib64 ... [...] dracut comes with the /usr/bin/lsinitrd tool. pretty convenient. With the -f option, you can print the contents of file as well. I thought there was a tool that just lists the contents. Things is, I'm not sure what I would be looking at. I figure the contents of some of the files is more important than whether it is there or not. I guess. I have a bad history with these init thingys. It was one reason I switched to Gentoo. Keep in mind, I switched way back in 2003 when it was rare that a init thingy was needed in Gentoo. It seems someone screwed that up. Anyway. I try to keep a few fall back plans around. Spare kernels etc. ;-) Dale :-) :-)
Re: [gentoo-user] eject and util-linux blocker
On 18.03.2015 17:37, Rich Freeman wrote: [...] You can look inside an initramfs by doing the following: mkdir /tmp/ext cd /tmp/ext zcat /boot/initramfs-3.18.9-gentoo.img | cpio -i find usr find lib64 ... [...] dracut comes with the /usr/bin/lsinitrd tool. pretty convenient. With the -f option, you can print the contents of file as well.
Re: [gentoo-user] eject and util-linux blocker
On Wednesday 18 March 2015 13:12:47 Dale wrote: I switched way back in 2003 when it was rare that a init thingy was needed in Gentoo. It seems someone screwed that up. I still don't have one, nor do I foresee a need. I try to keep a few fall back plans around. Spare kernels etc. One old kernel has always been enough for me, together with the current one of course. -- Rgds Peter.
Re: [gentoo-user] eject and util-linux blocker
Peter Humphrey wrote: On Wednesday 18 March 2015 13:12:47 Dale wrote: I switched way back in 2003 when it was rare that a init thingy was needed in Gentoo. It seems someone screwed that up. I still don't have one, nor do I foresee a need. I didn't have one until I recently rebooted and got a bunch of errors. After posting those here, it seems I need to have one. I don't like it one bit tho. I try to keep a few fall back plans around. Spare kernels etc. One old kernel has always been enough for me, together with the current one of course. Well, I clean them out every once in a while. I don't have a issue with having a plan G just in case. ;-) Dale :-) :-)
Re: [gentoo-user] eject and util-linux blocker
On Wed, Mar 18, 2015 at 2:12 PM, Dale rdalek1...@gmail.com wrote: I thought there was a tool that just lists the contents. Things is, I'm not sure what I would be looking at. An initramfs is just a root filesystem. init is /sbin/init unless the kernel is told otherwise. If you took your entire root filesystem, compressed it into a cpio archive, and put that in grub as your initramfs, then your entire distro would run from a ramdisk and you might not even notice the difference (well, assuming you had enough RAM). The only real magic with an initramfs is that it mounts your real root somewhere, then swaps it out for the real root: http://manpages.courier-mta.org/htmlman8/switch_root.8.html This is a bit like chroot, but the old root filesystem is deleted in the process (so that your initramfs does not consume any RAM once the system actually boots). I'm not sure exactly how dracut does it with systemd, since my understanding is that during shutdown systemd actually pivots back to the initramfs (which allows all filesystems to be cleanly unmounted instead of merely being mounted read-only). -- Rich
Re: [gentoo-user] eject and util-linux blocker
On 17/03/2015 03:43, Dale wrote: [...snip] root@fireball / # emerge -uvaDN world -t These are the packages that would be merged, in reverse order: Calculating dependencies... done! [nomerge ] lxde-base/lxde-meta-0.5.5-r4::gentoo [nomerge ] x11-misc/pcmanfm-1.2.3::gentoo USE=-debug [ebuild N ] virtual/eject-0::gentoo 0 KiB [ebuild UD ]sys-apps/util-linux-2.24.1-r3::gentoo [2.26.1::gentoo] USE=bash-completion%* cramfs ncurses nls pam static-libs* suid udev unicode -caps -cytune% -fdformat -python (-selinux) -slang {-test} -tty-helpers (-systemd%) ABI_X86=(64) (-32) (-x32) PYTHON_SINGLE_TARGET=python2_7 -python3_3 -python3_4 PYTHON_TARGETS=python2_7 python3_3 -python3_4 0 KiB [ebuild N ]sys-block/eject-2.1.5-r2::gentoo USE=nls 121 KiB [blocks B ] sys-block/eject (sys-block/eject is blocking sys-apps/util-linux-2.24.1-r3) Total: 3 packages (1 downgrade, 2 new), Size of downloads: 121 KiB Conflict: 1 block (1 unsatisfied) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (sys-block/eject-2.1.5-r2:0/0::gentoo, ebuild scheduled for merge) pulled in by sys-block/eject required by (virtual/eject-0:0/0::gentoo, ebuild scheduled for merge) (sys-apps/util-linux-2.24.1-r3:0/0::gentoo, ebuild scheduled for merge) pulled in by =sys-apps/util-linux-2.13 required by (www-plugins/nspluginwrapper-1.4.4-r3:0/0::gentoo, installed) sys-apps/util-linux-2.25[static-libs] required by (sys-fs/lvm2-2.02.109:0/0::gentoo, installed) Looks like this is the source of your problem. When dealing with blocking downgrades I like to search for the character to find what other package is limiting the highest version. The above is the only one. The DEPEND for lvm2 looks like this: RDEPEND=${DEPEND_COMMON} ... =sys-apps/util-linux-2.16 ... DEPEND=${DEPEND_COMMON} static? ( selinux? ( sys-libs/libselinux[static-libs] ) udev? ( =virtual/libudev-208:=[static-libs] ) sys-apps/util-linux-2.25[static-libs] ) Do you have lvm2 built with USE=static? Second question is why will portage not upgrade lvm2 for you? What do you get from this: emerge -pv lvm2 -- Alan McKinnon alan.mckin...@gmail.com
Re: [gentoo-user] eject and util-linux blocker
Mike Gilbert wrote: On Tue, Mar 17, 2015 at 2:10 PM, Dale rdalek1...@gmail.com wrote: Alan McKinnon wrote: Your basic problem is that you have static and static-libs in USE. When applied to lvm, a whole bunch of blockers kick in and you get what you got. So take them out of USE. USE=static static-libs has it's uses, it's great for building rescue disks, busybox and maybe some disk repair utils, but makes very little sense on a regular workstation. If you break your workstation, you'll boot off a rescue disk and use the tools on it to fix your install, so you don't need it on the main system. There is nothing wrong with your eudev. lvm2 is bitching about blockers between lvm2 built with USE=static and udev - there's some incompatibility there and the ebuild knows about them I went through the package.use file and commented out the static and static-libs stuff. It seems happy but thing is, when I put them there, they were needed for some reason. Actually, all the parts I found had the output of where emerge said those were needed. Maybe the reason they were needed then has changed and they are no longer needed. I hope anyway. ;-) I know there were some guides for doing LVM root that used to advise building stuff statically, probably because of some problem with genkernel. With a modern initramfs (dracut, and possible recent genkernel), shared libs work just as well, so there should be no need. Well, in package.use, it has some output of emerge that said it needed. Here is a snippet: # required by sys-fs/lvm2-2.02.109[static] # required by @selected # required by @world (argument) #=sys-apps/util-linux-2.24.1-r3 static-libs # required by virtual/udev-208-r2 # required by @selected # required by @world (argument) #virtual/libudev static-libs # required by virtual/udev-208-r2[gudev] # required by @selected # required by @world (argument) #virtual/libgudev static-libs There's a couple more but you get the idea. I don't use genkernel, tried it but never got a working kernel from it so I do them by hand. Everything built OK with no more complaining so I guess whatever it is has changed. Still weird tho. Dale :-) :-)
Re: [gentoo-user] eject and util-linux blocker
On 17/03/2015 20:10, Dale wrote: Alan McKinnon wrote: Your basic problem is that you have static and static-libs in USE. When applied to lvm, a whole bunch of blockers kick in and you get what you got. So take them out of USE. USE=static static-libs has it's uses, it's great for building rescue disks, busybox and maybe some disk repair utils, but makes very little sense on a regular workstation. If you break your workstation, you'll boot off a rescue disk and use the tools on it to fix your install, so you don't need it on the main system. There is nothing wrong with your eudev. lvm2 is bitching about blockers between lvm2 built with USE=static and udev - there's some incompatibility there and the ebuild knows about them I went through the package.use file and commented out the static and static-libs stuff. It seems happy but thing is, when I put them there, they were needed for some reason. Actually, all the parts I found had the output of where emerge said those were needed. Maybe the reason they were needed then has changed and they are no longer needed. I hope anyway. ;-) Thanks. I'm not sure I would have ever figured out that it was that causing the problem. That got pretty deep. I've gotten to the point where I can make sense of portage output (it took a while!) but I have no idea how to explain how I do it :-) Portage makes a very fundamental blunder - it exposes the underlying implementation in the output. The odds are very slim the average user will ever make reasonable sense of it. -- Alan McKinnon alan.mckin...@gmail.com
Re: [gentoo-user] eject and util-linux blocker
Alan McKinnon wrote: On 17/03/2015 22:16, Dale wrote: Mike Gilbert wrote: On Tue, Mar 17, 2015 at 2:10 PM, Dale rdalek1...@gmail.com wrote: Alan McKinnon wrote: Your basic problem is that you have static and static-libs in USE. When applied to lvm, a whole bunch of blockers kick in and you get what you got. So take them out of USE. USE=static static-libs has it's uses, it's great for building rescue disks, busybox and maybe some disk repair utils, but makes very little sense on a regular workstation. If you break your workstation, you'll boot off a rescue disk and use the tools on it to fix your install, so you don't need it on the main system. There is nothing wrong with your eudev. lvm2 is bitching about blockers between lvm2 built with USE=static and udev - there's some incompatibility there and the ebuild knows about them I went through the package.use file and commented out the static and static-libs stuff. It seems happy but thing is, when I put them there, they were needed for some reason. Actually, all the parts I found had the output of where emerge said those were needed. Maybe the reason they were needed then has changed and they are no longer needed. I hope anyway. ;-) I know there were some guides for doing LVM root that used to advise building stuff statically, probably because of some problem with genkernel. With a modern initramfs (dracut, and possible recent genkernel), shared libs work just as well, so there should be no need. Well, in package.use, it has some output of emerge that said it needed. Here is a snippet: # required by sys-fs/lvm2-2.02.109[static] # required by @selected # required by @world (argument) #=sys-apps/util-linux-2.24.1-r3 static-libs You are reading it wrong. That means: util-linux needs to be built with USE=static-libs because lvm2 is already built with USE=static None of which explains why you originally built lvm2 that way. It was because emerge told me it needed it for some reason. It is very rare that I just put something in package.use on my own. On the rare times I have done it, it is on a package that I use and I need to enable something but don't want to enable it globally or only that one package has that USE flag. A couple examples, gimp, nut, gtkam is a few that I have in there because of some option I need to enable/disable. # required by virtual/udev-208-r2 # required by @selected # required by @world (argument) #virtual/libudev static-libs # required by virtual/udev-208-r2[gudev] # required by @selected # required by @world (argument) #virtual/libgudev static-libs There's a couple more but you get the idea. I don't use genkernel, tried it but never got a working kernel from it so I do them by hand. Everything built OK with no more complaining so I guess whatever it is has changed. Still weird tho. This has nothing to do with genkernel. More than likely, you followed some daft advice on teh intarwebz saying you need a static lvm to be able to boot / on lvm. I don't have / on lvm. /boot and / are on regular partitions. Everything else, /usr, /var and /home, are on lvm. Keep in mind, I was trying to avoid that init thingy. I mentioned genkernel because Mike mentioned it. I tried it ages ago and never got a kernel that would boot. I don't even have it installed here. I started doing them by hand and have been pretty good at it ever since. Odd I know. Dale :-) :-)
Re: [gentoo-user] eject and util-linux blocker
On 17/03/2015 19:01, Dale wrote: Alan McKinnon wrote: On 17/03/2015 03:43, Dale wrote: [...snip] root@fireball / # emerge -uvaDN world -t These are the packages that would be merged, in reverse order: Calculating dependencies... done! [nomerge ] lxde-base/lxde-meta-0.5.5-r4::gentoo [nomerge ] x11-misc/pcmanfm-1.2.3::gentoo USE=-debug [ebuild N ] virtual/eject-0::gentoo 0 KiB [ebuild UD ]sys-apps/util-linux-2.24.1-r3::gentoo [2.26.1::gentoo] USE=bash-completion%* cramfs ncurses nls pam static-libs* suid udev unicode -caps -cytune% -fdformat -python (-selinux) -slang {-test} -tty-helpers (-systemd%) ABI_X86=(64) (-32) (-x32) PYTHON_SINGLE_TARGET=python2_7 -python3_3 -python3_4 PYTHON_TARGETS=python2_7 python3_3 -python3_4 0 KiB [ebuild N ]sys-block/eject-2.1.5-r2::gentoo USE=nls 121 KiB [blocks B ] sys-block/eject (sys-block/eject is blocking sys-apps/util-linux-2.24.1-r3) Total: 3 packages (1 downgrade, 2 new), Size of downloads: 121 KiB Conflict: 1 block (1 unsatisfied) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (sys-block/eject-2.1.5-r2:0/0::gentoo, ebuild scheduled for merge) pulled in by sys-block/eject required by (virtual/eject-0:0/0::gentoo, ebuild scheduled for merge) (sys-apps/util-linux-2.24.1-r3:0/0::gentoo, ebuild scheduled for merge) pulled in by =sys-apps/util-linux-2.13 required by (www-plugins/nspluginwrapper-1.4.4-r3:0/0::gentoo, installed) sys-apps/util-linux-2.25[static-libs] required by (sys-fs/lvm2-2.02.109:0/0::gentoo, installed) Looks like this is the source of your problem. When dealing with blocking downgrades I like to search for the character to find what other package is limiting the highest version. The above is the only one. The DEPEND for lvm2 looks like this: RDEPEND=${DEPEND_COMMON} ... =sys-apps/util-linux-2.16 ... DEPEND=${DEPEND_COMMON} static? ( selinux? ( sys-libs/libselinux[static-libs] ) udev? ( =virtual/libudev-208:=[static-libs] ) sys-apps/util-linux-2.25[static-libs] ) Do you have lvm2 built with USE=static? Second question is why will portage not upgrade lvm2 for you? What do you get from this: emerge -pv lvm2 This lead me down a path. Here is the info you requested: root@fireball / # emerge -pv lvm2 These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild UD ] sys-apps/util-linux-2.24.1-r3::gentoo [2.26.1::gentoo] USE=bash-completion%* cramfs ncurses nls pam static-libs* suid udev unicode -caps -cytune% -fdformat -python (-selinux) -slang {-test} -tty-helpers (-systemd%) ABI_X86=(64) (-32) (-x32) PYTHON_SINGLE_TARGET=python2_7 -python3_3 -python3_4 PYTHON_TARGETS=python2_7 python3_3 -python3_4 0 KiB [ebuild R] sys-fs/lvm2-2.02.109::gentoo USE=readline static thin udev (-clvm) (-cman) -device-mapper-only -lvm1 -lvm2create_initrd (-selinux) -static-libs -systemd 0 KiB Total: 2 packages (1 downgrade, 1 reinstall), Size of downloads: 0 KiB The following USE changes are necessary to proceed: (see package.use in the portage(5) man page for more details) # required by sys-fs/lvm2-2.02.109::gentoo[static] # required by @selected # required by @world (argument) =sys-apps/util-linux-2.24.1-r3 static-libs root@fireball / # It seems at some point, I did have a USE flag in package.use that was version specific. I usually remove the version stuff and let it apply to all version. Usually if you need a USE flag for one version, you will need it for the upgrade as well. So, after removing the version info, I try again. Similar message tho. I then keyword lvm2, thinking it may need a newer version. Then I get this crypted message. root@fireball / # emerge -uvaDN world -t These are the packages that would be merged, in reverse order: Calculating dependencies \ !!! Problem resolving dependencies for sys-fs/lvm2 from @selected ... done! !!! The ebuild selected to satisfy sys-fs/lvm2 has unmet requirements. - sys-fs/lvm2-2.02.110::gentoo USE=readline static thin udev -clvm -cman -device-mapper-only -lvm1 -lvm2create_initrd (-selinux) -static-libs -systemd ABI_X86=64 The following REQUIRED_USE flag constraints are unsatisfied: static? ( !udev ) The above constraints are a subset of the following complete expression: device-mapper-only? ( !clvm !cman !lvm1 !lvm2create_initrd !thin ) systemd? ( udev ) static? ( !udev ) (dependency required by @selected [set]) (dependency required by @world [argument]) root@fireball / # emerge -vp eudev These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ~] sys-fs/eudev-2.1.1::gentoo USE=gudev hwdb introspection keymap kmod modutils rule-generator static-libs -doc
Re: [gentoo-user] eject and util-linux blocker
Alan McKinnon wrote: Your basic problem is that you have static and static-libs in USE. When applied to lvm, a whole bunch of blockers kick in and you get what you got. So take them out of USE. USE=static static-libs has it's uses, it's great for building rescue disks, busybox and maybe some disk repair utils, but makes very little sense on a regular workstation. If you break your workstation, you'll boot off a rescue disk and use the tools on it to fix your install, so you don't need it on the main system. There is nothing wrong with your eudev. lvm2 is bitching about blockers between lvm2 built with USE=static and udev - there's some incompatibility there and the ebuild knows about them I went through the package.use file and commented out the static and static-libs stuff. It seems happy but thing is, when I put them there, they were needed for some reason. Actually, all the parts I found had the output of where emerge said those were needed. Maybe the reason they were needed then has changed and they are no longer needed. I hope anyway. ;-) Thanks. I'm not sure I would have ever figured out that it was that causing the problem. That got pretty deep. Dale :-) :-)
Re: [gentoo-user] eject and util-linux blocker
On Tue, Mar 17, 2015 at 2:10 PM, Dale rdalek1...@gmail.com wrote: Alan McKinnon wrote: Your basic problem is that you have static and static-libs in USE. When applied to lvm, a whole bunch of blockers kick in and you get what you got. So take them out of USE. USE=static static-libs has it's uses, it's great for building rescue disks, busybox and maybe some disk repair utils, but makes very little sense on a regular workstation. If you break your workstation, you'll boot off a rescue disk and use the tools on it to fix your install, so you don't need it on the main system. There is nothing wrong with your eudev. lvm2 is bitching about blockers between lvm2 built with USE=static and udev - there's some incompatibility there and the ebuild knows about them I went through the package.use file and commented out the static and static-libs stuff. It seems happy but thing is, when I put them there, they were needed for some reason. Actually, all the parts I found had the output of where emerge said those were needed. Maybe the reason they were needed then has changed and they are no longer needed. I hope anyway. ;-) I know there were some guides for doing LVM root that used to advise building stuff statically, probably because of some problem with genkernel. With a modern initramfs (dracut, and possible recent genkernel), shared libs work just as well, so there should be no need.
Re: [gentoo-user] eject and util-linux blocker
Alan McKinnon wrote: I've gotten to the point where I can make sense of portage output (it took a while!) but I have no idea how to explain how I do it :-) Portage makes a very fundamental blunder - it exposes the underlying implementation in the output. The odds are very slim the average user will ever make reasonable sense of it. You prolly got good at it because of so many people on here asking what those crpytic messages are saying. Very few people can figure out what they are trying to say. Every once in a while, I get lucky and can keyword a package or something and get past a blocker but sometimes, it may as well spit out Greek characters. What gets me on this one, it really didn't give a clue what the real problem is. If it did, I missed it. I just wonder, is there some way they can make emerge spit out something that makes sense or is that something that can not be done? Dale :-) :-)
Re: [gentoo-user] eject and util-linux blocker
On 17/03/2015 22:16, Dale wrote: Mike Gilbert wrote: On Tue, Mar 17, 2015 at 2:10 PM, Dale rdalek1...@gmail.com wrote: Alan McKinnon wrote: Your basic problem is that you have static and static-libs in USE. When applied to lvm, a whole bunch of blockers kick in and you get what you got. So take them out of USE. USE=static static-libs has it's uses, it's great for building rescue disks, busybox and maybe some disk repair utils, but makes very little sense on a regular workstation. If you break your workstation, you'll boot off a rescue disk and use the tools on it to fix your install, so you don't need it on the main system. There is nothing wrong with your eudev. lvm2 is bitching about blockers between lvm2 built with USE=static and udev - there's some incompatibility there and the ebuild knows about them I went through the package.use file and commented out the static and static-libs stuff. It seems happy but thing is, when I put them there, they were needed for some reason. Actually, all the parts I found had the output of where emerge said those were needed. Maybe the reason they were needed then has changed and they are no longer needed. I hope anyway. ;-) I know there were some guides for doing LVM root that used to advise building stuff statically, probably because of some problem with genkernel. With a modern initramfs (dracut, and possible recent genkernel), shared libs work just as well, so there should be no need. Well, in package.use, it has some output of emerge that said it needed. Here is a snippet: # required by sys-fs/lvm2-2.02.109[static] # required by @selected # required by @world (argument) #=sys-apps/util-linux-2.24.1-r3 static-libs You are reading it wrong. That means: util-linux needs to be built with USE=static-libs because lvm2 is already built with USE=static None of which explains why you originally built lvm2 that way. # required by virtual/udev-208-r2 # required by @selected # required by @world (argument) #virtual/libudev static-libs # required by virtual/udev-208-r2[gudev] # required by @selected # required by @world (argument) #virtual/libgudev static-libs There's a couple more but you get the idea. I don't use genkernel, tried it but never got a working kernel from it so I do them by hand. Everything built OK with no more complaining so I guess whatever it is has changed. Still weird tho. This has nothing to do with genkernel. More than likely, you followed some daft advice on teh intarwebz saying you need a static lvm to be able to boot / on lvm. -- Alan McKinnon alan.mckin...@gmail.com
Re: [gentoo-user] eject and util-linux blocker
On 17/03/2015 22:20, Dale wrote: Alan McKinnon wrote: I've gotten to the point where I can make sense of portage output (it took a while!) but I have no idea how to explain how I do it :-) Portage makes a very fundamental blunder - it exposes the underlying implementation in the output. The odds are very slim the average user will ever make reasonable sense of it. You prolly got good at it because of so many people on here asking what those crpytic messages are saying. Very few people can figure out what they are trying to say. Every once in a while, I get lucky and can keyword a package or something and get past a blocker but sometimes, it may as well spit out Greek characters. Well it's because I understand data structures as used in programming. Things like linked lists and assoc-arrays/dictionaries/hashmaps. I'v also had to support enough programmers over the years and get their stuff to work so I know how their minds work. It's like anything else, if you do it in your line of work, you get to understand it after a while :-) What gets me on this one, it really didn't give a clue what the real problem is. If it did, I missed it. To help folks out, I'll walk through the thought process: The give-away was that util-linux needed to be downgraded, this is very unusual. I figured it was so unusual that finding out why would show me your real problem. And it wasn't a case of the version you have has been removed from the tree. I knew that the only thing that can trigger a downgrade is a DEPENDS that requires some version or lower, and that must start with a or =. So I searched your mail looking for and there was only one :-) This one: sys-apps/util-linux-2.25[static-libs] required by (sys-fs/lvm2-2.02.109:0/0::gentoo, installed) That's the only line in the entire output that can downgrade util-linux. I looked in the lvm2 ebuild and there's only one DEPEND on sys-apps/util-linux-2.25 and it is only used when USE=static After that the rest was easy I just wonder, is there some way they can make emerge spit out something that makes sense or is that something that can not be done? I'm sure there is a way to do it. Some portage output is very useful, like conflicting USE. Portage tells you what you can enable or disable to proceed. And the colorized arrow-heads one line below is really helpful in following version numbers. But proper output messages isn't just a case of translate gobbledy-gook into English. One has to understand what the conditions mean, parse the data portage has inside, and then figure out something meaningful. That is not easy, and probably requires custom code for each different kind of error. Programmers hate writing error code that has to do that, which is probably why no-one has ever done it through portage's entire life so far -- Alan McKinnon alan.mckin...@gmail.com
Re: [gentoo-user] eject and util-linux blocker
Alan McKinnon wrote: On 17/03/2015 03:43, Dale wrote: [...snip] root@fireball / # emerge -uvaDN world -t These are the packages that would be merged, in reverse order: Calculating dependencies... done! [nomerge ] lxde-base/lxde-meta-0.5.5-r4::gentoo [nomerge ] x11-misc/pcmanfm-1.2.3::gentoo USE=-debug [ebuild N ] virtual/eject-0::gentoo 0 KiB [ebuild UD ]sys-apps/util-linux-2.24.1-r3::gentoo [2.26.1::gentoo] USE=bash-completion%* cramfs ncurses nls pam static-libs* suid udev unicode -caps -cytune% -fdformat -python (-selinux) -slang {-test} -tty-helpers (-systemd%) ABI_X86=(64) (-32) (-x32) PYTHON_SINGLE_TARGET=python2_7 -python3_3 -python3_4 PYTHON_TARGETS=python2_7 python3_3 -python3_4 0 KiB [ebuild N ]sys-block/eject-2.1.5-r2::gentoo USE=nls 121 KiB [blocks B ] sys-block/eject (sys-block/eject is blocking sys-apps/util-linux-2.24.1-r3) Total: 3 packages (1 downgrade, 2 new), Size of downloads: 121 KiB Conflict: 1 block (1 unsatisfied) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (sys-block/eject-2.1.5-r2:0/0::gentoo, ebuild scheduled for merge) pulled in by sys-block/eject required by (virtual/eject-0:0/0::gentoo, ebuild scheduled for merge) (sys-apps/util-linux-2.24.1-r3:0/0::gentoo, ebuild scheduled for merge) pulled in by =sys-apps/util-linux-2.13 required by (www-plugins/nspluginwrapper-1.4.4-r3:0/0::gentoo, installed) sys-apps/util-linux-2.25[static-libs] required by (sys-fs/lvm2-2.02.109:0/0::gentoo, installed) Looks like this is the source of your problem. When dealing with blocking downgrades I like to search for the character to find what other package is limiting the highest version. The above is the only one. The DEPEND for lvm2 looks like this: RDEPEND=${DEPEND_COMMON} ... =sys-apps/util-linux-2.16 ... DEPEND=${DEPEND_COMMON} static? ( selinux? ( sys-libs/libselinux[static-libs] ) udev? ( =virtual/libudev-208:=[static-libs] ) sys-apps/util-linux-2.25[static-libs] ) Do you have lvm2 built with USE=static? Second question is why will portage not upgrade lvm2 for you? What do you get from this: emerge -pv lvm2 This lead me down a path. Here is the info you requested: root@fireball / # emerge -pv lvm2 These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild UD ] sys-apps/util-linux-2.24.1-r3::gentoo [2.26.1::gentoo] USE=bash-completion%* cramfs ncurses nls pam static-libs* suid udev unicode -caps -cytune% -fdformat -python (-selinux) -slang {-test} -tty-helpers (-systemd%) ABI_X86=(64) (-32) (-x32) PYTHON_SINGLE_TARGET=python2_7 -python3_3 -python3_4 PYTHON_TARGETS=python2_7 python3_3 -python3_4 0 KiB [ebuild R] sys-fs/lvm2-2.02.109::gentoo USE=readline static thin udev (-clvm) (-cman) -device-mapper-only -lvm1 -lvm2create_initrd (-selinux) -static-libs -systemd 0 KiB Total: 2 packages (1 downgrade, 1 reinstall), Size of downloads: 0 KiB The following USE changes are necessary to proceed: (see package.use in the portage(5) man page for more details) # required by sys-fs/lvm2-2.02.109::gentoo[static] # required by @selected # required by @world (argument) =sys-apps/util-linux-2.24.1-r3 static-libs root@fireball / # It seems at some point, I did have a USE flag in package.use that was version specific. I usually remove the version stuff and let it apply to all version. Usually if you need a USE flag for one version, you will need it for the upgrade as well. So, after removing the version info, I try again. Similar message tho. I then keyword lvm2, thinking it may need a newer version. Then I get this crypted message. root@fireball / # emerge -uvaDN world -t These are the packages that would be merged, in reverse order: Calculating dependencies \ !!! Problem resolving dependencies for sys-fs/lvm2 from @selected ... done! !!! The ebuild selected to satisfy sys-fs/lvm2 has unmet requirements. - sys-fs/lvm2-2.02.110::gentoo USE=readline static thin udev -clvm -cman -device-mapper-only -lvm1 -lvm2create_initrd (-selinux) -static-libs -systemd ABI_X86=64 The following REQUIRED_USE flag constraints are unsatisfied: static? ( !udev ) The above constraints are a subset of the following complete expression: device-mapper-only? ( !clvm !cman !lvm1 !lvm2create_initrd !thin ) systemd? ( udev ) static? ( !udev ) (dependency required by @selected [set]) (dependency required by @world [argument]) root@fireball / # emerge -vp eudev These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ~] sys-fs/eudev-2.1.1::gentoo USE=gudev hwdb introspection keymap kmod modutils rule-generator static-libs -doc (-selinux) {-test} ABI_X86=(64) -32 (-x32) 0 KiB Total: 1 package (1 reinstall), Size of downloads: 0
Re: [gentoo-user] eject and util-linux blocker
Walter Dnes wrote: On Mon, Mar 16, 2015 at 09:08:40AM -0500, Dale wrote Total: 2 packages (1 downgrade, 1 new), Size of downloads: 121 KiB Conflict: 1 block (1 unsatisfied) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (sys-block/eject-2.1.5-r2:0/0::gentoo, ebuild scheduled for merge) pulled in by sys-block/eject required by (virtual/eject-0:0/0::gentoo, installed) Here's your problem... there's a virtual/eject-0.ebuild that can be satisfied by any of 3 different ebuilds, as per the line... RDEPEND=|| ( =sys-apps/util-linux-2.22 sys-block/eject sys-block/eject-bsd ) Any one of them satisfies the virtual, but as the movies say, there can only be one. To solve your problem... emerge --unmerge sys-block/eject emerge -1 sys-apps/util-linux emerge -uvaDN world Comments; 1) You must specify sys-block/eject on the unmerge, so it doesn't unmerge virtual/eject instead. (That's a different kind of OOPS programming G) 2) manually emerge -1 sys-apps/util-linux so that util-linux gets in ahead of sys-block/eject to satisfy virtual/eject. I thought you were on to something but the version is different, which seems to make emerge behave different. I added -t this time. Maybe that will help. root@fireball / # emerge -uvaDN world -t These are the packages that would be merged, in reverse order: Calculating dependencies... done! [nomerge ] lxde-base/lxde-meta-0.5.5-r4::gentoo [nomerge ] x11-misc/pcmanfm-1.2.3::gentoo USE=-debug [ebuild N ] virtual/eject-0::gentoo 0 KiB [ebuild UD ]sys-apps/util-linux-2.24.1-r3::gentoo [2.26.1::gentoo] USE=bash-completion%* cramfs ncurses nls pam static-libs* suid udev unicode -caps -cytune% -fdformat -python (-selinux) -slang {-test} -tty-helpers (-systemd%) ABI_X86=(64) (-32) (-x32) PYTHON_SINGLE_TARGET=python2_7 -python3_3 -python3_4 PYTHON_TARGETS=python2_7 python3_3 -python3_4 0 KiB [ebuild N ]sys-block/eject-2.1.5-r2::gentoo USE=nls 121 KiB [blocks B ] sys-block/eject (sys-block/eject is blocking sys-apps/util-linux-2.24.1-r3) Total: 3 packages (1 downgrade, 2 new), Size of downloads: 121 KiB Conflict: 1 block (1 unsatisfied) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (sys-block/eject-2.1.5-r2:0/0::gentoo, ebuild scheduled for merge) pulled in by sys-block/eject required by (virtual/eject-0:0/0::gentoo, ebuild scheduled for merge) (sys-apps/util-linux-2.24.1-r3:0/0::gentoo, ebuild scheduled for merge) pulled in by =sys-apps/util-linux-2.13 required by (www-plugins/nspluginwrapper-1.4.4-r3:0/0::gentoo, installed) sys-apps/util-linux-2.25[static-libs] required by (sys-fs/lvm2-2.02.109:0/0::gentoo, installed) =sys-apps/util-linux-2.13 required by (sys-power/pm-utils-1.4.1-r6:0/0::gentoo, installed) =sys-apps/util-linux-2.24.1-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] (=sys-apps/util-linux-2.24.1-r3[abi_x86_64(-)]) required by (x11-libs/libSM-1.2.2-r1:0/0::gentoo, installed) =sys-apps/util-linux-2.20 required by (sys-fs/eudev-2.1.1:0/0::gentoo, installed) =sys-apps/util-linux-2.21 required by (sys-kernel/dracut-041:0/0::gentoo, installed) =sys-apps/util-linux-2.20.1-r2 required by (sys-fs/udisks-2.1.3:2/2::gentoo, installed) sys-apps/util-linux required by (app-text/build-docbook-catalog-1.19.1:0/0::gentoo, installed) =sys-apps/util-linux-2.24.1-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] (=sys-apps/util-linux-2.24.1-r3[abi_x86_64(-)]) required by (net-libs/gupnp-0.20.13:0/4::gentoo, installed) sys-apps/util-linux required by (sys-apps/gptfdisk-0.8.10:0/0::gentoo, installed) =sys-apps/util-linux-2.16 required by (sys-fs/mdadm-3.3.1-r2:0/0::gentoo, installed) =sys-apps/util-linux-2.22 required by (virtual/eject-0:0/0::gentoo, ebuild scheduled for merge) =sys-apps/util-linux-2.16 required by (sys-fs/e2fsprogs-1.42.12:0/0::gentoo, installed) sys-apps/util-linux required by (app-text/xmlto-0.0.26:0/0::gentoo, installed) sys-apps/util-linux required by (app-text/rarian-0.8.1-r2:0/0::gentoo, installed) =sys-apps/util-linux-2.19 required by (dev-libs/rasqal-0.9.29:0/0::gentoo, installed) =sys-apps/util-linux-2.20 required by (sys-block/gparted-0.21.0:0/0::gentoo, installed) sys-apps/util-linux required by @system =sys-apps/util-linux-2.16 required by (sys-fs/lvm2-2.02.109:0/0::gentoo, installed) For more information about Blocked Packages, please refer to the following section of the Gentoo Linux x86 Handbook (architecture is irrelevant): https://wiki.gentoo.org/wiki/Handbook:X86/Working/Portage#Blocked_packages root@fireball / #
Re: [gentoo-user] eject and util-linux blocker
On Mon, Mar 16, 2015 at 09:08:40AM -0500, Dale wrote Total: 2 packages (1 downgrade, 1 new), Size of downloads: 121 KiB Conflict: 1 block (1 unsatisfied) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (sys-block/eject-2.1.5-r2:0/0::gentoo, ebuild scheduled for merge) pulled in by sys-block/eject required by (virtual/eject-0:0/0::gentoo, installed) Here's your problem... there's a virtual/eject-0.ebuild that can be satisfied by any of 3 different ebuilds, as per the line... RDEPEND=|| ( =sys-apps/util-linux-2.22 sys-block/eject sys-block/eject-bsd ) Any one of them satisfies the virtual, but as the movies say, there can only be one. To solve your problem... emerge --unmerge sys-block/eject emerge -1 sys-apps/util-linux emerge -uvaDN world Comments; 1) You must specify sys-block/eject on the unmerge, so it doesn't unmerge virtual/eject instead. (That's a different kind of OOPS programming G) 2) manually emerge -1 sys-apps/util-linux so that util-linux gets in ahead of sys-block/eject to satisfy virtual/eject. -- Walter Dnes waltd...@waltdnes.org I don't run desktop environments; I run useful applications