[pHash-support] Windows/MSYS configure error - Cannot find MMPEG

George Tsiolis tgeorge2004-aueb at yahoo.gr
Sun May 23 15:48:22 PDT 2010


Evan,

I had already compiled the ffmpeg with --enable-shared and checked libraries 
were alright. The problem seemed to be the DLLs, so

here is how I solved the problem configuring pHash although there are more 
problems compiling the project now.

I built ffmpeg using : ./configure --disable-mmx --enable-shared 
--disable-static --enable-memalign-hack --target-os=mingw32 
-–extra-ldflags=-L/usr/local/lib --extra-cflags=-I/usr/local/include

AFTER the 'make install' I copied the DLLs files from /usr/local/bin to 
/usr/local/lib and that seems to solve the problem. FFMPEG can be found from 
configure script of pHash.

probably the ./configure last two parameters where not necessary but 
nevertheless I did not have time to check this out

I used the same, more or less, parameters to compile libjpeg. However the 
version 8b was not successfull so I did use the version 8a (jpegsr8a.zip). Hopefully
this is not the root of the compiling problem that follows ;)

now the problem part for the pHash 0.9 is make. I have successfully done the 
procedure under Ubuntu 9.04 (with some quirks for making the JNI work) and I am 
trying to make it for Windows XP Pro with MinGW/MSYS (1.5.6/1.10)

so after configuring pHash I run make and it seems it cant find the sys/mman.h so
I removed it (I read somewhere that mingw does not have a mman.h so I gave it a 
try) 
then I run make again with the following result:

$ make
make  all-recursive
make[1]: Entering directory `/c/work/RnD/pHash/pHash-0.9.0'
Making all in src
make[2]: Entering directory `/c/work/RnD/pHash/pHash-0.9.0/src'
/bin/sh ../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..   -I/
usr/local/include -Dcimg_use_jpeg  -O2 -ffast-math -O3 -MT pHash.lo -MD -MP -MF
.deps/pHash.Tpo -c -o pHash.lo pHash.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include -Dcimg_use_
jpeg -O2 -ffast-math -O3 -MT pHash.lo -MD -MP -MF .deps/pHash.Tpo -c pHash.cpp
-DDLL_EXPORT -DPIC -o .libs/pHash.o
In file included from C:/work/rnd/mingw/msys/1.0/local/include/jpeglib.h:27,
                 from CImg.h:231,
                 from pHash.h:42,
                 from pHash.cpp:25:
C:/work/rnd/mingw/msys/1.0/local/include/jmorecfg.h:236: error: conflicting decl
aration 'typedef int boolean'
c:/work/RnD/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/rpcndr.h:52:
error: 'boolean' has a previous declaration as `typedef unsigned char boolean'
C:/work/rnd/mingw/msys/1.0/local/include/jmorecfg.h:236: error: declaration of `
typedef int boolean'
c:/work/RnD/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/rpcndr.h:52:
error: conflicts with previous declaration `typedef unsigned char boolean'
C:/work/rnd/mingw/msys/1.0/local/include/jmorecfg.h:236: error: declaration of `
typedef int boolean'
c:/work/RnD/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/rpcndr.h:52:
error: conflicts with previous declaration `typedef unsigned char boolean'
In file included from pHash.h:42,
                 from pHash.cpp:25:
CImg.h: In static member function `static void cimg_library::CImg<T>::_cimg_jpeg
_error_exit(jpeg_common_struct*)':
CImg.h:30559: error: too many arguments to function
C:/work/rnd/mingw/msys/1.0/local/include/jpeglib.h:1090: error: too many argumen
ts to function `void jpeg_destroy()'
CImg.h:30560: error: at this point in file
C:/work/rnd/mingw/msys/1.0/local/include/jpeglib.h: In member function `cimg_lib
rary::CImg<T>& cimg_library::CImg<T>::_load_jpeg(FILE*, const char*)':
C:/work/rnd/mingw/msys/1.0/local/include/jpeglib.h:927: error: too many argument
s to function `jpeg_error_mgr* jpeg_std_error()'
CImg.h:30583: error: at this point in file
C:/work/rnd/mingw/msys/1.0/local/include/jpeglib.h:944: error: too many argument
s to function `void jpeg_CreateDecompress()'
CImg.h:30585: error: at this point in file
C:/work/rnd/mingw/msys/1.0/local/include/jpeglib.h:953: error: too many argument
s to function `void jpeg_stdio_src()'
CImg.h:30586: error: at this point in file
C:/work/rnd/mingw/msys/1.0/local/include/jpeglib.h:1017: error: too many argumen
ts to function `int jpeg_read_header()'
CImg.h:30587: error: at this point in file
C:/work/rnd/mingw/msys/1.0/local/include/jpeglib.h:1030: error: too many argumen
ts to function `boolean jpeg_start_decompress()'
CImg.h:30588: error: at this point in file
C:/work/rnd/mingw/msys/1.0/local/include/jpeglib.h:1031: error: too many argumen
ts to function `JDIMENSION jpeg_read_scanlines()'
CImg.h:30603: error: at this point in file
C:/work/rnd/mingw/msys/1.0/local/include/jpeglib.h:1034: error: too many argumen
ts to function `boolean jpeg_finish_decompress()'
CImg.h:30631: error: at this point in file
C:/work/rnd/mingw/msys/1.0/local/include/jpeglib.h:948: error: too many argument
s to function `void jpeg_destroy_decompress()'
...
...
...



I have copied the CImg.h in the pHash/src folder (i did the same for Ubuntu) 
and I cant really understand what the problem is here, it seems CImg problem 
icluding the libjpeg.h

any ideas?

thanx,
George





--- Στις Κυρ., 23/05/10, ο/η Evan Klinger <eklinger at gmail.com> έγραψε:


    Από: Evan Klinger <eklinger at gmail.com>
    Θέμα: Re: [pHash-support] Windows/MSYS configure error - Cannot find MMPEG
    Προς: phash-support at lists.phash.org
    Ημερομηνία: Κυριακή, 23 Μάιος 2010, 18:37

    George,

    Did you configure FFmpeg with --enable-shared? I don't think it builds
    shared libraries by default. You can check /usr/local/lib and see if
    there is a libavcodec.so there.
    Evan
    _______________________________________________
    pHash-support mailing list
    pHash-support at lists.phash.org
    http://lists.phash.org/listinfo.cgi/phash-support-phash.org







More information about the pHash-support mailing list