Affdex ‘opencv-webcam-demo’ падает в Ubuntu 16.04

Я создал программу, основанную на демонстрационной программе, на найденной странице affdex git Вот. Это демо называется opencv-webcam-demo. В то время я работал под управлением Ubuntu 14.04, и он работал нормально. Затем я обновился до Ubuntu 16.04, и теперь демо (даже без моих изменений) не работает должным образом. Я попытался установить последние версии opencv и boost и подтвердил, что они были установлены правильно, но я все еще получаю ту же проблему.

Вот вывод, когда я запускаю программу в Ubuntu 16.04:

ethan@ethan-HP-Pavilion-dv6-Notebook-PC:~/leepsProgram/build/opencv-webcam-demo$ ./opencv-webcam-demo --help
Hit ESCAPE key to exit app..
Encountered an exception std::exception*** Error in `./opencv-webcam-demo': free(): invalid pointer: 0x0000000001c71ca8 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x77725)[0x7f0ce2798725]
/lib/x86_64-linux-gnu/libc.so.6(+0x7ff4a)[0x7f0ce27a0f4a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f0ce27a4abc]
./opencv-webcam-demo(_ZN5boost10filesystem4pathD1Ev+0x18)[0x469c86]
/lib/x86_64-linux-gnu/libc.so.6(__cxa_finalize+0x9a)[0x7f0ce275b35a]
/home/ethan/libraries/affdex-sdk/lib/libaffdex-native.so(+0x5273a3)[0x7f0ce642a3a3]

Была также карта памяти, так что, если это поможет, дайте мне знать, и я тоже могу вставить это сюда.

До сих пор я пытался выяснить, какая часть кода работает, а какая не работает, и обнаружил, что если вы удалите boost из программы, он достигнет точки, в которой Affdex должен будет указать путь к папке с данными, в в этот момент он генерирует исключение Affdex о том, что путь к данным должен быть ненулевым. Однако он не должен быть нулевым, потому что я установил его в начале.

affdex::path DATA_FOLDER = "<path to data folder>";
...
frameDetector->setClassifierPath(DATA_FOLDER);

Тем не менее, снятие наддува не является идеальным, поскольку оно уже написано для меня. Но если мне нужно убрать буст, я должен решить и эту проблему.

Библиотеки и их версии / версия ОС:

  • Boost 1.59.0

  • OpenCV 3.1.0

  • Affdex 3.1-396

  • Ubuntu 16.04

Совместимы ли эти библиотеки с Ubuntu 16.04?

Спасибо за любую помощь. Это очень ценится.

0

Решение

Я думаю, проблема в том, что вы смешиваете библиотеки с компилируемыми несовместимыми версиями libstdc ++. Какую версию компилятора вы используете?

Текущая версия linux SDK была скомпилирована с GCC 4.8

1

Другие решения

ОБНОВЛЕНО: Я решил эту проблему, обновив версию SDK до последней версии (https://download.affectiva.com/linux/gcc-5.4/affdex-cpp-sdk-4.0-75-ubuntu-xenial-xerus-x86_64bit.tar.gz).

В учебнике предусмотрена старая версия:

wget https://download.affectiva.com/linux/affdex-cpp-sdk-3.2-20-ubuntu-xenial-xerus-64bit.tar.gz

У меня похожая проблема, с похожим журналом ошибок. Пожалуйста, подумайте об обновлении или найдите лучший путь к образцам версий C ++. Многие люди пытаются использовать один и тот же код C ++ для тестирования. Я потратил много времени, чтобы выяснить, почему?

Debugging starts
Hit ESCAPE key to exit app..
Initializing Affdex FrameDetector
*** Error in `/home/aiq/Desktop/aiq_workspace/cpp-sdk-samples/build/opencv-webcam-demo/opencv-webcam-demo': munmap_chunk(): invalid pointer: 0x0000000000856e10 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7ffff582c7e5]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x1a8)[0x7ffff5839698]
/home/aiq/Desktop/aiq_workspace/cpp-sdk-samples/build/opencv-webcam-demo/opencv-webcam-demo(_ZN5boost10filesystem4pathD1Ev+0x18)[0x467948]
/home/aiq/Desktop/aiq_workspace/affdex-sdk/lib/libaffdex-native.so(_ZN6affdex12DetectorBase17setClassifierPathERKSs+0xc6)[0x7ffff6f5061a]
/home/aiq/Desktop/aiq_workspace/affdex-sdk/lib/libaffdex-native.so(_ZN6affdex8Detector17setClassifierPathERKSs+0x2f)[0x7ffff6f4abb1]
/home/aiq/Desktop/aiq_workspace/cpp-sdk-samples/build/opencv-webcam-demo/opencv-webcam-demo(main+0xaed)[0x466110]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7ffff57d5830]
/home/aiq/Desktop/aiq_workspace/cpp-sdk-samples/build/opencv-webcam-demo/opencv-webcam-demo(_start+0x29)[0x465209]

Пожалуйста, посмотрите в проблему. Комментарии не занимают длинного ответа, поэтому я публикую здесь ответ.

0

По вопросам рекламы [email protected]