andrefaraujo / videosearch

Large-scale video retrieval using image queries.
289 stars 105 forks source link

usage of the HA detector #6

Closed dimsamaras closed 7 years ago

dimsamaras commented 7 years ago

**Hessian-Affine detector uses the netpbm image toolkit and when installed the netpdm and the depending libraries (djpeg for this particular setup), when trying to run the run_siftHesAff_extraction_test.sh i get some errors regarding the libnetpbm and undefined symbols.

any suggestions? my error messages and library dependencies list are given below:**

_dimsam@iti-400:~/Dimitris/i2v/videosearch/indexer/local_descriptors$ ./run_siftHesAff_extraction_test.sh time djpeg ../test_db/test_video_0_keyframes/000001.jpg | /usr/local/netpbm/bin/ppmtopgm | /usr/local/netpbm/bin/pnmnorm -bpercent=0.01 -wpercent=0.01 -maxexpand=400 | /usr/local/netpbm/bin/pamscale -pixels 786432 > ../test_db/test_video_0_keyframes/000001.pgm /usr/local/netpbm/bin/pnmnorm: symbol lookup error: /usr/local/netpbm/bin/pnmnorm: undefined symbol: optParseOptions3 /usr/local/netpbm/bin/ppmtopgm: symbol lookup error: /usr/local/netpbm/bin/ppmtopgm: undefined symbol: ppm_allocrow /usr/local/netpbm/bin/pamscale: symbol lookup error: /usr/local/netpbm/bin/pamscale: undefined symbol: optParseOptions3

dimsam@iti-400:~/Dimitris/i2v/videosearch/indexer/local_descriptors$ ldd -r -d /usr/local/netpbm/bin/pnmnorm linux-vdso.so.1 => (0x00007ffc0e7a9000) libnetpbm.so.10 => /usr/lib/libnetpbm.so.10 (0x00007fa4f759c000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa4f71d7000) /lib64/ld-linux-x86-64.so.2 (0x0000555a28cd1000) undefined symbol: pm_tell2 (/usr/local/netpbm/bin/pnmnorm) undefined symbol: pm_seek2 (/usr/local/netpbm/bin/pnmnorm) undefined symbol: pnm_allocrow (/usr/local/netpbm/bin/pnmnorm) undefined symbol: optParseOptions3 (/usr/local/netpbm/bin/pnmnorm) dimsam@iti-400:~/Dimitris/i2v/videosearch/indexer/local_descriptors$ ldd -r -d /usr/local/netpbm/bin/ppm ppm3d ppmdist ppmlabel ppmrelief ppmtogif ppmtoneo ppmtorgb3 ppmtv ppmbrighten ppmdither ppmmake ppmrough ppmtoicr ppmtopcx ppmtosixel ppmwheel ppmchange ppmdmkfont ppmmix ppmshadow ppmtoilbm ppmtopgm ppmtoterm
ppmcie ppmdraw ppmnorm ppmshift ppmtojpeg ppmtopi1 ppmtotga
ppmcolormask ppmfade ppmntsc ppmspread ppmtoleaf ppmtopict ppmtouil
ppmcolors ppmflash ppmpat ppmtoacad ppmtolj ppmtopj ppmtowinicon
ppmdcfont ppmforge ppmquant ppmtoarbtxt ppmtomap ppmtopjxl ppmtoxpm
ppmddumpfont ppmglobe ppmquantall ppmtobmp ppmtomitsu ppmtoppm ppmtoyuv
ppmdim ppmhist ppmrainbow ppmtoeyuv ppmtompeg ppmtopuzz ppmtoyuvsplit
dimsam@iti-400:~/Dimitris/i2v/videosearch/indexer/local_descriptors$ ldd -r -d /usr/local/netpbm/bin/ppmtopgm linux-vdso.so.1 => (0x00007fff9cae9000) libnetpbm.so.10 => /usr/lib/libnetpbm.so.10 (0x00007f8110d8e000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f81109c9000) /lib64/ld-linux-x86-64.so.2 (0x000055b9eb310000) undefined symbol: pgm_allocrow (/usr/local/netpbm/bin/ppmtopgm) undefined symbol: ppm_allocrow (/usr/local/netpbm/bin/ppmtopgm) dimsam@iti-400:~/Dimitris/i2v/videosearch/indexer/local_descriptors$ ldd -r -d /usr/local/netpbm/bin/pamscale linux-vdso.so.1 => (0x00007fffa23ce000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8163366000) libnetpbm.so.10 => /usr/lib/libnetpbm.so.10 (0x00007f8163143000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8162d7d000) /lib64/ld-linux-x86-64.so.2 (0x000055797d7cf000) undefined symbol: pnm_createungammatransform (/usr/local/netpbm/bin/pamscale) undefined symbol: pnm_unapplyopacityrown (/usr/local/netpbm/bin/pamscale) undefined symbol: pnm_unnormalizeRow (/usr/local/netpbm/bin/pamscale) undefined symbol: pnm_getopacity (/usr/local/netpbm/bin/pamscale) undefined symbol: pnm_allocpamrown (/usr/local/netpbm/bin/pamscale) undefined symbol: optParseOptions3 (/usr/local/netpbm/bin/pamscale) undefined symbol: pnm_normalizeRow (/usr/local/netpbm/bin/pamscale) undefined symbol: pnm_creategammatransform (/usr/local/netpbm/bin/pamscale) undefined symbol: pnmapplyopacityrown (/usr/local/netpbm/bin/pamscale)

dimsamaras commented 7 years ago

adding the netpbm lib path to LD_LIBRARY_PATH is the solution export LD_LIBRARY_PATH="/usr/local/netpmb/lib"

OR making it permanent: "sudo nano /etc/ld.so.conf.d/netpbm_lib.conf" append line usr/local/netpmb/lib Finally, run ldconfig to update the cache "sudo ldconfig"

no restart is needed