[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#29186: building guile-emacs fails: required libaries not found: libj
From: |
Jan Nieuwenhuizen |
Subject: |
bug#29186: building guile-emacs fails: required libaries not found: libjpeg |
Date: |
Tue, 07 Nov 2017 18:06:50 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Mark H Weaver writes:
> Can you try building it with --keep-failed, and then look at the
> config.log file in the failed build directory? It should show details
> of what went wrong. Typically these tests try compiling small test
> programs, and likely there was some other error that lead it to the
> erroneous conclusion. config.log will contain the test program and
> error messages.
Thanks for the heads up!
Attached is a patch that fixes this configure problem. However, now the
build fails with a segfault:
EMACSLOADPATH= '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp -l
autoload \
--eval "(setq generate-autoload-cookie \";;;###cal-autoload\")" \
--eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name
\"../../git-checkout/lisp/calendar/cal-loaddefs.el\")))" \
-f batch-update-autoloads ../../git-checkout/lisp/calendar
make[2]: *** [Makefile:466: ../../git-checkout/lisp/calendar/cal-loaddefs.el]
Segmentation fault
Greetings,
janneke
>From c0cecb3e3f39de01c674dadf8949186e94d5fb9b Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <address@hidden>
Date: Tue, 7 Nov 2017 08:08:21 +0100
Subject: [PATCH] gnu: guile-emacs: Resurrect, fixes #29186.
* gnu/packages/patches/emacs-fix-configure-jpeg.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/emacs.scm (guile-emacs): Use it. Fixes #29186.
---
gnu/local.mk | 2 +
gnu/packages/emacs.scm | 1 +
.../patches/emacs-fix-configure-jpeg.patch | 99 ++++++++++++++++++++++
3 files changed, 102 insertions(+)
create mode 100644 gnu/packages/patches/emacs-fix-configure-jpeg.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 90dc7aec1..25082b9ad 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -11,6 +11,7 @@
# Copyright © 2016 Ben Woodcroft <address@hidden>
# Copyright © 2016, 2017 Alex Vong <address@hidden>
# Copyright © 2016, 2017 Efraim Flashner <address@hidden>
+# Copyright © 2016, 2017 Jan Nieuwenhuizen <address@hidden>
# Copyright © 2017 Tobias Geerinckx-Rice <address@hidden>
# Copyright © 2017 Clément Lassieur <address@hidden>
# Copyright © 2017 Mathieu Othacehe <address@hidden>
@@ -598,6 +599,7 @@ dist_patch_DATA =
\
%D%/packages/patches/elixir-disable-failing-tests.patch \
%D%/packages/patches/einstein-build.patch \
%D%/packages/patches/emacs-exec-path.patch \
+ %D%/packages/patches/emacs-fix-configure-jpeg.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 026b27bf8..e5329b4c5 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -276,6 +276,7 @@ editor (without an X toolkit)" )
(uri (git-reference
(url "git://git.hcoop.net/git/bpt/emacs.git")
(commit "41120e0f595b16387eebfbf731fff70481de1b4b")))
+ (patches (search-patches "emacs-fix-configure-jpeg.patch"))
(sha256
(base32
"0lvcvsz0f4mawj04db35p1dvkffdqkz8pkhc0jzh9j9x2i63kcz6"))))
diff --git a/gnu/packages/patches/emacs-fix-configure-jpeg.patch
b/gnu/packages/patches/emacs-fix-configure-jpeg.patch
new file mode 100644
index 000000000..5205877af
--- /dev/null
+++ b/gnu/packages/patches/emacs-fix-configure-jpeg.patch
@@ -0,0 +1,99 @@
+Backported from
+
+ From fdf532b9c915ad9ba72155646d29d0f530fd72ec Mon Sep 17 00:00:00 2001
+ From: Paul Eggert <address@hidden>
+ Date: Wed, 15 Apr 2015 18:30:01 -0700
+ Subject: [PATCH] Port jpeg configuration to Solaris 10 with Sun C
+
+ * configure.ac: Check for jpeglib 6b by trying to link it, instead
+ of relying on cpp magic that has problems in practice. Check for
+ both jpeglib.h and jerror.h features. Remove special case for
+ mingw32, which should no longer be needed (and if it were needed,
+ should now be addressable by hotwiring emacs_cv_jpeglib).
+ Fixes: bug#20332
+
+Fixes: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29186
+
+Upstream status: not yet presented upstream.
+
+--- a/configure.ac 2017-11-07 07:49:49.359550593 +0100
++++ b/configure.ac 2017-11-07 07:50:50.864551155 +0100
+@@ -3014,44 +3014,40 @@ AC_SUBST(LIBXPM)
+ ### mingw32 doesn't use -ljpeg, since it loads the library dynamically.
+ HAVE_JPEG=no
+ LIBJPEG=
+-if test "${opsys}" = "mingw32"; then
+- if test "${with_jpeg}" != "no"; then
+- dnl Checking for jpeglib.h can lose because of a redefinition of
+- dnl HAVE_STDLIB_H.
+- AC_CHECK_HEADER(jerror.h, HAVE_JPEG=yes, HAVE_JPEG=no)
+- fi
+- AH_TEMPLATE(HAVE_JPEG, [Define to 1 if you have the jpeg library
(-ljpeg).])dnl
+- if test "${HAVE_JPEG}" = "yes"; then
+- AC_DEFINE(HAVE_JPEG)
+- AC_EGREP_CPP([version= *(6[2-9]|[7-9][0-9])],
+- [#include <jpeglib.h>
+- version=JPEG_LIB_VERSION
+-],
+- [AC_DEFINE(HAVE_JPEG)],
+- [AC_MSG_WARN([libjpeg found, but not version 6b or later])
+- HAVE_JPEG=no])
+- fi
+-elif test "${HAVE_X11}" = "yes" || test "${HAVE_W32}" = "yes"; then
+- if test "${with_jpeg}" != "no"; then
+- dnl Checking for jpeglib.h can lose because of a redefinition of
+- dnl HAVE_STDLIB_H.
+- AC_CHECK_HEADER(jerror.h,
+- [AC_CHECK_LIB(jpeg, jpeg_destroy_compress, HAVE_JPEG=yes)])
+- fi
+-
+- AH_TEMPLATE(HAVE_JPEG, [Define to 1 if you have the jpeg library
(-ljpeg).])dnl
+- if test "${HAVE_JPEG}" = "yes"; then
+- AC_DEFINE(HAVE_JPEG)
+- AC_EGREP_CPP([version= *(6[2-9]|[7-9][0-9])],
+- [#include <jpeglib.h>
+- version=JPEG_LIB_VERSION
+-],
+- [AC_DEFINE(HAVE_JPEG)],
+- [AC_MSG_WARN([libjpeg found, but not version 6b or later])
+- HAVE_JPEG=no])
+- fi
+- if test "${HAVE_JPEG}" = "yes"; then
+- LIBJPEG=-ljpeg
++if test "${with_jpeg}" != "no"; then
++ AC_CACHE_CHECK([for jpeglib 6b or later],
++ [emacs_cv_jpeglib],
++ [OLD_LIBS=$LIBS
++ for emacs_cv_jpeglib in yes -ljpeg no; do
++ case $emacs_cv_jpeglib in
++ yes) ;;
++ no) break;;
++ *) LIBS="$LIBS $emacs_cv_jpeglib";;
++ esac
++ AC_LINK_IFELSE(
++ [AC_LANG_PROGRAM(
++ [[#undef HAVE_STDLIB_H /* Avoid config.h/jpeglib.h collision. */
++ #include <stdio.h> /* jpeglib.h needs FILE and size_t. */
++ #include <jpeglib.h>
++ #include <jerror.h>
++ char verify[JPEG_LIB_VERSION < 62 ? -1 : 1];
++ struct jpeg_decompress_struct cinfo;
++ ]],
++ [[
++ jpeg_create_decompress (&cinfo);
++ WARNMS (&cinfo, JWRN_JPEG_EOF);
++ jpeg_destroy_decompress (&cinfo);
++ ]])],
++ [emacs_link_ok=yes],
++ [emacs_link_ok=no])
++ LIBS=$OLD_LIBS
++ test $emacs_link_ok = yes && break
++ done])
++ if test "$emacs_cv_jpeglib" != no; then
++ HAVE_JPEG=yes
++ AC_DEFINE([HAVE_JPEG], 1,
++ [Define to 1 if you have the jpeg library (typically -ljpeg).])
++ test "$emacs_cv_jpeglib" != yes && LIBJPEG=$emacs_cv_jpeglib
+ fi
+ fi
+ AC_SUBST(LIBJPEG)
--
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
--
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
- bug#29186: building guile-emacs fails: required libaries not found: libjpeg, Jan Nieuwenhuizen, 2017/11/06
- bug#29186: building guile-emacs fails: required libaries not found: libjpeg, Mark H Weaver, 2017/11/07
- bug#29186: building guile-emacs fails: required libaries not found: libjpeg,
Jan Nieuwenhuizen <=
- bug#29186: building guile-emacs fails: required libaries not found: libjpeg, Efraim Flashner, 2017/11/08
- bug#29186: building guile-emacs fails: required libaries not found: libjpeg, Jan Nieuwenhuizen, 2017/11/08
- bug#29186: building guile-emacs fails: required libaries not found: libjpeg, Ludovic Courtès, 2017/11/14
- bug#29186: building guile-emacs fails: required libaries not found: libjpeg, Jan Nieuwenhuizen, 2017/11/14
- bug#29186: building guile-emacs fails: required libaries not found: libjpeg, Ludovic Courtès, 2017/11/16
- bug#29186: building guile-emacs fails: required libaries not found: libjpeg, Ludovic Courtès, 2017/11/24
- bug#29186: building guile-emacs fails: required libaries not found: libjpeg, Jan Nieuwenhuizen, 2017/11/25