gobject-introspection mtree: line 1: unknown group wheel<<<<<<<

  • Thread starter Thread starter Hanky-panky
  • Start date Start date
H

Hanky-panky

Guest
Code:
===>  Installing for gobject-introspection-1.34.2
===>   Generating temporary packing list
===>  Checking if devel/gobject-introspection already installed
mtree: line 1: unknown group wheel<<<<<<<
*** [gnome-pre-su-install] Error code 1

Code:
groups root
wheel sys operator pulse pulse-access pulse-rt gdm cups

Code:
cat /etc/group
wheel:*:0:root


Any help?
 
Your port fails on the gnome-pre-su-install target, doing a grep of /usr/ports/Mk/* reveals that bsd.gnome.mk defines this target:

Code:
gnome-pre-su-install:
.if defined(_USE_GNOME) && ${_USE_GNOME:Mgnomehier}!="" && !defined(NO_MTREE)
    @${MTREE_CMD} ${MTREE_ARGS:S/${MTREE_FILE}/${GNOME_MTREE_FILE}/} ${PREFIX}/ >/dev/null
.endif
.if defined(GCONF_SCHEMAS)
    @${MKDIR} ${PREFIX}/etc/gconf/gconf.xml.defaults/
.else
    @${DO_NADA}
.endif

Using [cmd=]make -V GNOME_MTREE_FILE[/cmd] reveals that the mtreefile is /usr/local/etc/mtree/BSD.gnome.dist ... Perhaps this file is damaged?

[cmd=]pkg_info -W /usr/local/etc/mtree/BSD.gnome.dist[/cmd] reveals that this file was installed misc/gnomehier. You can try reinstalling that port. Remember to run make clean first to remove (potentially damaged) build files.

Note that the misc/gnomehier port doesn't download any source/build files: everything is contained in the port Makefile and files/dirlist, so if the problem persist, make sure these files are okay as wel (ie. remove this directory and refetch the ports tree).
 
Carpetsmoker said:
Your port fails on the gnome-pre-su-install target, doing a grep of /usr/ports/Mk/* reveals that bsd.gnome.mk defines this target:

Code:
gnome-pre-su-install:
.if defined(_USE_GNOME) && ${_USE_GNOME:Mgnomehier}!="" && !defined(NO_MTREE)
    @${MTREE_CMD} ${MTREE_ARGS:S/${MTREE_FILE}/${GNOME_MTREE_FILE}/} ${PREFIX}/ >/dev/null
.endif
.if defined(GCONF_SCHEMAS)
    @${MKDIR} ${PREFIX}/etc/gconf/gconf.xml.defaults/
.else
    @${DO_NADA}
.endif

Using [cmd=]make -V GNOME_MTREE_FILE[/cmd] reveals that the mtreefile is /usr/local/etc/mtree/BSD.gnome.dist ... Perhaps this file is damaged?

[cmd=]pkg_info -W /usr/local/etc/mtree/BSD.gnome.dist[/cmd] reveals that this file was installed misc/gnomehier. You can try reinstalling that port. Remember to run make clean first to remove (potentially damaged) build files.

Note that the misc/gnomehier port doesn't download any source/build files: everything is contained in the port Makefile and files/dirlist, so if the problem persist, make sure these files are okay as wel (ie. remove this directory and refetch the ports tree).
Hi and thank you for your competent reply, my friend.

Code:
/usr/ports/misc/gnomehier # sudo make reinstall
===>  Installing for gnomehier-3.0
===>   Generating temporary packing list
cd /usr/ports/misc/gnomehier/work/gnomehier-3.0 &&  /usr/sbin/mtree -U -d -n -i -c -k "uname, gname, mode" |  /usr/bin/sed -e 's|uname=[A-Za-z0-9_]*|uname=root|'  -e 's|gname=[A-Za-z0-9_]*|gname=wheel|'  > /usr/ports/misc/gnomehier/work/BSD.gnome.dist
/bin/mkdir -p /usr/local/etc/mtree
install  -o root -g wheel -m 444 /usr/ports/misc/gnomehier/work/BSD.gnome.dist /usr/local/etc/mtree
mtree: line 1: unknown group wheel<<<<<<<
===>   Registering installation for gnomehier-3.0

Now I try this:

Code:
groups root
<<<<<<< current version sys operator pulse pulse-access pulse-rt gdm cups

Now I suspect it is broken, becouse those <<<<<< current version shouldn't be there, I think. Now, how can I rebuild this /etch/group?

It is also true, I didn't had any problem in compiling any software before with this /etc/group.

Simply deleteting the commented lines with a text editor seems not to make any difference.

All the other files you said to check are fine.
 
SirDice said:
I'm guessing a mergemaster(1) went wrong somewhere. Can you post your /etc/group?

Code:
cat /etc/group
<<<<<<< current version::0:
<<<<<<< current version::0:
<<<<<<< current version::0:
wheel:*:0:hank,root
=======::0:
# $FreeBSD: src/etc/group,v 1.35.10.1.6.1 2010/12/21 17:09:25 kensmith Exp $
=======::0:
# $FreeBSD: release/9.0.0/etc/group 218046 2011-01-28 22:28:12Z pjd $
>>>>>>> 9.0-RELEASE::0:
=======::0:
# $FreeBSD: release/9.1.0/etc/group 218046 2011-01-28 22:28:12Z pjd $
>>>>>>> 9.1-RELEASE::0:
#
#Wheel:*:0:root
>>>>>>> 8.2-RELEASE::0:
daemon:*:1:
kmem:*:2:
sys:*:3:hank,root
tty:*:4:
operator:*:5:root
mail:*:6:
bin:*:7:
news:*:8:
man:*:9:
games:*:13:
ftp:*:14:
staff:*:20:
sshd:*:22:
smmsp:*:25:
mailnull:*:26:
guest:*:31:
bind:*:53:
proxy:*:62:
authpf:*:63:
_pflogd:*:64:
_dhcp:*:65:
uucp:*:66:
dialer:*:68:
network:*:69:
audit:*:77:
www:*:80:
hast:*:845:
nogroup:*:65533:
nobody:*:65534:
messagebus:*:556:
polkit:*:562:
haldaemon:*:560:
avahi:*:558:
pulse:*:563:root
pulse-access:*:564:root
pulse-rt:*:557:root
cyrus:*:60:
gdm:*:92:root
mysql:*:88:
saned:*:194:
virtuoso:*:79:
webcamd:*:145:
gnokii:*:947:
hank:*:1001:
kdm:*:147:
cups:*:193:hank,root
ldap:*:389:
git_daemon:*:964:
 
The lines with >> and << and == are markers. Some of the lines between those markers need to be removed also. Here is a guess at what you should have afterwards:

Code:
# $FreeBSD: release/9.1.0/etc/group 218046 2011-01-28 22:28:12Z pjd $
#
wheel:*:0:hank,root
daemon:*:1:
kmem:*:2:
sys:*:3:hank,root
tty:*:4:
operator:*:5:root
mail:*:6:
bin:*:7:
news:*:8:
man:*:9:
games:*:13:
ftp:*:14:
staff:*:20:
sshd:*:22:
smmsp:*:25:
mailnull:*:26:
guest:*:31:
bind:*:53:
proxy:*:62:
authpf:*:63:
_pflogd:*:64:
_dhcp:*:65:
uucp:*:66:
dialer:*:68:
network:*:69:
audit:*:77:
www:*:80:
hast:*:845:
nogroup:*:65533:
nobody:*:65534:
messagebus:*:556:
polkit:*:562:
haldaemon:*:560:
avahi:*:558:
pulse:*:563:root
pulse-access:*:564:root
pulse-rt:*:557:root
cyrus:*:60:
gdm:*:92:root
mysql:*:88:
saned:*:194:
virtuoso:*:79:
webcamd:*:145:
gnokii:*:947:
hank:*:1001:
kdm:*:147:
cups:*:193:hank,root
ldap:*:389:
git_daemon:*:964:
 
wblock@ said:
The lines with >> and << and == are markers. Some of the lines between those markers need to be removed also. Here is a guess at what you should have afterwards:

Code:
# $FreeBSD: release/9.1.0/etc/group 218046 2011-01-28 22:28:12Z pjd $
#
wheel:*:0:hank,root
daemon:*:1:
kmem:*:2:
sys:*:3:hank,root
tty:*:4:
operator:*:5:root
mail:*:6:
bin:*:7:
news:*:8:
man:*:9:
games:*:13:
ftp:*:14:
staff:*:20:
sshd:*:22:
smmsp:*:25:
mailnull:*:26:
guest:*:31:
bind:*:53:
proxy:*:62:
authpf:*:63:
_pflogd:*:64:
_dhcp:*:65:
uucp:*:66:
dialer:*:68:
network:*:69:
audit:*:77:
www:*:80:
hast:*:845:
nogroup:*:65533:
nobody:*:65534:
messagebus:*:556:
polkit:*:562:
haldaemon:*:560:
avahi:*:558:
pulse:*:563:root
pulse-access:*:564:root
pulse-rt:*:557:root
cyrus:*:60:
gdm:*:92:root
mysql:*:88:
saned:*:194:
virtuoso:*:79:
webcamd:*:145:
gnokii:*:947:
hank:*:1001:
kdm:*:147:
cups:*:193:hank,root
ldap:*:389:
git_daemon:*:964:
Thank you very much again my friend. Then, sadly, devel/gobject still complains about the same line.

Code:
===>   Generating temporary packing list
===>  Checking if devel/gobject-introspection already installed
mtree: line 1: unknown group wheel<<<<<<<
*** [gnome-pre-su-install] Error code 1

Stop in /usr/ports/devel/gobject-introspection.

Now, I was wondering it maybe was reading another /etc/group so I make this modification:

Code:
Wheel:*:0:hank,root
(changing the capital W)

And I run the devel/gobject-instrospection install again with this result:

Code:
===>  Checking if devel/gobject-introspection already installed
mtree: line 6: unknown group wheel
*** [install-mtree] Error code 1

Stop in /usr/ports/devel/gobject-introspection.

And now it complain about Line 6 and no more about Line 1.

This really makes no sense at all to me. In fact, it should complain about both line 1 (?) and line 6.

Command line used to make the modification was:

Code:
nano -w /etc/group
 
Neither of the problem lines is actually on line 6. First, change that "w" back to lower case. Make sure there are only those two comment lines at the start of that file before the wheel line. Then clean the port and rebuild it.

If that doesn't work, log out and log back in to get it to reread the groups. I don't know what mtree(8) is trying to do there; the "line 6" might be from another file.
 
The error, as posted in the first message, reads:

mtree: line 1: unknown group wheel<<<<<<<

So the *mtree* command gives an error that the group wheel<<<<< doesn't exist. This, to me, *strongly* indicates that there's a problem with a mtree file or the mtree command, not with /etc/group or another system file (if the wheel group was clobbered, you'd have more serious problems, like not being able to use su).

Here's a little test to confirm this:
Code:
[~]% head -n 4 BSD.gnome.dist
/set type=dir uname=root gname=wheel<<<<<<<<< mode=0750
.              
    etc            
        CORBA   

[~]% mtree < BSD.gnome.dist
mtree: line 1: unknown group wheel<<<<<<<<<
Exit 1

Exactly the same error as posted!

You can, of course, easily confirm this by looking at the first line of /usr/local/etc/mtree/BSD.gnome.dist

I don't know what mtree(8) is trying to do there; the "line 6" might be from another file.

It's from /etc/mtree/BSD.usr.dist


sudo make reinstall

No!, don't run make reinstall, run [cmd=]make clean deinstall install[/cmd], make reinstall will use buildfiles from the previous build, if those files are damaged, then they'll simple get (re)installed again.
 
Carpetsmoker said:
The error, as posted in the first message, reads:



So the *mtree* command gives an error that the group wheel<<<<< doesn't exist. This, to me, *strongly* indicates that there's a problem with a mtree file or the mtree command, not with /etc/group or another system file (if the wheel group was clobbered, you'd have more serious problems, like not being able to use su).

Here's a little test to confirm this:
Code:
[~]% head -n 4 BSD.gnome.dist
/set type=dir uname=root gname=wheel<<<<<<<<< mode=0750
.              
    etc            
        CORBA   

[~]% mtree < BSD.gnome.dist
mtree: line 1: unknown group wheel<<<<<<<<<
Exit 1

Exactly the same error as posted!

You can, of course, easily confirm this by looking at the first line of /usr/local/etc/mtree/BSD.gnome.dist



It's from /etc/mtree/BSD.usr.dist




No!, don't run make reinstall, run [cmd=]make clean deinstall install[/cmd], make reinstall will use buildfiles from the previous build, if those files are damaged, then they'll simple get (re)installed again.
GREAT Carpetsmoker, a big thank you to you! This is EXACTLY the problem, and you solved it for me.

I also have to say that Wblock was partially right too: my messed up /etc/group was fine for pretty much all but this new misc/gnomehier port.


PS: this is solved, I'm wondering if I can marked it SOLVED and I'm also wondering if misc/gnomecahier coder shouldn't seriously look into the code.
 
A) Up there in post #12, I said "clean the port and rebuild it".
B) Use freshports.org.
C) It's not fair to expect a port maintainer to code for a user's broken system.
D) Edit post #1, click "Go Advanced", and select [Solved] from the dropdown in front of the subject. port" href="http://www.freshports.org/ tags to mark ports, and the reader can click on them for reference on freshports.org.
C) It's not fair to expect a port maintainer to code for a user's broken system.
D) Edit post #1, click "Go Advanced", and select [Solved] from the dropdown in front of the subject."> tags to mark ports, and the reader can click on them for reference on freshports.org.
C) It's not fair to expect a port maintainer to code for a user's broken system.
D) Edit post #1, click "Go Advanced", and select [Solved] from the dropdown in front of the subject.
 
wblock@ said:
A) Up there in post #12, I said "clean the port and rebuild it".
B) Use freshports.org.
C) It's not fair to expect a port maintainer to code for a user's broken system.
D) Edit post #1, click "Go Advanced", and select [Solved] from the dropdown in front of the subject. port" href="http://www.freshports.org/ tags to mark ports, and the reader can click on them for reference on freshports.org.
C) It's not fair to expect a port maintainer to code for a user's broken system.
D) Edit post #1, click "Go Advanced", and select [Solved] from the dropdown in front of the subject."> tags to mark ports, and the reader can click on them for reference on freshports.org.
C) It's not fair to expect a port maintainer to code for a user's broken system.
D) Edit post #1, click "Go Advanced", and select [Solved] from the dropdown in front of the subject.
/etc/group?

IMHO it means there is something less compatible in that port compared to others, considering others can read that file and use it with no problem and just that port can't.

And related with the fact you said to clean the port and rebuild it, you didn't point me to that misc/gnomecahier port.

And BTW, you had my Thankx You too, it is childish to say then you started the childish part of this thread and I will say that what you suggested to me, the clean up part of /etc/group was something I was considering myself and I'm sure I could have done even without your assistence.

What the great Carpetsmoker (my favourite nick of the year for now, GREAT!!!) suggested to me was the solution, something that I will never ever think about myself without his assistance. That's all and no need to be rude, my friend, no need at all. You got your thank you too even if honestly your help was a lot cheaper compared to the Carpetsmoker one. port" href="http://www.freshports.org/
Ohhhh well, so why just that port complain about my old /etc/group?

IMHO it means there is something less compatible in that port compared to others, considering others can read that file and use it with no problem and just that port can't.

And related with the fact you said to clean the port and rebuild it, you didn't point me to that misc/gnomecahier port.

And BTW, you had my Thankx You too, it is childish to say then you started the childish part of this thread and I will say that what you suggested to me, the clean up part of /etc/group was something I was considering myself and I'm sure I could have done even without your assistence.

What the great Carpetsmoker (my favourite nick of the year for now, GREAT!!!) suggested to me was the solution, something that I will never ever think about myself without his assistance. That's all and no need to be rude, my friend, no need at all. You got your thank you too even if honestly your help was a lot cheaper compared to the Carpetsmoker one.">
Ohhhh well, so why just that port complain about my old /etc/group?

IMHO it means there is something less compatible in that port compared to others, considering others can read that file and use it with no problem and just that port can't.

And related with the fact you said to clean the port and rebuild it, you didn't point me to that misc/gnomecahier port.

And BTW, you had my Thankx You too, it is childish to say then you started the childish part of this thread and I will say that what you suggested to me, the clean up part of /etc/group was something I was considering myself and I'm sure I could have done even without your assistence.

What the great Carpetsmoker (my favourite nick of the year for now, GREAT!!!) suggested to me was the solution, something that I will never ever think about myself without his assistance. That's all and no need to be rude, my friend, no need at all. You got your thank you too even if honestly your help was a lot cheaper compared to the Carpetsmoker one.
 
The gnomehier port looks fine to me, I think something along these lines happened:

- Your /etc/group got clobbered during an upgrade, but in a way that *most* programs still work.
- When installing misc/gnomehier, it generated the mtree file, but got confused by your clobbered /etc/group
- The mtree file got installed anyway, even though it's broken
- All ports with USE_GNOME run the mtree file to *ensure* the required gnome directories exist
- Breakage

So in the end, you had two problems, you needed to fix both your /etc/group and your gnomehier port, in that order.
 
Carpetsmoker said:
The gnomehier port looks fine to me, I think something along these lines happened:

- Your /etc/group got clobbered during an upgrade, but in a way that *most* programs still work.
- When installing misc/gnomehier, it generated the mtree file, but got confused by your clobbered /etc/group
- The mtree file got installed anyway, even though it's broken
- All ports with USE_GNOME run the mtree file to *ensure* the required gnome directories exist
- Breakage

So in the end, you had two problems, you needed to fix both your /etc/group and your gnomehier port, in that order.
I surely had TWO problems, yes, then misc/gnomehier had ONE problem for sure: it registered his installation even without copy his BSD.gnome.bsd file in the mtree folder. So mtree folder was empty and the misc/gnomehier resulted like registered.

And if the way it read the group variable in the environment is fine (and I'm not that sure about it) the fact it do register a broken package becouse it fails to copy a file in the right directory and it is unable to block himself in the process to register the package as installed, it surely means it had ONE problem (and a big one too) and it is a partially, better say TOTALLY broken package.

This is the reason becouse I didn't discovered the problem myself: I was in a massive upgrade and the fact the misc/gnomehier registered itself without notice and considering I do not spend my time looking at the terminal screen when I update my system I was lost in the consequences of the broken misc/gnomehier attitude.

BTW, just for a try: I deleted devel/gobject-introspection after building misc/gnomehier with the new /etc/group and then I replaced the new cleaned up /etc/group with my old messed up backup and... BOOM, devel/gobject-introspection compiled, did not complained about it and registered fine!

So, do you still think misc/gnomehier is perfectly fine?
 
Hanky-panky said:
That's all and no need to be rude, my friend, no need at all.
Having read this whole thread back and forth, I have found no instance of anyone being rude, my friend, none at all.
 
Hanky-panky said:
Ohhhh well, so why just that port complain about my old /etc/group?

IMHO it means there is something less compatible in that port compared to others, considering others can read that file and use it with no problem and just that port can't.

Most likely the other ports did not need to read or change /etc/group.

And related with the fact you said to clean the port and rebuild it, you didn't point me to that misc/gnomecahier port.

Dependencies are cleaned when the main port is cleaned. misc/gnomehier would have been cleaned along with devel/gobject-introspection, solving the problem. If you had done it.
 
Back
Top