| Summary: | libtool with bashisms enabled in script can be shared through sstate-cache with host where /bin/sh is dash and cause build issues | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Martin Jansa <Martin.Jansa> |
| Component: | devtools / tool chain | Assignee: | Richard Purdie <richard.purdie> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | meta.mr.watcher, meta.watcher, sgw |
| Version: | 1.5.1 | ||
| Target Milestone: | 1.5 M5 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Don't know | |
|
Description
Martin Jansa
2013-09-12 13:47:01 UTC
Ah I see it's probably more complicated than that :). In http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=518905, I've read: Libtool uses (and exploits features of) the shell it was configured for. The /usr/bin/libtool script has to be used with it. The first line of the script should reflect that, as well as its SHELL= setting. And I see that my libtool script was configured with SHELL=/bin/sh (and /bin/sh -> bash here), but when the same libtool-native is shared with sstate to some other host where /bin/sh -> dash, it will try to use bash features and fail. So the problem is, that sstate signature of libtool doesn't contain system shell (the real shell not just /bin/sh as symlink). http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/t2&id=5eeecef53b430883b89ba1d1020685e2247b3c14 might offer a fix for this. Means patching autoconf unfortunately |