On 16/09/2015 11:25, Matti Kaasinen wrote:
I managed cross compiling s6 suite (2.3.7.0) for am335x based board with Yocto/bitbase. In practice it seems working. However, there seems to be PATH issue. For instance s6-svscanboot found from examples folder does not work, or in fact any execline script without inserting full path to every command.
Yes. It's not an issue, it's by design: execline commands are binaries, they are to be found via a PATH search.
I used --with-default-path option while configuring skalibs.
The path specified via --with-default-path is only used when the PATH variable is *not* defined in the environment.
I used --shebangdir option while configuring execline.
That location is only used by programs such as s6-linux-init that generate execline scripts, to tell them what to put in the #! line, because most systems do not perform a PATH search for the interpreter defined in a #! line - only absolute paths are standard.
I also use shebang in the script begin, but still it seems that execline directory is required to be in the PATH before starting execline script - or using full paths in the script commands.
Yes. The shebang line will execute the execlineb launcher, but inside the script, other binaries must still be accessible.
I could import PATH and append execline path, but I did not find any path related commands in execline to do this - so, there seems no way doing this afterwards? What would be the best practice handling this PATH issue.
Just make sure to install or link the execline binaries in a place that will be in your PATH, such as /bin (or /command if you are using slashpackage). If you don't want to do that, add the execline bindir to the global users' environment, prior to running any execline scripts. -- Laurent
