libpng
libpng copied to clipboard
Generated libtool is bugged
Had to manually change the libtool directory to /usr/bin/libtool for libpng to compile correctly.
Ubuntu 16.04, mate DE
The error it gives is
./libtool: eval: line 7967: unexpected EOF while looking for matching `'' ./libtool: eval: line 7968: syntax error: unexpected end of file Makefile:891: recipe for target 'libpng16.la' failed make[1]: *** [libpng16.la] Error 2
Were you starting with a libpng tarball or with a Git clone?
Would you capture the output of './libtool --config' and '/usr/bin/libtool --config' and attach them here?
I started with the Git clone.
When running ./libtool --config, it breaks my console. Here is a sample of the output:
S≤└␉⎺┌⎽ ├▒├ └┤⎽├ ▒┌┬▒≤⎽ ␉␊ ␊│⎻⎺⎼├␊␍.
␋┼␌┌┤␍␊_␊│⎻⎽≤└⎽="""
I joined the '/usr/bin/libtool --config' ouput output.zip
So your ./libtool got truncated somehow. On my Ubuntu 86_64 platform, around line 7968 is
else
shlib_search_path=
fi
eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
7967-> eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
7968->
# Definition is injected by LT_CONFIG during libtool generation.
func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
func_dirname "$output" "/" ""
_objdir=$func_dirname_result$objdir
What does "tail -10 ./libtool" show you?
I don't know if Glenn tracked this down, it seems pretty weird because I can't see why he concluded that the generated libtool was truncated.
Anyway, it's necessary to regenerate the autostuff after a git pull. If you switch on maintainer mode this happens automatically, otherwise autogen.sh warns you that you need to do it. If you know about autoreconf (i.e. don't run ./autogen.sh in the first place) you are assumed to know all about it ;-)
Normally this is just a matter of running autoreconf. It is good practice to do this after every pull (or to pass --enable-maintainer-mode to configure in the first place).
In this case I suggest running:
./autogen.sh --maintainer --clean autoreconf -f -i ./configure --enable-maintainer-mode
(Notice that the latter is not done for releases; releases include a consistent set of autotools including pre-generated libtool and configure and it is a distinctly bad idea to change them.)
Is there any solution for this issue?
I am using Ubuntu 17.10 to compile libpng-1.6.21 and it gives error:
./libtool: eval: line 7966: unexpected EOF while looking for matching `"' ./libtool: eval: line 7967: syntax error: unexpected end of file Makefile:857: recipe for target 'libpng16.la' failed make[1]: *** [libpng16.la] Error 2
The line 7966 in libtool is eval sys_lib_dlsearch_path="$sys_lib_dlsearch_path_spec"
Same as before: i.e. read my message, the one you responded to. It is unambiguous, direct and forthright.
In any case, the current Gentoo development version is 1.6.34 and picking random versions out of the past is Putinesk to say the least.
Close: @ctruta, just delete the derived files. The distributions really don't care (they use their own autoconf) and if the build of the tarball doesn't recreated them there is something wrong with that build (there may be, that's a more important issue.)