Subject: bug#17339: [bug-gnu-emacs] emacs-24.3.90: big build report

From: Glenn Morris <[email-masked]>
Date: Tue, 29 Apr 2014 11:04:09 -0400

"Nelson H. F. Beebe" wrote:

> (1) On several systems, linking failed with a missing symbol from the
>     ImageMagick libraries:
>
> 	    undefined: PixelSetMagickColor

Please tell us what version of ImageMagick is installed on those systems.

> (2) On NetBSD 6, configure tests for -lpng fail because that library does
>     not exist; instead, the vendor provides only -lpng16.  I fooled the
>     emacs configure script by creating this symlink:
>
> 		    /usr/local/lib/libpng.a: symbolic link to `/usr/pkg/lib/libpng16.a'
>
>     so that -lpng is now found.

This has come up before; http://debbugs.gnu.org/11797#8 .
IMO it seems like a sub-optimal thing for NetBSD to do, but I guess they
have reasons.

Does: pkg-config --libs libpng

work on that system?

> (3) On MirBSD, configure quits with the error
>
> 	    Emacs does not support `i386-unknown-mirbsd10' systems.

I installed the following:

--- a/configure.ac	2014-04-13 22:51:08 +0000
+++ b/configure.ac	2014-04-29 14:49:11 +0000
@@ -505,7 +505,7 @@
   ;;
 
   ## OpenBSD ports
-  *-*-openbsd* )
+  *-*-openbsd* | *-*-mirbsd* )
     opsys=openbsd
   ;;

> (4) On some systems (GNU/Linux on Alpha, SPARC, x86, PowerPC-32, and
>     PowerPC-64), in the final "make install", I get this error very near
>     the end:
>
> 	    /bin/bash: line 0: [: !=: unary operator expected
> 	    make[1]: Leaving directory '/local/build/bare/emacs-24.3.90/lib-src'

I installed the following. If it does not fix it, please provide more
context from the build log.

--- a/lib-src/Makefile.in	2014-01-05 02:56:08 +0000
+++ b/lib-src/Makefile.in	2014-04-29 14:54:58 +0000
@@ -247,8 +247,8 @@
 	  chown ${gameuser} "$(DESTDIR)${gamedir}"; \
 	  chmod u=rwx,g=rwx,o=rx "$(DESTDIR)${gamedir}"; \
 	fi
-	if [ "`cd \"$(DESTDIR)${archlibdir}\" && /bin/pwd`" \
-             != "`cd ${srcdir} && /bin/pwd`" ]; then \
+	exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && /bin/pwd`; \
+	if [ "$$exp_archlibdir" != "`cd ${srcdir} && /bin/pwd`" ]; then \
 	  for file in ${SCRIPTS}; do \
 	    $(INSTALL_SCRIPT) ${srcdir}/$$file "$(DESTDIR)${archlibdir}/$$file"; \
 	  done ; \