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

make[2]: *** No rule to make target ../lib/openat-die.c', needed by wget2.pot-update'. Stop. #236

Closed
vollkommenheit opened this issue Jan 18, 2021 · 20 comments

Comments

@vollkommenheit
Copy link

I build https://gnuwget.gitlab.io/wget2/wget2-latest.tar.gz fine on macos 10.11 and 10.14 with Apple clang, but not the latest git source from https://gitlab.com/gnuwget/wget2.git

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-recursive
Making all in lib
/Applications/Xcode.app/Contents/Developer/usr/bin/make all-am
make[3]: Nothing to be done for all-am'. Making all in include Making all in wget make[3]: Nothing to be done for all'.
make[3]: Nothing to be done for all-am'. Making all in libwget make[2]: Nothing to be done for all'.
Making all in examples
make[2]: Nothing to be done for all'. Making all in src make[2]: Nothing to be done for all'.
Making all in po
/Applications/Xcode.app/Contents/Developer/usr/bin/make wget2.pot-update
make[3]: *** No rule to make target ../lib/openat-die.c', needed by wget2.pot-update'. Stop.
make[2]: *** [wget2.pot] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

The same error seemed to be part of https://gitlab.com/gnuwget/wget2/-/issues/353, per google cache, but I'm not finding any of the text on that issue right now.

@vollkommenheit
Copy link
Author

vollkommenheit commented Jan 18, 2021

It appears the problem is the following lines in ./po/Makefile:

POTFILES =
../lib/error.c
../lib/gai_strerror.c
../lib/openat-die.c
../lib/os2-spawn.c \

The first two entries both exist in multiple locations, and most importantly in ./lib

./gnulib/lib/error.c
./lib/error.c
./libwget/error.c

./gnulib/lib/gai_strerror.c
./lib/gai_strerror.c

In contrast, "openat-die.c" only exist in ./gnulib/lib, so "make" cannot find them as instructed by ./po/Makefile, while "os2-spawn.c" is not found anywhere at all.

./gnulib/lib/openat-die.c

@vollkommenheit
Copy link
Author

Got it. It appears my running "git submodule update --init" unnecessarily was the source that introduced the "openat-die.c" and "os2-spawn.c" references. Now trying to track down whether "./bootstrap --skip-po" would revert the after-effects of "git submodule update --init".

@vollkommenheit
Copy link
Author

vollkommenheit commented Jan 19, 2021

Never mind. It wasn't due to "git submodule update --init" or anything I added. The two references, "openat-die.c" and "os2-spawn.c", come in regardless, with only openat-die.c actually becoming present in the ./gnulib directory structure:

./gnulib/doc/posix-functions/openat.texi
./gnulib/lib/openat-die.c
./gnulib/lib/openat-priv.h
./gnulib/lib/openat-proc.c
./gnulib/lib/openat-safer.c
./gnulib/lib/openat.c
./gnulib/lib/openat.h
./gnulib/m4/openat.m4
./gnulib/modules/openat
./gnulib/modules/openat-die
./gnulib/modules/openat-h
./gnulib/modules/openat-safer
./gnulib/modules/openat-safer-tests
./gnulib/modules/openat-tests

@vollkommenheit
Copy link
Author

vollkommenheit commented Jan 19, 2021

Apparently the newest commit (pending review?), only on gitlab, introduced "openat-die.c" and "os2-spawn.c":
https://gitlab.com/gnuwget/wget2/-/commit/368deb9fcca0c281f9c76333607cc878c3945ad0

@rockdaboot
Copy link
Owner

The mentioned files are auto-generated/copied from gnulib. Not much we can do but wait until they sorted out issues with the latest changes. In the meantime you possibly should build from tarball as that should come with much less headaches.

@vollkommenheit
Copy link
Author

@rockdaboot, yes, that's what I did. BTW, I'm getting error: possibly undefined macro: AX_CODE_COVERAGE which seems to be introduced by d281ffa

@rockdaboot
Copy link
Owner

You need the autoconf-archive package.
Oh, it means we need that on the CI as well where we create the tarball 😬 TY

@vollkommenheit
Copy link
Author

You need the autoconf-archive package.
Oh, it means we need that on the CI as well where we create the tarball 😬 TY

Thanks, installing autoconf-archive indeed gets me past that.

Now I run into the following, the same issue I have run into with the latest (last I looked as of 2021-01-09) wget-1.x git source code at https://github.com/mirror/wget. This is strange, because I didn't have this issue when I posted above about the openat-die.c issue:

warning: unknown warning option '-Wno-alloca'; did you mean '-Wno-all'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-cast-function-type'; did you mean '-Wno-bad-function-cast'? [-Wunknown-warning-option]
In file included from regex.c:74:
In file included from ./regexec.c:1362:
./malloc/dynarray-skeleton.c:195:13: error: expected identifier or '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:195:13: error: expected ')'
./malloc/dynarray-skeleton.c:195:12: note: to match this '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:205:40: error: expected identifier or '('
attribute_maybe_unused __nonnull ((1))
^
./malloc/dynarray-skeleton.c:205:40: error: expected ')'
./malloc/dynarray-skeleton.c:205:39: note: to match this '('
attribute_maybe_unused __nonnull ((1))
^
./malloc/dynarray-skeleton.c:216:13: error: expected identifier or '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:216:13: error: expected ')'
./malloc/dynarray-skeleton.c:216:12: note: to match this '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:225:13: error: expected identifier or '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:225:13: error: expected ')'
./malloc/dynarray-skeleton.c:225:12: note: to match this '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:239:13: error: expected identifier or '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:239:13: error: expected ')'
./malloc/dynarray-skeleton.c:239:12: note: to match this '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:248:13: error: expected identifier or '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:248:13: error: expected ')'
./malloc/dynarray-skeleton.c:248:12: note: to match this '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:260:13: error: expected identifier or '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:260:13: error: expected ')'
./malloc/dynarray-skeleton.c:260:12: note: to match this '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:270:13: error: expected identifier or '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:270:13: error: expected ')'
./malloc/dynarray-skeleton.c:270:12: note: to match this '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:286:7: warning: implicit declaration of function 'regmatch_list_mark_failed' is invalid in C99 [-Wimplicit-function-declaration]
DYNARRAY_NAME (mark_failed) (list);
^
./malloc/dynarray-skeleton.c:151:29: note: expanded from macro 'DYNARRAY_NAME'
#define DYNARRAY_NAME(name) DYNARRAY_CONCAT1(DYNARRAY_PREFIX, name)
^
./malloc/dynarray-skeleton.c:150:40: note: expanded from macro 'DYNARRAY_CONCAT1'
#define DYNARRAY_CONCAT1(prefix, name) DYNARRAY_CONCAT0(prefix, name)
^
./malloc/dynarray-skeleton.c:149:40: note: expanded from macro 'DYNARRAY_CONCAT0'
#define DYNARRAY_CONCAT0(prefix, name) prefix##name
^
:184:1: note: expanded from here
regmatch_list_mark_failed
^
In file included from regex.c:74:
In file included from ./regexec.c:1362:
./malloc/dynarray-skeleton.c:297:13: error: expected identifier or '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:297:13: error: expected ')'
./malloc/dynarray-skeleton.c:297:12: note: to match this '('
__nonnull ((1))
^
./malloc/dynarray-skeleton.c:351:73: error: expected identifier or '('
attribute_maybe_unused attribute_warn_unused_result __nonnull ((1))
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
3 warnings and 20 errors generated.
make[3]: *** [regex.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

@rockdaboot
Copy link
Owner

Are you sure you are building from tarball with the commands described in README.md ?

                wget https://gnuwget.gitlab.io/wget2/wget2-latest.tar.gz
                tar xf wget2-latest.tar.gz
                cd wget2-*
                ./configure
                make
                make check
                sudo make install

It sounds like you are in some knee-deep shit caused by using tarball and then using ./bootstrap or autoreconf.
Did you try wiping the directory and restart with the above commands ?

@vollkommenheit
Copy link
Author

vollkommenheit commented Feb 1, 2021

@rockdaboot yes, this occurs on both macOS 10.11 and (an almost fresh install of) 10.14, across multiple reboots, in both third-party iTerm and Apple's Terminal, with or without ccache, and as mentioned above also taking place with https://github.com/mirror/wget too after 2021-01-03 (but didn't start occurring with wget2 until now). The only variance is I have to use "./configure --with-ssl=openssl" because I noticed my latest successful build of wget2 was compiled with libwget that has no TLS support (due to bare "./configure" per the Readme.md, because I have LibreSSL but no GnuTLS installed).

I also get these errors with the latest github source (adding "bash ./bootstrap" per Readme.md). If I stop git cloning at one of the earlier commits, for example "commit 22162f8" (Commits on Jan 22, 2021 Update copyright year Darshit Shah Darshit Shah committed 9 days ago 22162f8) or "commit 5a4e3ae" (Commits on Jan 2, 2021 * .travis.yml: Remove unneeded packages for Linux @rockdaboot rockdaboot committed on Jan 2), I now get:

CC libwget_la-ssl_openssl.lo
ssl_openssl.c:800:7: warning: implicit declaration of function 'ASN1_TIME_diff' is invalid in C99
[-Wimplicit-function-declaration]
if (ASN1_TIME_diff(&day, &sec, now, thisupd) && day <= -3) {
^
ssl_openssl.c:1388:7: error: duplicate case value '771'
case TLS1_3_VERSION:
^
ssl_openssl.c:48:30: note: expanded from macro 'TLS1_3_VERSION'
#define TLS1_3_VERSION TLS1_2_VERSION
^
/usr/local/include/openssl/tls1.h:168:26: note: expanded from macro 'TLS1_2_VERSION'
#define TLS1_2_VERSION 0x0303
^
ssl_openssl.c:1385:7: note: previous case defined here
case TLS1_2_VERSION:
^
/usr/local/include/openssl/tls1.h:168:26: note: expanded from macro 'TLS1_2_VERSION'
#define TLS1_2_VERSION 0x0303
^
1 warning and 1 error generated.
make[2]: *** [libwget_la-ssl_openssl.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Strangely I didn't have such issue with the github src last I built successfully (with no TLS in libwget apparently), according to my comment above on 2021-1-19 #236 (comment)

@rockdaboot
Copy link
Owner

I noticed my latest successful build of wget2 was compiled with libwget that has no TLS support (due to bare "./configure" per the Readme.md, because I have LibreSSL but no GnuTLS installed).

Oh, I once had code in configure.ac to automatically fallback to openssl when gnutls wasn't found. Have to check that again.

@rockdaboot
Copy link
Owner

rockdaboot commented Feb 6, 2021

Strangely I didn't have such issue with the github src last I built successfully (with no TLS in libwget apparently

No, this issue is part of ssl_openssl.c - so only comes out when building with openssl.
This looks like a weird combination of

  • the compiler being overly picky (which is ok)
  • the source code ssl_openssl.c using a case construct (which is perfectly ok)
  • the source code ssl_openssl.c doing #define TLS1_3_VERSION TLS1_2_VERSION (this bites with case)

So you are using libressl and not openssl.
I never tested libressl explicitly... not sure if something else hides there.
A fix for the above error is just in the CI and will be merged if successful. (Try to fetch from Gitlab, as that is our main repo. Github is just a mirror and updates some time later).

@rockdaboot
Copy link
Owner

@vollkommenheit Could you try again with the latest master (or latest tarball) ?

@vollkommenheit
Copy link
Author

vollkommenheit commented Feb 7, 2021

@rockdaboot, yes, I will try both and report back. Last night, I tried against the gitlab source, and was still stopped by the "./malloc/dynarray-skeleton.c" errors. I suppose I didn't see the "ssl_openssl.c" issue because it's further down the line in the compile process??

@vollkommenheit
Copy link
Author

vollkommenheit commented Feb 8, 2021

With the gitlab source:

make
...
../include/wget/wget.h:2850:76: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
[-Wnullability-completeness]
wget_server_stats_callback(wget_http_connection *conn, wget_http_response *resp);
^
../include/wget/wget.h:2853:60: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
[-Wnullability-completeness]
wget_server_set_stats_callback(wget_server_stats_callback *fn);
^
ssl_openssl.c:800:7: warning: implicit declaration of function 'ASN1_TIME_diff' is invalid in C99 [-Wimplicit-function-declaration]
if (ASN1_TIME_diff(&day, &sec, now, thisupd) && day <= -3) {
^
1129 warnings generated.
CCLD libwget_common.la
CCLD libwget_thread.la
warning: no debug symbols in executable (-arch x86_64)
warning: no debug symbols in executable (-arch x86_64)
CCLD libcsstokenizer.la
CCLD libwget_robots.la
CCLD libwget_xml.la
warning: no debug symbols in executable (-arch x86_64)
warning: no debug symbols in executable (-arch x86_64)
CCLD libwget_decompress.la
CCLD libwget.la
warning: no debug symbols in executable (-arch x86_64)
CCLD test_linking_common
libtool: warning: '-no-install' is ignored for x86_64-apple-darwin15.6.0
libtool: warning: assuming '-no-fast-install' instead
CCLD libwget_encoding.la
warning: no debug symbols in executable (-arch x86_64)
CCLD libwget_io.la
warning: no debug symbols in executable (-arch x86_64)
CCLD libwget_hashfile.la
warning: no debug symbols in executable (-arch x86_64)
CCLD libwget_hsts.la
warning: no debug symbols in executable (-arch x86_64)
CCLD libwget_ocsp.la
warning: no debug symbols in executable (-arch x86_64)
undef: _ASN1_TIME_diff
Undefined symbols for architecture x86_64:
"_ASN1_TIME_diff", referenced from:
_check_ocsp_response in lto.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libwget.la] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

make check
Making check in lib
/Applications/Xcode.app/Contents/Developer/usr/bin/make check-am
make[2]: Nothing to be done for check-am'. Making check in include Making check in wget make[2]: Nothing to be done for check'.
make[2]: Nothing to be done for `check-am'.
Making check in libwget
CCLD libwget.la
undef: _ASN1_TIME_diff
Undefined symbols for architecture x86_64:
"_ASN1_TIME_diff", referenced from:
_check_ocsp_response in lto.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [libwget.la] Error 1
make: *** [check-recursive] Error 1

With the latest tarball:

../include/wget/wget.h:165:49: note: expanded from macro 'WGET_GCC_ALLOC_SIZE'

define WGET_GCC_ALLOC_SIZE(a) attribute ((alloc_size(a)))

                                                 ^

../include/wget/wget.h:558:49: warning: unknown attribute 'alloc_size' ignored [-Wunknown-attributes]
wget_buffer_alloc(size_t size) WGET_GCC_MALLOC WGET_GCC_ALLOC_SIZE(1) RETURNS_NONNULL LIBWGET_WARN_UNUSED_RESULT;
^
../include/wget/wget.h:165:49: note: expanded from macro 'WGET_GCC_ALLOC_SIZE'

define WGET_GCC_ALLOC_SIZE(a) attribute ((alloc_size(a)))

                                                 ^

6 warnings generated.
CCLD libcsstokenizer.la
CCLD libwget_alloc.la
CCLD libwget_ip.la
warning: no debug symbols in executable (-arch x86_64)
warning: no debug symbols in executable (-arch x86_64)
libtool: link: Waiting for /Users/schlachtschiff/src/wget2-1.99.2/libwget/../lib/.libs/libgnu.a.lock to be removed
CCLD libwget.la
CCLD libwget_common.la
warning: no debug symbols in executable (-arch x86_64)
CCLD libwget_thread.la
warning: no debug symbols in executable (-arch x86_64)
CCLD libwget_encoding.la
warning: no debug symbols in executable (-arch x86_64)
CCLD libwget_io.la
warning: no debug symbols in executable (-arch x86_64)
CCLD libwget_hashfile.la
undef: _ASN1_TIME_diff
Undefined symbols for architecture x86_64:
"_ASN1_TIME_diff", referenced from:
_check_ocsp_response in lto.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libwget.la] Error 1
make[2]: *** Waiting for unfinished jobs....
warning: no debug symbols in executable (-arch x86_64)
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Maybe the issue is the same one(s) raised in these?
https://stackoverflow.com/questions/19637164/c-linking-error-after-upgrading-to-mac-os-x-10-9-xcode-5-0-1
nlohmann/json#285
CLRX/CLRX-mirror#32

Tried replacing "xx = gcc" with "g++" or "clang++" or "gcc -lc++", or appending either -stdlib=libc++ or -stdlib=libstdc++ to LDFLAGS, in a few places such as ./libwget/Makefile, but no dice.

@rockdaboot
Copy link
Owner

It's possibly the missing explicit include of openssl/asn1.h. I just added it, so it's worth a retry (after git fetch).

@vollkommenheit
Copy link
Author

vollkommenheit commented Feb 9, 2021

Now "make" errors out a bit differently:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_netrc.a(wctype-h.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_netrc.a(xsize.o) has no symbols
CCLD libwget.la
CCLD test_linking_encoding
libtool: warning: '-no-install' is ignored for x86_64-apple-darwin15.6.0
libtool: warning: assuming '-no-fast-install' instead
CCLD libwget_iri.la
Undefined symbols for architecture x86_64:
"_ASN1_TIME_diff", referenced from:
_check_ocsp_response in libwget_la-ssl_openssl.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libwget.la] Error 1
make[2]: *** Waiting for unfinished jobs....
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(af_alg.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(binary-io.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(bitrotate.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(c-ctype.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(cond.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(fd-hook.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(getcwd-lgpl.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(getprogname.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(localename-table.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(sig-handler.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(stat-time.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(sys_socket.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(thread.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(threadlib.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(timespec.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(u64.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(unistd.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(wctype-h.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(xsize.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(af_alg.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(binary-io.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(bitrotate.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(c-ctype.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(cond.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(fd-hook.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(getcwd-lgpl.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(getprogname.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(localename-table.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(sig-handler.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(stat-time.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(sys_socket.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(thread.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(threadlib.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(timespec.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(u64.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(unistd.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(wctype-h.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libwget_iri.a(xsize.o) has no symbols
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Not sure where to stick the libtool flags "-c -static", to deal with Apple's quirkiness.
libigl/libigl#751

@rockdaboot
Copy link
Owner

This looks like a "your openssl is too old" issue. What version is it ?
You could consider to install a newer one or use gnutls.

@vollkommenheit
Copy link
Author

vollkommenheit commented Feb 15, 2021

It turns out this issue only surfaces with LibreSSL (either https://github.com/libressl-portable/portable or the 3.3.1 release tarball). Just tried with openssl 1.1.1j-dev from https://github.com/openssl/openssl) and wget2 git code compiles successfully.

I switched to LibreSSL recently as it has gained TLS 1.3 support in both client and server, reputed to be a drop-in substitute for OpenSSL for most purposes, with a supposedly smaller attack surface.

@rockdaboot
Copy link
Owner

Added an issue for LibreSSL support: https://gitlab.com/gnuwget/wget2/-/issues/552

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants