CDPATH environment variable affects base.bbclass
Patrick Turley
patrick.turley at sigmatel.com
Fri Apr 4 16:23:22 UTC 2008
I got the following message from my build:
oe_libinstall: cd
libltdl/home/pturley/Workspace/oe/build_stmp37xx_debug_01/work/i686-linux/libtool-native-1.5.10-r9+stmp37xx01/libtool-1.5.10/libltdl
/home/pturley/Workspace/oe/build_stmp37xx_debug_01/work/i686-linux/libtool-native-1.5.10-r9+stmp37xx01/temp/run.do_stage.29081:
line 395: cd:
libltdl/home/pturley/Workspace/oe/build_stmp37xx_debug_01/work/i686-linux/libtool-native-1.5.10-r9+stmp37xx01/libtool-1.5.10/libltdl:
No such file or directory
This problem all comes down to base.bbclass, line 284, which is in the
function oe_libinstall():
dir=$dir`(cd $dir;find . -name "$dotlai") |
sed "s/^\.//;s/\/$dotlai\$//;q"`
This command is intended to find a directory in a subtree. It moves down
into the subtree, executes the find command, and then massages the
output with sed.
I happen to be using the CDPATH environment variable, which is much like
PATH. Instead of being a list of directories to search for executables,
it's a list of directories to search for the destination given to the cd
command.
When you're using the CDPATH command, because the place you end up isn't
always obvious, the cd command prints the full path. This command in
oe_libinstall wasn't expecting all that extra text, so it produced nonsense.
When I unset my CDPATH environment variable, the problem went away.
More information about the Openembedded-users
mailing list