Opened 15 years ago

Closed 13 years ago

#2628 closed defect (fixed)

Trunk doesn't compile on Mac (missing gif header)

Reported by: sprice Owned by: warmerdam
Priority: low Milestone: 1.9.0
Component: ConfigBuild Version: svn-trunk
Severity: normal Keywords: gif
Cc:

Description

I'm working on fixing #2347 in trunk, but I just noticed that trunk won't compile on my Mac. Oops. I get this: [...]

/bin/sh /usr/local/gdal/gdal/libtool --mode=compile --tag=CXX g++ -g -O2  -Wall  -I/usr/local/gdal/gdal/port -I/usr/local/gdal/gdal/gcore -I/usr/local/gdal/gdal/alg -I/usr/local/gdal/gdal/ogr -I/usr/local/gdal/gdal/ogr/ogrsf_frmts -DOGR_ENABLED -I/usr/local/gdal/gdal/port   -c -o ../o/gifdataset.o gifdataset.cpp
libtool: compile:  g++ -g -O2 -Wall -I/usr/local/gdal/gdal/port -I/usr/local/gdal/gdal/gcore -I/usr/local/gdal/gdal/alg -I/usr/local/gdal/gdal/ogr -I/usr/local/gdal/gdal/ogr/ogrsf_frmts -DOGR_ENABLED -I/usr/local/gdal/gdal/port -c gifdataset.cpp  -fno-common -DPIC -o ../o/.libs/gifdataset.o
gifdataset.cpp:36:21: error: gif_lib.h: No such file or directory
gifdataset.cpp:43: error: expected constructor, destructor, or type conversion before '*' token
gifdataset.cpp:49: error: 'GifFileType' was not declared in this scope
gifdataset.cpp:49: error: expected primary-expression before ',' token
gifdataset.cpp:49: error: 'GifByteType' was not declared in this scope
gifdataset.cpp:49: error: expected primary-expression before ',' token
gifdataset.cpp:49: error: expected primary-expression before 'int'
gifdataset.cpp:49: error: initializer expression list treated as compound expression
gifdataset.cpp:50: error: 'GifFileType' was not declared in this scope
gifdataset.cpp:50: error: expected primary-expression before ',' token
gifdataset.cpp:50: error: expected primary-expression before 'const'
gifdataset.cpp:50: error: expected primary-expression before 'int'
gifdataset.cpp:50: error: initializer expression list treated as compound expression
gifdataset.cpp:66: error: ISO C++ forbids declaration of 'GifFileType' with no type
gifdataset.cpp:66: error: expected ';' before '*' token
gifdataset.cpp:90: error: ISO C++ forbids declaration of 'SavedImage' with no type
gifdataset.cpp:90: error: expected ';' before '*' token
gifdataset.cpp:100: error: 'SavedImage' has not been declared
gifdataset.cpp:115: error: 'SavedImage' has not been declared
gifdataset.cpp: In constructor 'GIFRasterBand::GIFRasterBand(GIFDataset*, int, int*, int)':
gifdataset.cpp:126: error: 'psImage' was not declared in this scope
gifdataset.cpp:173: error: 'ColorMapObject' was not declared in this scope
gifdataset.cpp:173: error: 'psGifCT' was not declared in this scope
gifdataset.cpp:175: error: 'class GIFDataset' has no member named 'hGifFile'
gifdataset.cpp: In member function 'virtual CPLErr GIFRasterBand::IReadBlock(int, int, void*)':
gifdataset.cpp:235: error: 'psImage' was not declared in this scope
gifdataset.cpp: In constructor 'GIFDataset::GIFDataset()':
gifdataset.cpp:288: error: 'hGifFile' was not declared in this scope
gifdataset.cpp: In destructor 'virtual GIFDataset::~GIFDataset()':
gifdataset.cpp:307: error: 'hGifFile' was not declared in this scope
gifdataset.cpp:308: error: 'DGifCloseFile' was not declared in this scope
gifdataset.cpp: In static member function 'static GDALDataset* GIFDataset::Open(GDALOpenInfo*)':
gifdataset.cpp:367: error: 'GifFileType' was not declared in this scope
gifdataset.cpp:367: error: 'hGifFile' was not declared in this scope
gifdataset.cpp:375: error: 'DGifOpen' was not declared in this scope
gifdataset.cpp:387: error: 'DGifSlurp' was not declared in this scope
gifdataset.cpp:389: error: 'GIF_OK' was not declared in this scope
gifdataset.cpp:392: error: 'DGifCloseFile' was not declared in this scope
gifdataset.cpp:394: error: 'D_GIF_ERR_DATA_TOO_BIG' was not declared in this scope
gifdataset.cpp:418: error: 'class GIFDataset' has no member named 'hGifFile'
gifdataset.cpp:431: error: 'SavedImage' was not declared in this scope
gifdataset.cpp:431: error: 'psImage' was not declared in this scope
gifdataset.cpp: In function 'GDALDataset* GIFCreateCopy(const char*, GDALDataset*, int, char**, int (*)(double, const char*, void*), void*)':
gifdataset.cpp:512: error: 'GifFileType' was not declared in this scope
gifdataset.cpp:512: error: 'hGifFile' was not declared in this scope
gifdataset.cpp:524: error: 'EGifOpen' was not declared in this scope
gifdataset.cpp:539: error: 'ColorMapObject' was not declared in this scope
gifdataset.cpp:539: error: 'psGifCT' was not declared in this scope
gifdataset.cpp:544: error: 'MakeMapObject' was not declared in this scope
gifdataset.cpp:547: error: 'GifByteType' was not declared in this scope
gifdataset.cpp:547: error: expected `;' before 'iColor'
gifdataset.cpp:548: error: expected `;' before 'iColor'
gifdataset.cpp:549: error: expected `;' before 'iColor'
gifdataset.cpp:560: error: 'MakeMapObject' was not declared in this scope
gifdataset.cpp:566: error: 'GifByteType' was not declared in this scope
gifdataset.cpp:566: error: expected `;' before 'sEntry'
gifdataset.cpp:567: error: expected `;' before 'sEntry'
gifdataset.cpp:568: error: expected `;' before 'sEntry'
gifdataset.cpp:582: error: 'EGifPutScreenDesc' was not declared in this scope
gifdataset.cpp:582: error: 'GIF_ERROR' was not declared in this scope
gifdataset.cpp:584: error: 'FreeMapObject' was not declared in this scope
gifdataset.cpp:585: error: 'PrintGifError' was not declared in this scope
gifdataset.cpp:591: error: 'FreeMapObject' was not declared in this scope
gifdataset.cpp:604: error: 'EGifPutExtension' was not declared in this scope
gifdataset.cpp:607: error: 'EGifPutImageDesc' was not declared in this scope
gifdataset.cpp:607: error: 'GIF_ERROR' was not declared in this scope
gifdataset.cpp:609: error: 'PrintGifError' was not declared in this scope
gifdataset.cpp:631: error: 'EGifPutLine' was not declared in this scope
gifdataset.cpp:631: error: 'GIF_ERROR' was not declared in this scope
gifdataset.cpp:652: error: 'EGifPutLine' was not declared in this scope
gifdataset.cpp:653: error: 'GIF_ERROR' was not declared in this scope
gifdataset.cpp:663: error: 'EGifCloseFile' was not declared in this scope
gifdataset.cpp:663: error: 'GIF_ERROR' was not declared in this scope
gifdataset.cpp: At global scope:
gifdataset.cpp:718: error: redefinition of 'int VSIGIFReadFunc'
gifdataset.cpp:49: error: 'int VSIGIFReadFunc' previously defined here
gifdataset.cpp:718: error: 'GifFileType' was not declared in this scope
gifdataset.cpp:718: error: 'psGFile' was not declared in this scope
gifdataset.cpp:718: error: 'GifByteType' was not declared in this scope
gifdataset.cpp:718: error: 'pabyBuffer' was not declared in this scope
gifdataset.cpp:719: error: expected primary-expression before 'int'
gifdataset.cpp:732: error: redefinition of 'int VSIGIFWriteFunc'
gifdataset.cpp:50: error: 'int VSIGIFWriteFunc' previously defined here
gifdataset.cpp:732: error: 'GifFileType' was not declared in this scope
gifdataset.cpp:732: error: 'psGFile' was not declared in this scope
gifdataset.cpp:733: error: expected primary-expression before 'const'
gifdataset.cpp:733: error: expected primary-expression before 'int'
make[2]: *** [../o/gifdataset.o] Error 1
make[1]: *** [gif-install-obj] Error 2
make: *** [frmts-target] Error 2

Here's the gcc version I'm working with:

seth:gdal sprice$ gcc -v
Using built-in specs.
Target: powerpc-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5484~1/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-apple-darwin9 --program-prefix= --host=powerpc-apple-darwin9 --target=powerpc-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5484)

Attachments (1)

gdal compile log 1.txt (335.3 KB ) - added by sprice 15 years ago.

Download all attachments as: .zip

Change History (6)

by sprice, 15 years ago

Attachment: gdal compile log 1.txt added

comment:1 by Even Rouault, 15 years ago

try to run ./configure --with-gif=internal

comment:2 by sprice, 15 years ago

'make' works fine with that flag

comment:3 by warmerdam, 15 years ago

Component: defaultConfigBuild
Keywords: gif added
Priority: normallow

I'd guess that the problem is that configure is searching for the gif library, but not checking for the gif include file, and so does not work if the gif library development package is not installed.

Relatively low priority to fix...

comment:4 by sprice, 15 years ago

Summary: Trunk doesn't compile on MacTrunk doesn't compile on Mac (missing gif header)

comment:5 by Even Rouault, 13 years ago

Milestone: 1.9.0
Resolution: fixed
Status: newclosed

r22771 /trunk/gdal/ (configure configure.in): Unix configure: check presence of gif_lib.h (#2628)

Note: See TracTickets for help on using tickets.