php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #18639 compilation of exif fails
Submitted: 2002-07-30 08:23 UTC Modified: 2005-02-01 22:57 UTC
From: nohn@php.net Assigned: helly (profile)
Status: Closed Package: EXIF related
PHP Version: 4.2.3RC2 OS: Compaq Tru64
Private report: No CVE-ID: None
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
33 + 45 = ?
Subscribe to this entry?

 
 [2002-07-30 08:23 UTC] nohn@php.net
When compile with --enable-exif following errors occur:

cc: Info: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 535: In this d
eclaration, there is a redundant use of type qualifier "const". (duptypqual)
static const tag_info_array tag_table_IFD = {
-------^
cc: Info: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 784: In this d
eclaration, there is a redundant use of type qualifier "const". (duptypqual)
static const tag_info_array tag_table_GPS = {
-------^
cc: Info: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 819: In this d
eclaration, there is a redundant use of type qualifier "const". (duptypqual)
static const tag_info_array tag_table_IOP = {
-------^
cc: Info: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 828: In this d
eclaration, there is a redundant use of type qualifier "const". (duptypqual)
static const tag_info_array tag_table_VND_CANON = {
-------^
cc: Info: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 840: In this d
eclaration, there is a redundant use of type qualifier "const". (duptypqual)
static const tag_info_array tag_table_VND_CASIO = {
-------^
cc: Info: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 856: In this d
eclaration, there is a redundant use of type qualifier "const". (duptypqual)
static const tag_info_array tag_table_VND_FUJI = {
-------^
cc: Info: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 876: In this d
eclaration, there is a redundant use of type qualifier "const". (duptypqual)
static const tag_info_array tag_table_VND_NIKON = {
cc: Info: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 888: In this d
eclaration, there is a redundant use of type qualifier "const". (duptypqual)
static const tag_info_array tag_table_VND_NIKON_990 = {
-------^
cc: Info: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 907: In this d
eclaration, there is a redundant use of type qualifier "const". (duptypqual)
static const tag_info_array tag_table_VND_OLYMPUS = {
-------^
cc: Error: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3000: In this
 declaration, parameter 4 has a different type than specified in an earlier decl
aration of this function. (mismatparam)
static int exif_process_IFD_in_JPEG(image_info_type *ImageInfo, char *dir_start,
 char *offset_base, unsigned IFDlength, size_t displacement, int section_index T
SRMLS_DC)
-----------^
cc: Error: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3000: In this
 declaration, the type of "exif_process_IFD_in_JPEG" is not compatible with the 
type of a previous declaration of "exif_process_IFD_in_JPEG" at line number 2177
 in file /usr/users/nohn/php4-200207292100/ext/exif/exif.c. (notcompat)
static int exif_process_IFD_in_JPEG(image_info_type *ImageInfo, char *dir_start,
 char *offset_base, unsigned IFDlength, size_t displacement, int section_index T
SRMLS_DC)
-----------^
cc: Warning: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3209: In th
is statement, the referenced type of the pointer value "(Data+2)" is "unsigned c
har", which is not compatible with "signed char". (ptrmismatch)
                got = php_stream_read(ImageInfo->infile, Data+2, itemlen-2); /* 
Read the whole section. */
----------------------^
cc: Warning: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3230: In th
is statement, the referenced type of the pointer value "(Data)" is "unsigned cha
r", which is not compatible with "signed char". (ptrmismatch)
                                        got = php_stream_read(ImageInfo->infile,
 Data, size);
----------------------------------------------^
cc: Warning: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3243: In th
is statement, the referenced type of the pointer value "(char ...)Data" is "sign
ed char", which is not compatible with "unsigned char". (ptrmismatch)
                                exif_process_COM(ImageInfo, (char *)Data, itemle
n TSRMLS_CC);
------------------------------------------------------------^
cc: Warning: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3301: In th
e initializer for data, the referenced type of the pointer value "ImageInfo->Thu
mbnail.data" is "signed char", which is not compatible with "unsigned char". (pt
rmismatch)
        uchar           c, *data = ImageInfo->Thumbnail.data;
-----------------------------------^
cc: Warning: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3401: In th
is statement, the referenced type of the pointer value "(ImageInfo->file.list[sn
].data)" is "unsigned char", which is not compatible with "signed char". (ptrmis
match)
                php_stream_read(ImageInfo->infile, ImageInfo->file.list[sn].data
, 2);
----------------^
cc: Warning: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3411: In th
is statement, the referenced type of the pointer value "(ImageInfo->file.list[sn
].data+2)" is "unsigned char", which is not compatible with "signed char". (ptrm
ismatch)
                        php_stream_read(ImageInfo->infile, ImageInfo->file.list[
sn].data+2, dir_size-2);
------------------------^
cc: Warning: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3500: In th
is statement, the referenced type of the pointer value "(ImageInfo->file.list[sn
].data+dir_size)" is "unsigned char", which is not compatible with "signed char"
. (ptrmismatch)
                                        php_stream_read(ImageInfo->infile, Image
Info->file.list[sn].data+dir_size, ifd_size-dir_size);
----------------------------------------^
cc: Warning: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3565: In th
is statement, the referenced type of the pointer value "dir_entry" is "unsignedchar", which is not compatible with "signed char". (ptrmismatch)
                                                if (!exif_process_IFD_TAG(ImageI
nfo, dir_entry,
--------------------------------------------------------------------------------
-----^
cc: Warning: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3566: In th
is statement, the referenced type of the pointer value "ImageInfo->file.list[sn]
.data-dir_offset" is "unsigned char", which is not compatible with "signed char"
. (ptrmismatch)

                  ImageInfo->file.list[sn].data-dir_offset,
--------------------------------------------------------------------------------
------------------^
cc: Warning: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3627: In th
is statement, the referenced type of the pointer value "(file_header)" is "unsig
ned char", which is not compatible with "signed char". (ptrmismatch)
                php_stream_read(ImageInfo->infile, file_header, 2);
----------------^
cc: Warning: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 3636: In th
is statement, the referenced type of the pointer value "(file_header+2)" is "uns
igned char", which is not compatible with "signed char". (ptrmismatch)
                        php_stream_read(ImageInfo->infile, file_header+2, 6);
------------------------^
cc: Warning: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 4047: In th
is statement, the expression "itype=itype=php_getimagetype(...)" modifies the va
riable "itype" more than once without an intervening sequence point.  This behav
ior is undefined. (undefvarmod)
        itype = itype = php_getimagetype(stream, NULL TSRMLS_CC);
--------^
cc: Error: /usr/users/nohn/php4-200207292100/ext/exif/exif.c, line 2177: The fun
ction "exif_process_IFD_in_JPEG" has internal linkage, occurs in a context that 
requires its definition, and has no definition. (missingfunc)
static int exif_process_IFD_in_JPEG(image_info_type *ImageInfo, char *dir_entry,
 char *offset_base, size_t IFDlength, size_t displacement, int section_index TSR
MLS_DC);
-----------^
*** Exit 1
Stop.



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-08-03 09:13 UTC] helly@php.net
Could you try latest cvs version and send me again the output - maybe there are some problems with 64bit. I havn't yet had the chance to test it on a 64bit machine.
 [2002-08-10 10:16 UTC] kalowsky@php.net
Marking as feedback until Sebastian responds.
 [2002-08-11 11:54 UTC] nohn@php.net
This bug has been fixed in CVS. You can grab a snapshot of the
CVS version at http://snaps.php.net/. In case this was a documentation 
problem, the fix will show up soon at http://www.php.net/manual/.
In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites.
Thank you for the report, and for helping us make PHP better.

PHP compiles fine with exif now. There are still some compiler warnings, but it seems to run.
 [2002-09-03 13:42 UTC] nohn@php.net
> ./configure\\\' \\\'--prefix=/usr/local\\\' \\\'--enable-exif\\\' \\\'--enable-track-vars\\\' \\\'--with-calendar=shared\\\' \\\'--enable-safe-mode\\\' \\\'--enable-magic-quotes\\\' \\\'--enable-trans-sid\\\' \\\'--enable-wddx\\\' \\\'--enable-ftp\\\' \\\'--with-openssl=/usr/local\\\' \\\'--with-oci8=/appl/oracle/product/8.1.6\\\' \\\'--with-mysql=/usr/local/mysql\\\'',
>   'problems' => '[.....]
> 
> --------^
> cc: Warning: exif.c, line 2313: # not in column 1 is ignored, skipping to end of line. (ignoretokens)
>         #endif
> --------^
> cc: Warning: exif.c, line 2345: # not in column 1 is ignored, skipping to end of line. (ignoretokens)
>         #ifdef EXIF_DEBUG
> --------^
> cc: Warning: exif.c, line 2347: # not in column 1 is ignored, skipping to end of line. (ignoretokens)
>         #endif
> --------^
> cc: Warning: exif.c, line 2351: # not in column 1 is ignored, skipping to end of line. (ignoretokens)
>         #ifdef EXIF_DEBUG
> --------^
> cc: Warning: exif.c, line 2353: # not in column 1 is ignored, skipping to end of line. (ignoretokens)
>         #endif
> --------^
> cc: Warning: exif.c, line 2357: # not in column 1 is ignored, skipping to end of line. (ignoretokens)
>         #ifdef EXIF_DEBUG
> --------^
> cc: Warning: exif.c, line 2359: # not in column 1 is ignored, skipping to end of line. (ignoretokens)
>         #endif

> --------^
> cc: Error: exif.c, line 1403: In this statement, a common type could not be determined for the 2nd and 3rd operands (\\"(value_ptr?value_ptr:\\"<no data>\\")\\" and \\"exif_get_tagformat(...)\\") of a conditional operator. (badcondit)
>         php_error(E_NOTICE,\\"process tag(x%04x=%s,@x%04X+x%04X(=%d)): %s\\", tag, exif_get_tagname(tag,tagname), value_ptr-offset_base, byte_count, byte_count, format==TAG_FMT_STRING?(value_ptr?value_ptr:\\"<no data>\\"):exif_get_tagformat(format));
> -------------------------------------------------------------------------------------------------------------------------------------------------------------^
> cc: Warning: exif.c, line 1783: In this statement, the referenced type of the pointer value \\"(char ...)Data\\" is \\"signed char\\", which is not compatible with \\"unsigned char\\". (ptrmismatch)
>                                 exif_process_COM(ImageInfo, (char *)Data, itemlen);
> ------------------------------------------------------------^
> cc: Warning: exif.c, line 1975: In this statement, the referenced type of the pointer value \\"dir_entry\\" is \\"unsigned char\\", which is not compatible with \\"signed char\\". (ptrmismatch)
>                                                 exif_process_IFD_TAG(ImageInfo,dir_entry,ImageInfo->sections[sn].Data-dir_offset,ifd_size,section_index,0);
> -------------------------------------------------------------------------------^
> cc: Warning: exif.c, line 1975: In this statement, the referenced type of the pointer value \\"ImageInfo->sections[sn].Data-dir_offset\\" is \\"unsigned char\\", which is not compatible with \\"signed char\\". (ptrmismatch)
>                                                 exif_process_IFD_TAG(ImageInfo,dir_entry,ImageInfo->sections[sn].Data-dir_offset,ifd_size,section_index,0);
> -----------------------------------------------------------------------------------------^
> *** Exit 1
> Stop.
> *** Exit 1
> Stop.
> *** Exit 1
> Stop.
> *** Exit 1
> Stop.

 [2002-09-03 22:41 UTC] kalowsky@php.net
Looks like Derick fixed this in CVS.  Try it a new snapshot :P
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Dec 09 17:01:26 2024 UTC