GNU bug report logs - #19050
Fail compile emacs with jpeg library on MinGW32

Previous Next

Package: emacs;

Reported by: Lin Sun (孙林) <Lin.Sun <at> mediatek.com>

Date: Fri, 14 Nov 2014 01:20:02 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 19050 in the body.
You can then email your comments to 19050 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#19050; Package emacs. (Fri, 14 Nov 2014 01:20:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lin Sun (孙林) <Lin.Sun <at> mediatek.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 14 Nov 2014 01:20:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Lin Sun (孙林) <Lin.Sun <at> mediatek.com>
To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org>
Subject: Fail compile emacs with jpeg library on MinGW32
Date: Fri, 14 Nov 2014 00:58:49 +0000
[Message part 1 (text/plain, inline)]
Hi Pals:
Fail when compile emacs with jpeg library on MinGW32, then change the
code to follow clip will compile successful,
@@ -6189,7 +6189,7 @@ jpeg_image_p (Lisp_Object object)
    different name.  This name, jpeg_boolean, remains in effect through
    the rest of image.c.
 */
-#if defined CYGWIN && defined HAVE_NTGUI
+#if defined HAVE_NTGUI
 #define boolean jpeg_boolean
 #endif
 #include <jpeglib.h>

and the configure command is:
../emacs-24.4.src/configure --with-w32
PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/d/MinGW/lib/pkgconfig:/d/MinGW/mingw32/lib/pkgconfig:/d/MinGW/sys-root/lib/pkgconfig
CFLAGS="-I/d/MinGW/sys-root/include -I/mingw/include
-I/mingw/mingw32/include" LDFLAGS="-L/d/MinGW/sys-root/lib -L/mingw/lib
-L/mingw/mingw32/lib"

The error message without modification as follow:
gcc  -std=gnu99 -c -mtune=pentium4   -DUSE_CRT_DLL=1 -I /d/mydata/home/user123/work-dev/emacs-24.4.mingw/../emacs-24.4.src/nt/inc -Demacs  -I. -I../../emacs-24.4.src/src -I../lib -I../../emacs-24.4.src/src/../lib  -mtune=pentium4      -Id:/MinGW/sys-root/include/libxml2          -MMD -MF deps/image.d -MP     -I/d/MinGW/sys-root/include -I/mingw/include -I/mingw/mingw32/include  ../../emacs-24.4.src/src/image.c
../../emacs-24.4.src/src/image.c:1843:68: error: expected declaration specifiers or '...' before '*' token
 #define DEF_IMGLIB_FN(rettype,func,args) static rettype (FAR CDECL *fn_##func)args
                                                                    ^
../../emacs-24.4.src/src/image.c:6203:1: note: in expansion of macro 'DEF_IMGLIB_FN'
 DEF_IMGLIB_FN (boolean, jpeg_start_decompress, (j_decompress_ptr));
 ^
../../emacs-24.4.src/src/image.c:1843:68: error: expected declaration specifiers or '...' before '*' token
 #define DEF_IMGLIB_FN(rettype,func,args) static rettype (FAR CDECL *fn_##func)args
                                                                    ^
../../emacs-24.4.src/src/image.c:6204:1: note: in expansion of macro 'DEF_IMGLIB_FN'
 DEF_IMGLIB_FN (boolean, jpeg_finish_decompress, (j_decompress_ptr));
 ^
../../emacs-24.4.src/src/image.c:6206:58: error: unknown type name 'boolean'
 DEF_IMGLIB_FN (int, jpeg_read_header, (j_decompress_ptr, boolean));
                                                          ^
../../emacs-24.4.src/src/image.c:1843:79: note: in definition of macro 'DEF_IMGLIB_FN'
 #define DEF_IMGLIB_FN(rettype,func,args) static rettype (FAR CDECL *fn_##func)args
                                                                               ^
../../emacs-24.4.src/src/image.c:1843:68: error: expected declaration specifiers or '...' before '*' token
 #define DEF_IMGLIB_FN(rettype,func,args) static rettype (FAR CDECL *fn_##func)args
                                                                    ^
../../emacs-24.4.src/src/image.c:6209:1: note: in expansion of macro 'DEF_IMGLIB_FN'
 DEF_IMGLIB_FN (boolean, jpeg_resync_to_restart, (j_decompress_ptr, int));
 ^
../../emacs-24.4.src/src/image.c: In function 'init_jpeg_functions':
../../emacs-24.4.src/src/image.c:1847:5: error: 'fn_jpeg_finish_decompress' undeclared (first use in this function)
     fn_##func = (void *) GetProcAddress (lib, #func);   \
     ^
../../emacs-24.4.src/src/image.c:6219:3: note: in expansion of macro 'LOAD_IMGLIB_FN'
   LOAD_IMGLIB_FN (library, jpeg_finish_decompress);
   ^
../../emacs-24.4.src/src/image.c:1847:5: note: each undeclared identifier is reported only once for each function it appears in
     fn_##func = (void *) GetProcAddress (lib, #func);   \
     ^
../../emacs-24.4.src/src/image.c:6219:3: note: in expansion of macro 'LOAD_IMGLIB_FN'
   LOAD_IMGLIB_FN (library, jpeg_finish_decompress);
   ^
../../emacs-24.4.src/src/image.c:1847:5: error: 'fn_jpeg_start_decompress' undeclared (first use in this function)
     fn_##func = (void *) GetProcAddress (lib, #func);   \
     ^
../../emacs-24.4.src/src/image.c:6221:3: note: in expansion of macro 'LOAD_IMGLIB_FN'
   LOAD_IMGLIB_FN (library, jpeg_start_decompress);
   ^
../../emacs-24.4.src/src/image.c:1847:5: error: 'fn_jpeg_read_header' undeclared (first use in this function)
     fn_##func = (void *) GetProcAddress (lib, #func);   \
     ^
../../emacs-24.4.src/src/image.c:6222:3: note: in expansion of macro 'LOAD_IMGLIB_FN'
   LOAD_IMGLIB_FN (library, jpeg_read_header);
   ^
../../emacs-24.4.src/src/image.c:1847:5: error: 'fn_jpeg_resync_to_restart' undeclared (first use in this function)
     fn_##func = (void *) GetProcAddress (lib, #func);   \
     ^
../../emacs-24.4.src/src/image.c:6226:3: note: in expansion of macro 'LOAD_IMGLIB_FN'
   LOAD_IMGLIB_FN (library, jpeg_resync_to_restart);
   ^
../../emacs-24.4.src/src/image.c: At top level:
../../emacs-24.4.src/src/image.c:6233:1: error: unknown type name 'boolean'
 jpeg_resync_to_restart_wrapper (j_decompress_ptr cinfo, int desired)
 ^
../../emacs-24.4.src/src/image.c: In function 'jpeg_resync_to_restart_wrapper':
../../emacs-24.4.src/src/image.c:6235:3: warning: implicit declaration of function 'fn_jpeg_resync_to_restart' [-Wimplicit-function-declaration]
   return fn_jpeg_resync_to_restart (cinfo, desired);
   ^
../../emacs-24.4.src/src/image.c: At top level:
../../emacs-24.4.src/src/image.c:6303:1: error: unknown type name 'boolean'
 our_memory_fill_input_buffer (j_decompress_ptr cinfo)
 ^
../../emacs-24.4.src/src/image.c:6367:3: error: unknown type name 'boolean'
   boolean finished;
   ^
../../emacs-24.4.src/src/image.c:6382:1: error: unknown type name 'boolean'
 our_stdio_fill_input_buffer (j_decompress_ptr cinfo)
 ^
../../emacs-24.4.src/src/image.c: In function 'jpeg_load_body':
../../emacs-24.4.src/src/image.c:6561:3: warning: implicit declaration of function 'fn_jpeg_read_header' [-Wimplicit-function-declaration]
   fn_jpeg_read_header (&mgr->cinfo, 1);
   ^
../../emacs-24.4.src/src/image.c:6566:3: warning: implicit declaration of function 'fn_jpeg_start_decompress' [-Wimplicit-function-declaration]
   fn_jpeg_start_decompress (&mgr->cinfo);
   ^
../../emacs-24.4.src/src/image.c:6634:3: warning: implicit declaration of function 'fn_jpeg_finish_decompress' [-Wimplicit-function-declaration]
   fn_jpeg_finish_decompress (&mgr->cinfo);
   ^
make[1]: *** [image.o] Error 1
make[1]: Leaving directory `/d/mydata/home/user123/work-dev/emacs-24.4.mingw/src'
make: *** [src] Error 2

Best Regards
Sunline

[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19050; Package emacs. (Fri, 14 Nov 2014 06:03:01 GMT) Full text and rfc822 format available.

Message #8 received at 19050 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lin Sun <Lin.Sun <at> mediatek.com> (孙林)
Cc: 19050 <at> debbugs.gnu.org
Subject: Re: bug#19050: Fail compile emacs with jpeg library on MinGW32
Date: Fri, 14 Nov 2014 08:02:47 +0200
> From: Lin Sun (孙林) <Lin.Sun <at> mediatek.com>
> Date: Fri, 14 Nov 2014 00:58:49 +0000
> 
> Fail when compile emacs with jpeg library on MinGW32, then change the
> 
> code to follow clip will compile successful,
> 
> @@ -6189,7 +6189,7 @@ jpeg_image_p (Lisp_Object object)
> 
> different name. This name, jpeg_boolean, remains in effect through
> 
> the rest of image.c.
> 
> */
> 
> -#if defined CYGWIN && defined HAVE_NTGUI
> 
> +#if defined HAVE_NTGUI
> 
> #define boolean jpeg_boolean
> 
> #endif
> 
> #include <jpeglib.h>
> 
> and the configure command is:
> 
> ../emacs-24.4.src/configure --with-w32

What version of libjpeg are you using, and where did you download it
from?

(And why are you using the --with-w32 option to configure when
building a MinGW port of Emacs?)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19050; Package emacs. (Mon, 17 Nov 2014 01:17:02 GMT) Full text and rfc822 format available.

Message #11 received at 19050 <at> debbugs.gnu.org (full text, mbox):

From: Lin Sun (孙林) <Lin.Sun <at> mediatek.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: "19050 <at> debbugs.gnu.org" <19050 <at> debbugs.gnu.org>
Subject: RE: bug#19050: Fail compile emacs with jpeg library on MinGW32
Date: Mon, 17 Nov 2014 01:15:58 +0000
Dear Eli:

The lib jpeg can download from http://www.annexia.org/tmp/mingw/fedora-rawhide/src/SRPMS/mingw32-libjpeg-6b-8.fc11.src.rpm.
And the "--with-w32" may be for cygwin build only, that's my fail.
I think the line
> #if defined CYGWIN && defined HAVE_NTGUI
will make the libjpeg invalid when compile Emacs on MinGW32.
I had compile a Emacs with libjpeg on MinGW32, and the Emacs can show the *.jpg files well.
So the line should also work for MinGW32.

Best Regards
Sunline


************* Email Confidentiality Notice ********************
The information contained in this e-mail message (including any 
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be 
conveyed only to the designated recipient(s). Any use, dissemination, 
distribution, printing, retaining or copying of this e-mail (including its 
attachments) by unintended recipient(s) is strictly prohibited and may 
be unlawful. If you are not an intended recipient of this e-mail, or believe 
that you have received this e-mail in error, please notify the sender 
immediately (by replying to this e-mail), delete any and all copies of 
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19050; Package emacs. (Mon, 17 Nov 2014 03:50:03 GMT) Full text and rfc822 format available.

Message #14 received at 19050 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lin Sun <Lin.Sun <at> mediatek.com> (孙林)
Cc: 19050 <at> debbugs.gnu.org
Subject: Re: bug#19050: Fail compile emacs with jpeg library on MinGW32
Date: Mon, 17 Nov 2014 05:48:47 +0200
> From: Lin Sun (孙林) <Lin.Sun <at> mediatek.com>
> CC: "19050 <at> debbugs.gnu.org" <19050 <at> debbugs.gnu.org>
> Date: Mon, 17 Nov 2014 01:15:58 +0000
> 
> The lib jpeg can download from http://www.annexia.org/tmp/mingw/fedora-rawhide/src/SRPMS/mingw32-libjpeg-6b-8.fc11.src.rpm.

Please try with this one instead:

  http://sourceforge.net/projects/ezwinports/files/jpeg-v9a-w32-bin.zip/download

> I think the line
> > #if defined CYGWIN && defined HAVE_NTGUI
> will make the libjpeg invalid when compile Emacs on MinGW32.

It shouldn't.  The problem that part solves is specific to the Cygwin
port of libjpeg, it shouldn't happen on MinGW.

> I had compile a Emacs with libjpeg on MinGW32, and the Emacs can show the *.jpg files well.

So did I, without that line.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19050; Package emacs. (Tue, 18 Nov 2014 00:31:02 GMT) Full text and rfc822 format available.

Message #17 received at 19050 <at> debbugs.gnu.org (full text, mbox):

From: Lin Sun (孙林) <Lin.Sun <at> mediatek.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: "19050 <at> debbugs.gnu.org" <19050 <at> debbugs.gnu.org>
Subject: RE: bug#19050: Fail compile emacs with jpeg library on MinGW32
Date: Tue, 18 Nov 2014 00:30:09 +0000
Dear Eli:

You're right. Follow your instruction, without any modification, the Emacs can be compile success and work fine with the jpeg library.
Please mark this ticket as invalid.
Thank you.

Best Regards
Sunline

************* Email Confidentiality Notice ********************
The information contained in this e-mail message (including any 
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be 
conveyed only to the designated recipient(s). Any use, dissemination, 
distribution, printing, retaining or copying of this e-mail (including its 
attachments) by unintended recipient(s) is strictly prohibited and may 
be unlawful. If you are not an intended recipient of this e-mail, or believe 
that you have received this e-mail in error, please notify the sender 
immediately (by replying to this e-mail), delete any and all copies of 
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!

Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Tue, 18 Nov 2014 03:40:04 GMT) Full text and rfc822 format available.

Notification sent to Lin Sun (孙林) <Lin.Sun <at> mediatek.com>:
bug acknowledged by developer. (Tue, 18 Nov 2014 03:40:05 GMT) Full text and rfc822 format available.

Message #22 received at 19050-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lin Sun <Lin.Sun <at> mediatek.com> (孙林)
Cc: 19050-done <at> debbugs.gnu.org
Subject: Re: bug#19050: Fail compile emacs with jpeg library on MinGW32
Date: Tue, 18 Nov 2014 05:39:11 +0200
> From: Lin Sun (孙林) <Lin.Sun <at> mediatek.com>
> CC: "19050 <at> debbugs.gnu.org" <19050 <at> debbugs.gnu.org>
> Date: Tue, 18 Nov 2014 00:30:09 +0000
> 
> You're right. Follow your instruction, without any modification, the Emacs can be compile success and work fine with the jpeg library.
> Please mark this ticket as invalid.
> Thank you.

OK, thanks.  I'm closing this bug.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 16 Dec 2014 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 10 years and 188 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.