Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Permissions issue when running buildrump.sh clean checkout #77

Open
gaffo opened this issue Nov 2, 2015 · 4 comments
Open

Permissions issue when running buildrump.sh clean checkout #77

gaffo opened this issue Nov 2, 2015 · 4 comments

Comments

@gaffo
Copy link

gaffo commented Nov 2, 2015

SHA: 760c6a9

./buildrump.sh on a ubuntu server 14.04 virt

trucated

echo '# ' "install " /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/man1/rump_server.1; echo "/home/vagrant/ws-uk/rumprun/buildrump.sh/obj/tooldir/bin/x86_64--netbsd-install -U -l h -r -o root -g wheel -m 444 /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/man1/rump_allserver.1 /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/man1/rump_server.1" && /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/tooldir/bin/x86_64--netbsd-install -U -l h -r -o root -g wheel -m 444 /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/man1/rump_allserver.1 /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/man1/rump_server.1

install /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/man1/rump_server.1

/home/vagrant/ws-uk/rumprun/buildrump.sh/obj/tooldir/bin/x86_64--netbsd-install -U -l h -r -o root -g wheel -m 444 /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/man1/rump_allserver.1 /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/man1/rump_server.1
--- /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_server.0 ---
echo '# ' "install " /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_server.0; echo "/home/vagrant/ws-uk/rumprun/buildrump.sh/obj/tooldir/bin/x86_64--netbsd-install -U -l h -r -o root -g wheel -m 444 /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_allserver.0 /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_server.0" && /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/tooldir/bin/x86_64--netbsd-install -U -l h -r -o root -g wheel -m 444 /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_allserver.0 /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_server.0

install /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_server.0

/home/vagrant/ws-uk/rumprun/buildrump.sh/obj/tooldir/bin/x86_64--netbsd-install -U -l h -r -o root -g wheel -m 444 /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_allserver.0 /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_server.0
--- /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/man1/rump_server.1 ---
x86_64--netbsd-install: link /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/man1/rump_allserver.1 -> /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/man1/rump_server.1: Operation not permitted
*** [/home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/man1/rump_server.1] Error code 1

nbmake[1]: stopped in /home/vagrant/ws-uk/rumprun/buildrump.sh/src/usr.bin/rump_allserver
--- /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_server.0 ---
x86_64--netbsd-install: link /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_allserver.0 -> /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_server.0: Operation not permitted
*** [/home/vagrant/ws-uk/rumprun/buildrump.sh/obj/dest.stage/usr/share/man/cat1/rump_server.0] Error code 1

nbmake[1]: stopped in /home/vagrant/ws-uk/rumprun/buildrump.sh/src/usr.bin/rump_allserver
2 errors

nbmake[1]: stopped in /home/vagrant/ws-uk/rumprun/buildrump.sh/src/usr.bin/rump_allserver
*** [install-/home/vagrant/ws-uk/rumprun/buildrump.sh/src/usr.bin/rump_allserver] Error code 2

nbmake: stopped in /home/vagrant/ws-uk/rumprun/buildrump.sh/src
1 error

nbmake: stopped in /home/vagrant/ws-uk/rumprun/buildrump.sh/src

ERROR:
make /home/vagrant/ws-uk/rumprun/buildrump.sh/obj/Makefile.utils install

@anttikantee
Copy link
Member

Well that should not happen, but it's hard to know what exactly goes wrong without being able to repeat the problem. Can you poke around a bit to see what the relevant directory/file owner/group and modes are?

@anttikantee
Copy link
Member

So the problem (per investigation on irc) is that the file system does not support hard links, which results in link() returning EPERM.

@tobyjaffey
Copy link

I had this same problem, trying to build on vagrant (on the vboxsf filesystem).
The easiest solution is just not to build on vboxsf.

You can workaround with ./buildroot -o /tmp/rump, but buildnb.sh will suffer from the same problem also.

The netbsd docs do say that the filesystem on the build host must support hard links.
https://www.netbsd.org/docs/guide/en/chap-build.html#chap-build-make-variables

One way to alter the behaviour would be to change src-netbsd/share/mk/bsd.own.mk

INSTALL_LINK?= ${INSTALL} ${INSTPRIV} ${HRDLINK} ${RENAME}

to

INSTALL_LINK?= ${INSTALL} ${INSTPRIV} ${SYMLINK} ${RENAME}

@anttikantee
Copy link
Member

I think you should just be able to run buildrump.sh (I assume that's what you mean by buildroot) as:

./buildrump.sh -V 'INSTALL_LINK=${INSTALL_SYMLINK}'

If that helps, maybe you can make buildrump.sh autodetect it, and that will fix the issue for buildnb.sh too (by which I assume you mean the rumpctrl build script).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants