Skip to content

error in macro expansion for DOCKER_GREETING variable #78

@caryo

Description

@caryo
$ git version
git version 2.28.0.windows.1

$ git log -1
commit 9ef4804c28679a416a445397f9b2e2b105005151 (HEAD -> master, origin/master, origin/HEAD)
Merge: eff5b9a bf64724
Author: yosifkit <[email protected]>
Date:   Tue Apr 28 18:13:18 2020 -0700

    Merge pull request #73 from docker-library/github-actions

    Add initial GitHub Actions CI

$ docker --version
Docker version 19.03.12, build 48a66213fe


$ docker build -t hello-world -f Dockerfile.build .

<snip>
Step 7/16 : RUN set -ex;        make clean all test             TARGET_ARCH='amd64'          CROSS_COMPILE='x86_64-linux-gnu-'
 ---> Running in 1773fb3468c3
+ make clean all test TARGET_ARCH=amd64 CROSS_COMPILE=x86_64-linux-gnu-
rm -vrf amd64/hello-world/hello /usr/src/hello/musl/amd64
mkdir -p '/usr/src/hello/musl/amd64'
cd '/usr/src/hello/musl/amd64' && '/usr/local/src/musl/configure' --disable-shared --prefix='/usr/src/hello/musl/amd64/prefix' > /dev/null
make -C '/usr/src/hello/musl/amd64' -j '2' install > /dev/null
/usr/src/hello/musl/amd64/prefix/bin/musl-gcc -Os -fdata-sections -ffunction-sections -s -Wl,--gc-sections -static \
        -o 'amd64/hello-world/hello' \
        -D DOCKER_IMAGE='"hello-world"' \
        -D DOCKER_GREETING="\"$(cat 'greetings/hello-world.txt')\"" \
        -D DOCKER_ARCH='"amd64"' \
        'hello.c'
<command-line>: warning: missing terminating " character
<command-line>: error: missing terminating " character
hello.c:18:2: note: in expansion of macro 'DOCKER_GREETING'
  DOCKER_GREETING "\n"
  ^~~~~~~~~~~~~~~
hello.c:18:18: error: expected ',' or ';' before string constant
  DOCKER_GREETING "\n"
                  ^~~~
make: *** [Makefile:21: amd64/hello-world/hello] Error 1
The command '/bin/sh -c set -ex;        make clean all test             TARGET_ARCH='amd64'  CROSS_COMPILE='x86_64-linux-gnu-'' returned a non-zero code: 2

any ideas why the 'make' would have an issue with this variable setting?

Workaround - edit the Makefile and remove the line for "-D DOCKER_GREETING=" and repeat the docker build command.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions