[Phash-support] Phash on Mac OS X

Harald Lapp harald.lapp at gmail.com
Wed Dec 23 08:22:00 PST 2009


i had the same issue as sebastian with pHash 0.6.x and was not able to  
get it to work on OSX. for 0.7.1 this issue is gone (however, i can't  
remember what i installed, if i installed anything to make it  
gone ...)? i still have a problem, though: compiling fails. i wonder,  
if anybody was ever able to compile pHash on osx?


/bin/sh ../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. - 
I..   -I/usr/local/include -DHAVE_IMAGE_HASH=1 -DHAVE_VIDEO_HASH=1 - 
DHAVE_AUDIO_HASH=1 -Dcimg_use_jpeg -Dcimg_use_png  -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 - 
DHAVE_IMAGE_HASH=1 -DHAVE_VIDEO_HASH=1 -DHAVE_AUDIO_HASH=1 - 
Dcimg_use_jpeg -Dcimg_use_png -O2 -ffast-math -O3 -MT pHash.lo -MD -MP  
-MF .deps/pHash.Tpo -c pHash.cpp  -fno-common -DPIC -o .libs/pHash.o
In file included from pHash.cpp:26:
../config.h:68:1: warning: "HAVE_STDLIB_H" redefined
In file included from /usr/local/include/jpeglib.h:24,
                  from /usr/local/include/CImg.h:243,
                  from pHash.h:42,
                  from pHash.cpp:25:
/usr/local/include/jconfig.h:12:1: warning: this is the location of  
the previous definition
pHash.cpp: In function 'int ph_radon_projections(const  
cimg_library::CImg<unsigned char>&, int, Projections&)':
pHash.cpp:43: error: 'img->cimg_library::CImg<unsigned char>::width'  
cannot be used as a function
pHash.cpp:44: error: 'img->cimg_library::CImg<unsigned char>::height'  
cannot be used as a function
pHash.cpp:63: error: 'PI' is not a member of 'cimg_library::cimg'
pHash.cpp:69: error: 'ptr_radon_map->cimg_library::CImg<unsigned  
char>::data' cannot be used as a function
pHash.cpp:73: error: 'ptr_radon_map->cimg_library::CImg<unsigned  
char>::data' cannot be used as a function
pHash.cpp:80: error: 'PI' is not a member of 'cimg_library::cimg'
pHash.cpp:86: error: 'ptr_radon_map->cimg_library::CImg<unsigned  
char>::data' cannot be used as a function
pHash.cpp:90: error: 'ptr_radon_map->cimg_library::CImg<unsigned  
char>::data' cannot be used as a function
pHash.cpp: In function 'int ph_feature_vector(const Projections&,  
Features&)':
pHash.cpp:108: error: 'projection_map.cimg_library::CImg<unsigned  
char>::height' cannot be used as a function
pHash.cpp: In function 'int ph_dct(const Features&, Digest&)':
pHash.cpp:160: error: 'PI' is not a member of 'cimg_library::cimg'
pHash.cpp: In function 'int ph_image_digest(const  
cimg_library::CImg<unsigned char>&, double, double, Digest&, int)':
pHash.cpp:229: error: 'const struct cimg_library::CImg<unsigned char>'  
has no member named 'spectrum'
pHash.cpp:232: error: 'const struct cimg_library::CImg<unsigned char>'  
has no member named 'spectrum'
pHash.cpp: In function 'cimg_library::CImg<float>* ph_dct_matrix(int)':
pHash.cpp:317: error: 'ptr_matrix->cimg_library::CImg<float>::data'  
cannot be used as a function
pHash.cpp:317: error: 'PI' is not a member of 'cimg_library::cimg'
pHash.cpp: In function 'int ph_dct_imagehash(const char*, ulong64&)':
pHash.cpp:336: error: 'struct cimg_library::CImg<unsigned char>' has  
no member named 'spectrum'
pHash.cpp:338: error: 'struct cimg_library::CImg<float>' has no member  
named 'spectrum'
pHash.cpp: In function 'cimg_library::CImgList<unsigned char>*  
ph_getKeyFramesFromVideo(const char*)':
pHash.cpp:413: error: 'pframelist->cimg_library::CImgList<unsigned  
char>::size' cannot be used as a function
pHash.cpp: In function 'ulong64* ph_dct_videohash(const char*, int&)':
pHash.cpp:551: error: 'keyframes->cimg_library::CImgList<unsigned  
char>::size' cannot be used as a function
pHash.cpp:560: error: 'keyframes->cimg_library::CImgList<unsigned  
char>::size' cannot be used as a function
pHash.cpp: In function 'MVPRetCode ph_query_mvptree(MVPFile*, DP*,  
int, float, DP**, int*)':
pHash.cpp:1224: error: 'struct ph_mvp_file' has no member named  
'int_pgsize'
make[2]: *** [pHash.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


Am 23.12.2009 um 17:14 schrieb Sebastian Gallese:

> Hello,
>
> I'm having trouble compiling Phase 0.7.1 on Mac OS X 10.5.8
>
> Please excuse me if I'm missing something obvious.
>
> I first installed FFMpeg from MacPorts.  I then downloaded CImg  
> 1.3.2 and placed CImg.h and the plugins and resources folders inside  
> the Phase 0.7.1 folder.
>
> Upon compiling, I was then prompted to install FFMpeg.  I figured  
> the path that MacPort installs to can be funky, so I just downloaded  
> the FFMpeg source and installed it from the GIT code.  While  
> compiling, the program returned the output below.
>
> If you need any more information about where things are installed or  
> output, I'll post it to the list-serv.
>
> It looks like people have had problems compiling with Mac OS X in  
> the past.  I'd be happy to try to resolve this issue, but I can also  
> move to a Windows machine or install a flavor of Linux if you think  
> that might be easier to get this to work.
>
> Any help is great!
>
> Thanks,
>
> Seb
>
> I received the following error:
>
> [...]
>
> checking whether the gcj linker (/usr/libexec/gcc/i686-apple- 
> darwin9/4.0.1/ld) supports shared libraries... yes
> checking how to hardcode library paths into programs... immediate
>
> *** Configuring image hash ***
>
> checking CImg.h usability... no
> checking CImg.h presence... no
> checking for CImg.h... no
> checking whether CImg.h is in the current or src directory.... yes
>
> *** Configuring video Hash ***
>
> checking whether FFmpeg is present... checking for  
> avcodec_alloc_frame in -lavcodec... no
> configure: error:
>
> *** libavcodec not found.
> You need FFmpeg. Get it at <http://ffmpeg.org/>
>
> _______________________________________________
> 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