awesomebytes / ros_overlay_on_gentoo_prefix

ros-overlay built on Gentoo Prefix ready to use
BSD 3-Clause "New" or "Revised" License
3 stars 3 forks source link

Fix ros_base image docker build #3

Open Xia0ben opened 4 years ago

Xia0ben commented 4 years ago

Hi !

When I built the ros_base docker image, I had to remove the "bluetooth" word from these lines :

RUN echo "dev-lang/python sqlite bluetooth readline" >> $EPREFIX/etc/portage/package.use
RUN EXTRA_ECONF="--enable-optimizations --with-lto" $PREFIXED emerge python:2.7[sqlite,bluetooth,readline] python:3.6[sqlite,bluetooth,readline]

I also had to add --autounmask-keep-masks option to the following command (deduced from what the emerge build system was telling me) :

RUN $PREFIXED emerge dev-util/cmake

And finally had to change the cmake version in this command to 3.13.5 :

RUN echo ">dev-util/cmake-3.12.3" >> /tmp/gentoo/etc/portage/package.mask

Then I docker-cp-ed the gentoo folder on my host machine, went into it, and launched : ./startprefix

Got this message :

bash: eval: line 31: syntax error near unexpected token `newline'
bash: eval: line 31: `Usage: lesspipe <file>'

Which did not prevent me from entering the prefix so I guess everything is fine then ?

When looking a bit into it, it seems the bash command on my host .bashrc :

[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

is causing this error message, but since its just a comfort command, I guess its not a problem.

awesomebytes commented 4 years ago

Hey,

Unfortunately removing bluetooth support can be painful cause it's part of the standard library and random libraries later on may depend on being able to import it (even though they may not even use it). So in principle... it's not good to take it out.

About cmake, makes sense to update it if it builds. But we need to see if the rest of ros_base builds with a newer cmake.

The bash eval error you get is normal. It does not break anything, just that bit doesn't work. If you want to use it in your machine, you could just remove that from the startprefix script.