Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v18.x] broken build with ./configure --shared #47638

Closed
bnoordhuis opened this issue Apr 20, 2023 · 5 comments · Fixed by #48174
Closed

[v18.x] broken build with ./configure --shared #47638

bnoordhuis opened this issue Apr 20, 2023 · 5 comments · Fixed by #48174
Labels
build Issues and PRs related to build files or the CI. v18.x Issues that can be reproduced on v18.x or PRs targeting the v18.x-staging branch.

Comments

@bnoordhuis
Copy link
Member

v18.16.0 from tarball:

$ ./configure --shared && make -j12
# <snip>
In file included from ../deps/base64/base64/lib/codec_choose.c:7:
../deps/base64/base64/lib/codecs.h:5:10: fatal error: config.h: No such file or directory
    5 | #include "config.h"
      |          ^~~~~~~~~~
compilation terminated.
In file included from ../deps/base64/base64/lib/lib.c:9:
../deps/base64/base64/lib/codecs.h:5:10: fatal error: config.h: No such file or directory
    5 | #include "config.h"
      |          ^~~~~~~~~~
compilation terminated.
In file included from ../deps/base64/base64/lib/arch/generic/codec.c:7:
../deps/base64/base64/lib/arch/generic/../../codecs.h:5:10: fatal error: config.h: No such file or directory
    5 | #include "config.h"
      |          ^~~~~~~~~~
compilation terminated.
In file included from ../deps/base64/base64/lib/arch/neon32/codec.c:7:
../deps/base64/base64/lib/arch/neon32/../../codecs.h:5:10: fatal error: config.h: No such file or directory
    5 | #include "config.h"
      |          ^~~~~~~~~~
compilation terminated.
In file included from ../deps/base64/base64/lib/arch/neon64/codec.c:7:
../deps/base64/base64/lib/arch/neon64/../../codecs.h:5:10: fatal error: config.h: No such file or directory
    5 | #include "config.h"
      |          ^~~~~~~~~~
compilation terminated.

cc @richardlau - #45589 looks to be responsible

@bnoordhuis bnoordhuis added build Issues and PRs related to build files or the CI. v18.x Issues that can be reproduced on v18.x or PRs targeting the v18.x-staging branch. labels Apr 20, 2023
@bnoordhuis
Copy link
Member Author

I tried reverting commits 2b0ace3 and 978cfad but I still get the same build error so maybe #45589 isn't responsible after all - or perhaps it's unfortunate interaction between those commits and something else.

@bnoordhuis
Copy link
Member Author

I wanted to check newer tarballs but... nodejs/nodejs.org#5302

@richardlau
Copy link
Member

richardlau commented Apr 20, 2023

@bnoordhuis I've not been able to reproduce this with the v18.16.0 source tarball:

$ sha256sum node-v18.16.0.tar.gz
6a4f5c5d76e5c50cef673099e56f19bc3266ae363f56ca0ab77dd2f3c5088c6d  node-v18.16.0.tar.gz
$ tar xfz node-v18.16.0.tar.gz
$ cd node-v18.16.0/
$ ./configure --shared && make -j88
...
if [ ! -r node ] || [ ! -L node ]; then \
  ln -fs out/Release/node node; fi
$ ./node -v
v18.16.0
$ ldd ./out/Release/node
        linux-vdso.so.1 (0x00007fffcab06000)
        libnode.so.108 => /tmp/node-v18.16.0/./out/Release/libnode.so.108 (0x00007fbaa6177000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fbaa5f73000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fbaa5bde000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fbaa585c000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbaa5644000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbaa5424000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fbaa505f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fbaaba35000)
$

Linux x64 (RHEL 8, gcc 8.5.0)

@bnoordhuis
Copy link
Member Author

I haven't been able to reproduce after unpacking the tarball again and doing a clean build so... 🤷

@bnoordhuis bnoordhuis closed this as not planned Won't fix, can't repro, duplicate, stale Apr 25, 2023
bnoordhuis added a commit to bnoordhuis/io.js that referenced this issue May 25, 2023
The file is checked into git. Ignoring it causes a very non-obvious way
of breaking tarball builds:

1. Download and unpack tarball
2. Check the sources into git with `git init; git add .; git commit -a`
3. Clean the source tree with `git clean -dfx`
4. Run `./configure && make`
5. Observe build failure because config.h is missing

Fixes: nodejs#47638
@bnoordhuis
Copy link
Member Author

I just had this happen again with the v20.2.0 tarball... and I figured it out: #48174

Mea culpa, Richard, you're completely blameless.

@bnoordhuis bnoordhuis reopened this May 25, 2023
bnoordhuis added a commit to bnoordhuis/io.js that referenced this issue May 25, 2023
The file is checked into git. Ignoring it causes a very non-obvious way
of breaking tarball builds:

1. Download and unpack tarball
2. Check the sources into git with `git init; git add .; git commit -a`
3. Clean the source tree with `git clean -dfx`
4. Run `./configure && make`
5. Observe build failure because config.h is missing

Fixes: nodejs#47638
bnoordhuis added a commit to bnoordhuis/io.js that referenced this issue May 25, 2023
The file is checked into git. Ignoring it causes a very non-obvious way
of breaking tarball builds:

1. Download and unpack tarball
2. Check the sources into git with `git init; git add .; git commit -a`
3. Clean the source tree with `git clean -dfx`
4. Run `./configure && make`
5. Observe build failure because config.h is missing

Fixes: nodejs#47638
bnoordhuis added a commit to bnoordhuis/io.js that referenced this issue May 25, 2023
The file is checked into git. Ignoring it causes a very non-obvious way
of breaking tarball builds:

1. Download and unpack tarball
2. Check the sources into git with `git init; git add .; git commit -a`
3. Clean the source tree with `git clean -dfx`
4. Run `./configure && make`
5. Observe build failure because config.h is missing

Fixes: nodejs#47638
nodejs-github-bot pushed a commit that referenced this issue May 30, 2023
The file is checked into git. Ignoring it causes a very non-obvious way
of breaking tarball builds:

1. Download and unpack tarball
2. Check the sources into git with `git init; git add .; git commit -a`
3. Clean the source tree with `git clean -dfx`
4. Run `./configure && make`
5. Observe build failure because config.h is missing

Fixes: #47638
PR-URL: #48174
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
targos pushed a commit that referenced this issue Jun 4, 2023
The file is checked into git. Ignoring it causes a very non-obvious way
of breaking tarball builds:

1. Download and unpack tarball
2. Check the sources into git with `git init; git add .; git commit -a`
3. Clean the source tree with `git clean -dfx`
4. Run `./configure && make`
5. Observe build failure because config.h is missing

Fixes: #47638
PR-URL: #48174
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
danielleadams pushed a commit that referenced this issue Jul 6, 2023
The file is checked into git. Ignoring it causes a very non-obvious way
of breaking tarball builds:

1. Download and unpack tarball
2. Check the sources into git with `git init; git add .; git commit -a`
3. Clean the source tree with `git clean -dfx`
4. Run `./configure && make`
5. Observe build failure because config.h is missing

Fixes: #47638
PR-URL: #48174
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
MoLow pushed a commit to MoLow/node that referenced this issue Jul 6, 2023
The file is checked into git. Ignoring it causes a very non-obvious way
of breaking tarball builds:

1. Download and unpack tarball
2. Check the sources into git with `git init; git add .; git commit -a`
3. Clean the source tree with `git clean -dfx`
4. Run `./configure && make`
5. Observe build failure because config.h is missing

Fixes: nodejs#47638
PR-URL: nodejs#48174
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Ceres6 pushed a commit to Ceres6/node that referenced this issue Aug 14, 2023
The file is checked into git. Ignoring it causes a very non-obvious way
of breaking tarball builds:

1. Download and unpack tarball
2. Check the sources into git with `git init; git add .; git commit -a`
3. Clean the source tree with `git clean -dfx`
4. Run `./configure && make`
5. Observe build failure because config.h is missing

Fixes: nodejs#47638
PR-URL: nodejs#48174
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Ceres6 pushed a commit to Ceres6/node that referenced this issue Aug 14, 2023
The file is checked into git. Ignoring it causes a very non-obvious way
of breaking tarball builds:

1. Download and unpack tarball
2. Check the sources into git with `git init; git add .; git commit -a`
3. Clean the source tree with `git clean -dfx`
4. Run `./configure && make`
5. Observe build failure because config.h is missing

Fixes: nodejs#47638
PR-URL: nodejs#48174
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. v18.x Issues that can be reproduced on v18.x or PRs targeting the v18.x-staging branch.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants