Bug #2161
Build-Generator 0.4.31 does not generate syntactically correct environment variables
Status: | Resolved | Start date: | 01/21/2015 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | Project Analysis | |||
Target version: | 0.4 |
Description
In case a dependency has been found that contains a dot (".") like
in libusb-1.0.* the generated environment variable also contains
a dot which is not valid in bash or sh.
For details please see mail discussion below:
Hallo Florian.
On Tue, 2015-01-20 at 18:24 +0100, Florian Lier wrote:
ich habe einen merkwürdigen Fehler, beim Bauen
von Yarp. Das hat vorher (alter buildgen) mal funktioniert,
seitdem habe ich das Rezept nicht mehr angefasst.
Der master build-generator erkennt mehr CMake-Abhängigkeiten als die 0.3
Version. Dadurch können auch neue Fehler entstehen.
Ich benutze den build-gen 0.4.31 mit dem Rezept Master
und der Distribution icub-nightly.Hier der log:
https://thorium:8080/view/ICUB/job/yarp-v2.3.63-toolkit-icub-nightly/2/consoleIch kann mir den Fehler nicht ganz erklären, da er für alle
files in /tmp/... kein .cmake file finden sollte, bei LIBUSB_
aber :not found meldet. Hat das was mit der Kombination aus
numerischen und alphabetischen zeichen zu tun? Mir fällt
auf das beide libusb varianten lowercase sind.
Einige Abhängigkeiten, wahrscheinlich auch LIBUSB_1.0, werden erst
neuerdings erkannt. Bei LIBUSB_1.0 gibt es das Problem, dass
LIBUSB_1.0_DIR kein gültiger Variablenname nach Bash- bzw. Sh-Syntax
ist.
Associated revisions
Sanitize strings that become shell variables in src/project/aspects.lisp
fixes #2161
- src/project/aspects.lisp (make-variable/sh): new function; turn string
into a valid variable name for the sh shell
(define-aspect cmake/unix): use `make-variable/sh' when generating
variable names
History
#1 Updated by J. Moringen over 9 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Applied in changeset 360d5bc6a6ff407bf97ddddb6f9545bfc163e77d.