chili-epfl / ros4nao

Helpers to compile and distribute ROS for Aldebaran's Nao
MIT License
3 stars 2 forks source link

Issue when trying to run sudo emerge #1

Closed philkark closed 9 years ago

philkark commented 9 years ago

When I try to run "sudo emerge log4cxx netifaces pyyaml poco" on a NAO Evolution with NAOqi 2.1.0.19 installed, I get the following error message:

!!! CONFIG_PROTECT is empty

!!! /etc/make.profile is not a symlink and will probably prevent most merges.
!!! It should point into a profile within /usr/portage/profiles/
!!! (You can safely ignore this message when syncing. It's harmless.)

!!! Problem with sandbox binary. Disabling...

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "log4cxx".

emerge: searching for similar names... nothing similar found.

I tried it both by using: "curl -k -s https://chili-research.epfl.ch/ros4nao/bootstrap.sh | sh" and by downloading bootstrap.sh in order to update the included links to 2.1.0.19, then copying bootstrap.sh onto the nao and running the script from there.

severin-lemaignan commented 9 years ago

Thanks for you feedback. This may be due to the fact those scripts are not tested on the lastest version of OpenNAO. I need to investigate this once I update my Nao (likely next week).

Have you been able to install other packages via emerge?

philkark commented 9 years ago

No unfortunatley I couldn't. Also trying to run "sudo emerge sandbox" displayed the same issue. I found this hint online, but I already found it unlikely to work. It might be that I have not modified bootstrap.sh correctly. I should maybe mention that inside bootstrap.sh I also needed to download "OPENNAO_PORTAGE_BIN_MIRROR/packages/sys-apps/portage-2.1.10.41-r178.tbz2" manually and copy it to "/home/nao/portage-2.1.10.41-r178.tbz2" in order for bootstrap to run without error messages.

severin-lemaignan commented 9 years ago

We soon (ie, before christmas -- a bit later than I expected) receive our new Nao. I'll then properly test and update the bootstrap.sh script with the latest version of OpenNao.

Keeping this issue open in the meantime. Do not hesitate to update it if you find a way to fix the issue.

sosswald commented 9 years ago

@Phil13131 and I got the installer script to work on our robot, but we're not entirely sure what the original problem was. My guess is that the alias definitions were not properly loaded, so emerge was called without the -G option, thus trying to build log4cxx from source instead of downloading the binary package.

Note that curl -k -s https://chili-research.epfl.ch/ros4nao/bootstrap.sh | sh executes source .bash_profile in a subshell, so the alias definitions will be gone as soon as the script terminates. If you call emerge directly afterwards, the alias is not present, so emerge will be called without the -G option and fail. You have to source .bash_profile, log out and log in again, or reboot the robot in between. That should perhaps be added to the wiki instructions.

However, I would rather drop the alias for emerge and add EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --getbinpkgonly" to /etc/make.conf so that the option is also the default when emerge is called from a root shell.

There's another problematic alias: alias sudo='sudo env PATH=$PATH ' This alias causes the robot to fail to shut down when the power button is pressed for three seconds. The power button calls sudo /sbin/shutdown -h now. According to /etc/sudoers, the user nao may run this command without a password. But if the alias is present, it gets expanded to sudo env PATH=... /sbin/shutdown -h now, so sudo asks for a password that the power button script cannot provide. So it might be better to modify the PATH variable also for root, or to symlink the robotpkg binaries to a directory that is already on the $PATH.

skadge commented 9 years ago

@sosswald Thanks a lot for this feedback, especially the 'I can not poweroff anymore' issue: we do have the same problem, but I never thought it could be related to the sudo alias! Could you open a separate issue for that?

I will also update the scripts to use the EMERGE_DEFAULT_OPTS variable in make.conf: this seems like a very good idea indeed. Do not hesitate to submit a PR yourself if you wish.

sosswald commented 9 years ago

Done: Issue for sudo alias: #2 Pull request for EMERGE_DEFAULT_OPTS #3

severin-lemaignan commented 9 years ago

Thanks. So you can confirm that the scripts work well on naoqi os 2....? can I close the issue?

philkark commented 9 years ago

The script is working in general, only the paths have to be adjusted accordingly for the nao 2.*.