Wed 15 Feb 2017 07:10:14 PM UTC, comment #17:
My bad, just removing the single line indeed results in a broken configure script (it is just a shell script with an empty else block).
The warning about 'AM_PATH_GPGME' is expected, when you don't have libgpgme installed. But this is a different, unrelated issue.
|
Wed 15 Feb 2017 05:19:57 PM UTC, comment #16:
I commented out that line.
Autoreconf emitted this warning: configure.ac:499: warning: macro 'AM_PATH_GPGME' not found in library
Then running ./configure ended with: ./configure: line 44129: syntax error near unexpected token `fi'
./configure: line 44129: `fi'
Apparently the entire else-block needed removal. I did that, and then started over. Autoreconf still emits the warning, but then ./configure succeeded and so did the subsequent `make`.
|
Mon 13 Feb 2017 09:06:45 AM UTC, comment #15:
Thanks, your config.log shows what is going wrong...
In configure.ac there is a line
LIBICONV=
which was ok before a certain commit - nowadays we always need libiconv, so this line must be removed.
This line will only be executed with --disable-iri, as you found out.
Could you remove or comment that line, and execute autoreconf && ./configure <with your options incl. --disable-iri> && make. Just to make sure the problem is solved.
|
Sun 12 Feb 2017 10:58:03 PM UTC, comment #14:
Ok, I uploaded those two things.
|
Sun 12 Feb 2017 05:14:07 PM UTC, comment #13:
Please add your config.log and your src/config.h (after the ./configure that results in failures)
|
Sun 12 Feb 2017 03:02:04 PM UTC, comment #12:
More info: it seems to be something about this particular set of config flags: --with-ssl=openssl --with-libssl-prefix=/usr/local/ssl --disable-pcre --disable-iri
If I simply get rid of the --disable-iri flag, 1.19.1 will build find on macOS 10.12.3. If I readd that flag, I get the exact error message that started this thread.
|
Sun 12 Feb 2017 03:35:43 AM UTC, comment #11:
This is not fixed as of 1.19.1. I just tried building it on macOS 10.12.3 and got the exact error that initiated this thread.
|
Tue 21 Jun 2016 12:44:42 PM UTC, comment #10:
Thanks, Bruno.
I added all the libraries (that gnulib-tool mentions) to the end of the link command.
|
Sun 19 Jun 2016 11:07:14 PM UTC, comment #9:
Rather than
LDADD = $(LIBOBJS) $(LTLIBICONV) ../lib/libgnu.a
it would be better to write
LDADD = $(LIBOBJS) ../lib/libgnu.a $(LTLIBICONV)
The reason is that $(LTLIBICONV) refers to - more or less - a system library, and it can be a shared library. If the object files in libgnu.a reference the 'iconv' symbol but $(LIBOBJS) don't, you may still get a link error. Moving all the shared/system libraries to the end of the link command line fixes this.
|
Sat 11 Jun 2016 08:43:58 PM UTC, comment #8:
Please everybody test the attached patch on different platforms and report back. Thanks.
(file #37453)
|
Sat 11 Jun 2016 12:40:34 PM UTC, comment #7:
Yes, that worked.
For reference, the difference in the generated Makefile is
```
bash-3.2$ diff src/Makefile.orig src/Makefile
305c305,306
< wget_DEPENDENCIES = $(LIBOBJS) ../lib/libgnu.a
---
> am__DEPENDENCIES_1 =
> wget_DEPENDENCIES = $(LIBOBJS) $(am__DEPENDENCIES_1) ../lib/libgnu.a
721,723d721
< GPGME_CFLAGS =
< GPGME_CONFIG = no
< GPGME_LIBS =
1390c1388
< LDADD = $(LIBOBJS) ../lib/libgnu.a
---
> LDADD = $(LIBOBJS) $(LTLIBICONV) ../lib/libgnu.a
```
|
Sat 11 Jun 2016 10:24:07 AM UTC, comment #6:
As you can see, $(LTLIBICONV) should be added to the linking stage.
Maybe the whole src/Makefile.am should be rewritten... it looks quirked.
./boostrap says:
####
You may need to use the following Makefile variables when linking. Use them in <program>_LDADD when linking a program, or
in <library>_a_LDFLAGS or <library>_la_LDFLAGS when linking a library.
$(GETADDRINFO_LIB)
$(HOSTENT_LIB)
$(INET_NTOP_LIB)
$(LIBSOCKET)
$(LIB_CLOCK_GETTIME)
$(LIB_CRYPTO)
$(LIB_SELECT)
$(LTLIBICONV) when linking with libtool, $(LIBICONV) otherwise
$(LTLIBINTL) when linking with libtool, $(LIBINTL) otherwise
$(LTLIBTHREAD) when linking with libtool, $(LIBTHREAD) otherwise
$(SERVENT_LIB)
####
Basically we should add all of them to wget_LDADD, to have gnulib working on all supported platforms. I am not a real expert here, though.
For further testing, please change this in src/Makefile.am:
-LDADD = $(LIBOBJS) ../lib/libgnu.a
+LDADD = $(LIBOBJS) $(LTLIBICONV) ../lib/libgnu.a
Then execute
autoreconf && ./configure && make
|
Fri 10 Jun 2016 09:28:13 PM UTC, comment #5:
bash-3.2$ grep -i iconv src/config.h src/Makefile
src/config.h:/* Define if you have the iconv() function and it works. */
src/config.h:#define HAVE_ICONV 1
src/config.h:/* Define to 1 if you have the <iconv.h> header file. */
src/config.h:#define HAVE_ICONV_H 1
src/config.h:/* Define as const if the declaration of iconv() needs const. */
src/config.h:#define ICONV_CONST
src/Makefile: $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/iconv_h.m4 \
src/Makefile:GNULIB_ICONV = 1
src/Makefile:ICONV_CONST =
src/Makefile:ICONV_H =
src/Makefile:LIBICONV =
src/Makefile:LTLIBICONV = -liconv
src/Makefile:NEXT_AS_FIRST_DIRECTIVE_ICONV_H = <iconv.h>
src/Makefile:NEXT_ICONV_H = <iconv.h>
src/Makefile:REPLACE_ICONV = 0
src/Makefile:REPLACE_ICONV_OPEN = 0
src/Makefile:REPLACE_ICONV_UTF = 0
|
Fri 10 Jun 2016 09:04:45 PM UTC, comment #4:
Ah, looks like something is missing in src/Makefile.am.
Please send the output of
grep -i iconv src/config.h src/Makefile
|
Fri 10 Jun 2016 04:14:02 PM UTC, comment #3:
Nope, same issue. I still have to manually add -liconv to LDFLAGS in the environment, otherwise make fails.
|
Fri 10 Jun 2016 03:47:39 PM UTC, comment #2:
Sorry, mistake by me - iconv is already included.
Please #include <iconv.h> unconditionally in src/url.c (remove the lines with #ifdef HAVE_ICONV and the corresponding #endif) and try again 'make'.
|
Fri 10 Jun 2016 03:40:47 PM UTC, comment #1:
Could you add a line
iconv
to ./bootstrap.conf and execute
./bootstrap && ./configure && make again
And report back here if that solves the problem for you !?
|
Fri 10 Jun 2016 10:46:26 AM UTC, original submission:
This is a regression introduced by 59b920874daa565a1323ffa1e756e80493190686
The error is
```
Making all in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make all-am
clang -DNDEBUG -o wget connect.o convert.o cookies.o ftp.o css_.o css-url.o ftp-basic.o ftp-ls.o hash.o host.o hsts.o html-parse.o html-url.o http.o init.o log.o main.o netrc.o progress.o ptimer.o recur.o res.o retr.o spider.o url.o warc.o utils.o exits.o build_info.o version.o ftp-opie.o openssl.o http-ntlm.o ../lib/libgnu.a -L/usr/local/opt/openssl/lib -lssl -lcrypto -ldl -lz
Undefined symbols for architecture x86_64:
"_iconv", referenced from:
_url_file_name in url.o
"_iconv_close", referenced from:
_url_file_name in url.o
"_iconv_open", referenced from:
_url_file_name in url.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
|