When I "emerge -pe world", there is blocked packages named mktemp and coreutils,I unmerge mktemp ,"emerge sync" & "emerge portage" ,then "emerge coreutils" ,ok ! there has no blocked packages. But after "emerge apache ",when I start it ,it says "sh: /bin/mktemp: No such file or directory." I am sorry I'm a fresh man.Thanks!! Reproducible: Always Steps to Reproduce: 1./etc/init.d/apache2 start 2.emerge --pretend mktemp Actual Results: server ~ # /etc/init.d/apache2 start * Caching service dependencies ... sh: /bin/mktemp: No such file or directory * Failed to create temporary cache! bash: /var/lib/init.d/depcache: No such file or directory sh: /bin/mktemp: No such file or directory * Failed to create temporary cache! gawk: /lib/rcscripts/awk/gendepends.awk:506: fatal: expression for `>>' redirection has null string value * Failed to cache service dependencies [ !! ] * Error running '/sbin/depscan.sh'! * Please correct any problems above. server ~ # emerge mktemp Calculating dependencies... done! [ebuild N ] sys-apps/mktemp-1.5 [blocks B ] sys-apps/mktemp (is blocking sys-apps/coreutils-6.10-r2) [blocks B ] >=sys-apps/coreutils-6.10 (is blocking sys-apps/mktemp-1.5) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. For more information about Blocked Packages, please refer to the following section of the Gentoo Linux x86 Handbook (architecture is irrelevant): http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked
The reason >=sys-apps/coreutils-6.10 is blocking sys-apps/mktemp-1.5 is that mktemp is now provided by coreutils. Could you re-emerge coreutils and check if you have /bin/mktemp
coreutils-6.11 provides /bin/mktemp you need to `emerge -C mktemp` and then `emerge coreutils`
yeah,after I `emerge -C mktemp` (I have unmerge it before ,so there is no package to unmerge ^_^ )and `emerge coreutils`, I found there have /bin/mktemp. But there is still a problem, then I found the course is "Error running '/sbin/depscan.sh'!". since "emerge baselayout" ,the syetem works. Thank you all!!!
If you need mktemp the easiest way is: 1. Get the stage3 2. Unpack the stage into /root/stage3 directory 3. Copy /root/stage3/bin/mktemp into /bin That's all.
Why did this bug happen? I ran into this problem while running updates very conservatively on a production box. What's the origin of this problem? How did my mktemp disappear?
(In reply to comment #6) > Why did this bug happen? I ran into this problem while running updates very > conservatively on a production box. What's the origin of this problem? How > did my mktemp disappear? > I had the same thing happen to me yesterday, updated a box which was fairly outdated (about a year) and i had no conflict on mktemp yet after update mktemp was not on system, reemerging coreutils fixed the problem but still wondering where it went in the first place.
FYI, Over the years, mktemp has moved a lot: sys-apps/debianutils sys-apps/mktemp sys-apps/coreutils # emerge -B coreutils && emerge --unmerge mktemp && emerge -1 coreutils && hash -r Or if you are still on a box where it was in debianutils (and you never got the seperate mktemp package): # emerge -B coreutils debianutils && emerge -1 debianutils && emerge -1 coreutils && hash -r
if /bin/mktemp is missing, it's easy enough to temporarily do: cp /bin/busybox /bin/mktemp