[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