Summary: | ghostscript-9.19rc1 configure/make/install does no longer work as before (up to 9.18) | ||
---|---|---|---|
Product: | Ghostscript | Reporter: | jsmeix |
Component: | Build Process | Assignee: | Chris Liddell (chrisl) <chris.liddell> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | P4 | ||
Version: | master | ||
Hardware: | PC | ||
OS: | Linux | ||
Customer: | Word Size: | --- | |
Attachments: | add_brackets_for_old_autoconf.patch |
Description
jsmeix
2016-03-17 02:11:22 UTC
Damn, okay, I can revert the change that caused that. I put in a change to cure a make warning, and didn't realise it would cause problems with the gs only install. I'll have to think about it - I'd like to avoid the warning, too. This will be fixed for the 9.19 release, though. Many thanks for your prompt reply! Could you provide me the change that caused that so that I could revert it to make it build on openSUSE because I like to provide ghostscript-9.19rc1 via our "Printing" development project, cf. https://build.opensuse.org/project/show/Printing This way interested openSUSE users can try out whether or not Ghostscript 9.19 RC1 works on their various openSUSE systems. (In reply to jsmeix from comment #2) > Many thanks for your prompt reply! > > Could you provide me the change that caused that > so that I could revert it to make it build on openSUSE > because I like to provide ghostscript-9.19rc1 > via our "Printing" development project, cf. > https://build.opensuse.org/project/show/Printing > > This way interested openSUSE users can try out > whether or not Ghostscript 9.19 RC1 works > on their various openSUSE systems. I'm just testing a fix for the "make install" problem. Hopefully that'll be done in a few minutes and you can try that. The configure error has me baffled though. I did notice some debug code, which I have removed, but since that only echo'ed the value of a variable, it's hard to imagine it causing a problem. There's nothing I can see around the "-ldl" test, nor around the line number in the error that looks suspicious. I notice your build script does an autoreconf, so if that recreates configure from configure.ac, then configure may well be very different from the one we ship (and test). Two patches (order is not really important): http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a529498d http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d7e175bc The first *should* fix the "make install" error, the second removes the debug code. The second one http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d7e175bc is not yet sufficient to make it build on SLE11. I guess it is because SLE11 has an older autoconf that is more picky about the syntax that newer autoconf. What made it build for me also on SLE11 is (the long lines shown wrapped here): ----------------------------------------------------------------------------- --- configure.ac.orig 2016-03-14 11:17:22.000000000 +0100 +++ configure.ac 2016-03-17 15:43:31.000000000 +0100 @@ -392,10 +392,7 @@ if test "x$ac_cv_header_inttypes_h" = xy GCFLAGS="$GCFLAGS -DHAVE_INTTYPES_H=1" fi -AC_CHECK_LIB([dl], [dlopen], - AC_CHECK_HEADER([dlfcn.h], [GCFLAGS= "$GCFLAGS -DHAVE_LIBDL=1";LIBS="-ldl $LIBS"]) - ) -echo $LIBS +AC_CHECK_LIB([dl], [dlopen], [AC_CHECK_HEADER([dlfcn.h], [GCFLAGS= "$GCFLAGS -DHAVE_LIBDL=1";LIBS="-ldl $LIBS"])]) large_color_index=1 ----------------------------------------------------------------------------- I.e. I have your removed "echo $LIBS" line plus the third argument of AC_CHECK_LIB within brackets i.e. AC_CHECK_HEADER(...) within brackets: AC_CHECK_LIB( [...], [...], [AC_CHECK_HEADER(...)]) With that it builds also for SLE11 and the very first quick test shows that ghostscript-9.19rc1 works for me on my SLE11 system. Only FYI: Without having the third argument of AC_CHECK_LIB within brackets autoconf in SLE11 generates this configure script (excerpt with added line numbers): ---------------------------------------------------------------------------- 6913 # So? What about this header? 6914 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in 6915 yes:no: 6916 fi ---------------------------------------------------------------------------- which is invalid bash syntax that leads to the above mentioned bash error message: ---------------------------------------------------------------------- ./configure: line 6915: syntax error near unexpected token `newline' ./configure: line 6915: ` yes:no:' ---------------------------------------------------------------------- Created attachment 12398 [details]
add_brackets_for_old_autoconf.patch
In contrast to what I wrote before the
echo $LIBS
line can stay - only the brackets need to be added,
see my attached patch.
Then it works for all openSUSE versions and architectures
and the build log output is always the same:
--------------------------------------------------------------------------
checking for dlopen in -ldl... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
-ldl
--------------------------------------------------------------------------
(In reply to jsmeix from comment #8) > Created attachment 12398 [details] > add_brackets_for_old_autoconf.patch > > In contrast to what I wrote before the > echo $LIBS > line can stay - only the brackets need to be added, > see my attached patch. > > Then it works for all openSUSE versions and architectures > and the build log output is always the same: > -------------------------------------------------------------------------- > checking for dlopen in -ldl... yes > checking dlfcn.h usability... yes > checking dlfcn.h presence... yes > checking for dlfcn.h... yes > -ldl > -------------------------------------------------------------------------- Thanks. The "echo $LIBS" was just the debug stuff I left in by mistake, so that's gone. I'll push the brackets change, and include it on the release branch. Thanks for helping track down the problem. http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2dda1c1 |