openalpr / openalpr

Automatic License Plate Recognition library
http://www.openalpr.com
GNU Affero General Public License v3.0
10.99k stars 2.49k forks source link

OSX compilation is not working #658

Open sleebapaul opened 6 years ago

sleebapaul commented 6 years ago

On detailed compilation process, running make command, I get the following error and installation terminates.

        "microseconds");
        ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config:783:12: note: macro 'static_assert' defined here
#   define static_assert(__b, __m) _Static_assert(__b, __m)
           ^
In file included from /Users/jenkins/sleeba/work/licence_plate_detection/openalpr/src/daemon.cpp:8:
In file included from /Users/jenkins/sleeba/work/licence_plate_detection/openalpr/src/video/logging_videobuffer.h:5:
In file included from /usr/local/include/log4cplus/logger.h:36:
In file included from /usr/local/include/log4cplus/spi/appenderattachable.h:33:
In file included from /usr/local/include/log4cplus/appender.h:33:
In file included from /usr/local/include/log4cplus/layout.h:36:
/usr/local/include/log4cplus/helpers/timehelper.h:113:5: error: use of undeclared identifier 'static_assert'
    static_assert (std::ratio_equal<Duration::period, std::micro>::value,
    ^
/Users/jenkins/sleeba/work/licence_plate_detection/openalpr/src/daemon.cpp:153:5: warning: 'daemon' is deprecated: first deprecated in macOS 10.5 - Use posix_spawn APIs instead. [-Wdeprecated-declarations]
    daemon(0, 0);
    ^
/usr/include/stdlib.h:298:6: note: 'daemon' has been explicitly marked deprecated here
int      daemon(int, int) __DARWIN_1050(daemon) __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_0, __MAC_10_5, __IPHONE_2_0, __IPHONE_2_0, "Use posix_spawn APIs instead.") __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
         ^
1 warning and 2 errors generated.
make[2]: *** [CMakeFiles/alprd.dir/daemon.cpp.o] Error 1
make[1]: *** [CMakeFiles/alprd.dir/all] Error 2```

On easy install using homebrew, the error is the following.

[ 89%] Built target openalpr-utils-binarizefontsheet
[ 90%] Linking CXX executable alpr
/usr/local/Cellar/cmake/3.11.0/bin/cmake -E cmake_link_script CMakeFiles/alpr.dir/link.txt --verbose=1
/usr/local/Homebrew/Library/Homebrew/shims/super/clang++   -Wl,-search_paths_first -Wl,-headerpad_max_install_names  CMakeFiles/alpr.dir/main.cpp.o  -o alpr -Wl,-rpath,/tmp/openalpr-20180417-99700-11c65ts/src/build/openalpr openalpr/libopenalpr.2.dylib openalpr/support/libsupport.a video/libvideo.a /usr/local/opt/opencv@2/lib/libopencv_videostab.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ts.a /usr/local/opt/opencv@2/lib/libopencv_superres.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_stitching.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_contrib.2.4.13.dylib /usr/local/lib/libtesseract.dylib /usr/local/lib/liblept.dylib /usr/local/lib/libtesseract.dylib /usr/local/lib/liblept.dylib -lpthread /usr/local/opt/opencv@2/lib/libopencv_nonfree.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ocl.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_gpu.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_photo.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_objdetect.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_legacy.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_video.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ml.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_calib3d.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_features2d.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_highgui.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_imgproc.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_flann.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_core.2.4.13.dylib openalpr/support/libsupport.a
[ 90%] Built target alpr
make: *** [all] Error 2

If reporting this issue please do so at (not Homebrew/brew or Homebrew/core):
https://github.com/brewsci/homebrew-science/issues```

Mac details

Darwin PBLabss-MacBook-Pro.local 17.5.0 Darwin Kernel Version 17.5.0: Mon Mar  5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64 x86_64
chandanpasunoori commented 6 years ago

same with me

brew install openalpr  1 ↵  5046  21:11:22 ==> Installing openalpr from brewsci/science ==> Downloading https://github.com/openalpr/openalpr/archive/v2.3.0.tar.gz Already downloaded: /Users/cp/Library/Caches/Homebrew/openalpr-2.3.0.tar.gz ==> cmake .. -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/openalpr/2.3.0_1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOS ==> make install Last 15 lines from /Users/cp/Library/Logs/Homebrew/openalpr/02.make: /usr/local/Homebrew/Library/Homebrew/shims/super/clang++ -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/openalpr-utils-calibrate.dir/calibrate.cpp.o -o openalpr-utils-calibrate -Wl,-rpath,/tmp/openalpr-20180430-59783-14ru5go/openalpr-2.3.0/src/build/openalpr ../openalpr/libopenalpr.2.dylib ../openalpr/support/libsupport.a /usr/local/opt/opencv@2/lib/libopencv_videostab.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ts.a /usr/local/opt/opencv@2/lib/libopencv_superres.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_stitching.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_contrib.2.4.13.dylib /usr/local/lib/libtesseract.dylib /usr/local/lib/liblept.dylib /usr/local/lib/libtesseract.dylib /usr/local/lib/liblept.dylib /usr/local/opt/opencv@2/lib/libopencv_nonfree.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ocl.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_gpu.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_photo.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_objdetect.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_legacy.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_video.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ml.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_calib3d.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_features2d.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_highgui.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_imgproc.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_flann.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_core.2.4.13.dylib [ 87%] Built target openalpr-utils-calibrate [ 88%] Linking CXX executable openalpr-utils-binarizefontsheet cd /tmp/openalpr-20180430-59783-14ru5go/openalpr-2.3.0/src/build/misc_utilities && /usr/local/Cellar/cmake/3.11.1/bin/cmake -E cmake_link_script CMakeFiles/openalpr-utils-binarizefontsheet.dir/link.txt --verbose=1 [ 89%] Linking CXX executable openalpr-utils-benchmark cd /tmp/openalpr-20180430-59783-14ru5go/openalpr-2.3.0/src/build/misc_utilities && /usr/local/Cellar/cmake/3.11.1/bin/cmake -E cmake_link_script CMakeFiles/openalpr-utils-benchmark.dir/link.txt --verbose=1 /usr/local/Homebrew/Library/Homebrew/shims/super/clang++ -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/openalpr-utils-binarizefontsheet.dir/binarizefontsheet.cpp.o -o openalpr-utils-binarizefontsheet -Wl,-rpath,/tmp/openalpr-20180430-59783-14ru5go/openalpr-2.3.0/src/build/openalpr ../openalpr/libopenalpr.2.dylib ../openalpr/support/libsupport.a /usr/local/opt/opencv@2/lib/libopencv_videostab.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ts.a /usr/local/opt/opencv@2/lib/libopencv_superres.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_stitching.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_contrib.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_nonfree.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ocl.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_gpu.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_photo.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_objdetect.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_legacy.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_video.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ml.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_calib3d.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_features2d.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_highgui.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_imgproc.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_flann.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_core.2.4.13.dylib /usr/local/lib/libtesseract.dylib /usr/local/lib/liblept.dylib /usr/local/lib/libtesseract.dylib /usr/local/lib/liblept.dylib /usr/local/Homebrew/Library/Homebrew/shims/super/clang++ -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/openalpr-utils-benchmark.dir/benchmarks/benchmark.cpp.o CMakeFiles/openalpr-utils-benchmark.dir/benchmarks/benchmark_utils.cpp.o CMakeFiles/openalpr-utils-benchmark.dir/benchmarks/endtoendtest.cpp.o -o openalpr-utils-benchmark -Wl,-rpath,/tmp/openalpr-20180430-59783-14ru5go/openalpr-2.3.0/src/build/openalpr ../openalpr/libopenalpr.2.dylib ../openalpr/support/libsupport.a -lpthread /usr/local/opt/opencv@2/lib/libopencv_videostab.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ts.a /usr/local/opt/opencv@2/lib/libopencv_superres.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_stitching.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_contrib.2.4.13.dylib /usr/local/lib/libtesseract.dylib /usr/local/lib/liblept.dylib /usr/local/lib/libtesseract.dylib /usr/local/lib/liblept.dylib /usr/local/opt/opencv@2/lib/libopencv_nonfree.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ocl.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_gpu.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_photo.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_objdetect.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_legacy.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_video.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ml.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_calib3d.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_features2d.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_highgui.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_imgproc.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_flann.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_core.2.4.13.dylib [ 89%] Built target openalpr-utils-binarizefontsheet [ 89%] Built target openalpr-utils-benchmark [ 90%] Linking CXX executable alpr /usr/local/Cellar/cmake/3.11.1/bin/cmake -E cmake_link_script CMakeFiles/alpr.dir/link.txt --verbose=1 /usr/local/Homebrew/Library/Homebrew/shims/super/clang++ -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/alpr.dir/main.cpp.o -o alpr -Wl,-rpath,/tmp/openalpr-20180430-59783-14ru5go/openalpr-2.3.0/src/build/openalpr openalpr/libopenalpr.2.dylib openalpr/support/libsupport.a video/libvideo.a /usr/local/opt/opencv@2/lib/libopencv_videostab.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ts.a /usr/local/opt/opencv@2/lib/libopencv_superres.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_stitching.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_contrib.2.4.13.dylib /usr/local/lib/libtesseract.dylib /usr/local/lib/liblept.dylib /usr/local/lib/libtesseract.dylib /usr/local/lib/liblept.dylib -lpthread /usr/local/opt/opencv@2/lib/libopencv_nonfree.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ocl.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_gpu.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_photo.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_objdetect.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_legacy.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_video.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_ml.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_calib3d.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_features2d.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_highgui.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_imgproc.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_flann.2.4.13.dylib /usr/local/opt/opencv@2/lib/libopencv_core.2.4.13.dylib openalpr/support/libsupport.a [ 90%] Built target alpr make: *** [all] Error 2

If reporting this issue please do so at (not Homebrew/brew or Homebrew/core): https://github.com/brewsci/homebrew-science/issues

chandanpasunoori commented 6 years ago

[ 50%] Linking CXX shared library libopenalpr.dylib [ 50%] Built target openalpr Scanning dependencies of target alprd [ 50%] Building CXX object CMakeFiles/alprd.dir/daemon.cpp.o In file included from /Users/cp/Projects/JotterAi/openalpr/openalpr/src/daemon.cpp:8: In file included from /Users/cp/Projects/JotterAi/openalpr/openalpr/src/video/logging_videobuffer.h:5: In file included from /usr/local/include/log4cplus/logger.h:36: In file included from /usr/local/include/log4cplus/spi/appenderattachable.h:33: In file included from /usr/local/include/log4cplus/appender.h:33: In file included from /usr/local/include/log4cplus/layout.h:36: /usr/local/include/log4cplus/helpers/timehelper.h:114:9: error: too many arguments provided to function-like macro invocation "microseconds"); ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config:783:12: note: macro 'static_assert' defined here

define static_assert(b, m) _Static_assert(b, m)

       ^

In file included from /Users/cp/Projects/JotterAi/openalpr/openalpr/src/daemon.cpp:8: In file included from /Users/cp/Projects/JotterAi/openalpr/openalpr/src/video/logging_videobuffer.h:5: In file included from /usr/local/include/log4cplus/logger.h:36: In file included from /usr/local/include/log4cplus/spi/appenderattachable.h:33: In file included from /usr/local/include/log4cplus/appender.h:33: In file included from /usr/local/include/log4cplus/layout.h:36: /usr/local/include/log4cplus/helpers/timehelper.h:113:5: error: use of undeclared identifier 'static_assert' static_assert (std::ratio_equal<Duration::period, std::micro>::value, ^ /Users/cp/Projects/JotterAi/openalpr/openalpr/src/daemon.cpp:153:5: warning: 'daemon' is deprecated: first deprecated in macOS 10.5 - Use posix_spawn APIs instead. [-Wdeprecated-declarations] daemon(0, 0); ^ /usr/include/stdlib.h:298:6: note: 'daemon' has been explicitly marked deprecated here int daemon(int, int) DARWIN_1050(daemon) OSX_AVAILABLE_BUT_DEPRECATED_MSG(MAC_10_0, MAC_10_5, IPHONE_2_0, __IPHONE_2_0, "Use posix_spawn APIs instead.") WATCHOS_PROHIBITED __TVOS_PROHIBITED; ^ 1 warning and 2 errors generated. make[2]: [CMakeFiles/alprd.dir/daemon.cpp.o] Error 1 make[1]: [CMakeFiles/alprd.dir/all] Error 2 make: *** [all] Error 2

webclimber commented 6 years ago

I fixed by wrapping the first parameter in parenthesis

static_assert((std::ratio_equal<Duration::period, std::micro>::value), "microseconds");

zhouhao27 commented 6 years ago

@webclimber where to change?

Should change /usr/local/include/log4cplus/helpers/timehelper.h line 114. Change to static_assert((std::ratio_equal<Duration::period, std::micro>::value), "microseconds");

webclimber commented 6 years ago

indeed /usr/local/include/log4cplus/helpers/timehelper.h line, the file belongs to the log4cplus package

bharls commented 5 years ago

easy install fails on macOS Sierra 10.12.6

==> cmake .. -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/openalpr/2.3.0_1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=ON -Wno-dev -DCMAKE_MACOSX_RPATH=true -DCMAKE_I ==> make install Last 15 lines from /Users/macmini/Library/Logs/Homebrew/openalpr/02.make: [ 30%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/util/stringprintf.cc.o cd /tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/build/openalpr/support && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -DINSTALL_PREFIX=\"/usr/local/Cellar/openalpr/2.3.0_1\" -DOPENALPR_MAJOR_VERSION=2 -DOPENALPR_MINOR_VERSION=3 -DOPENALPR_PATCH_VERSION=0 -DOPENCV_MAJOR_VERSION=2 -DSKIP_STATE_DETECTION=1 -I/usr/local/include -I/usr/local/include/tesseract -I/usr/local/Cellar/opencv@2/2.4.13.7_2/include/opencv -I/usr/local/Cellar/opencv@2/2.4.13.7_2/include -I/tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/./openalpr -I/tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/openalpr/support/. -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/ -fPIC -o CMakeFiles/support.dir/re2/util/stringprintf.cc.o -c /tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/openalpr/support/re2/util/stringprintf.cc [ 31%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/util/rune.cc.o cd /tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/build/openalpr/support && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -DINSTALL_PREFIX=\"/usr/local/Cellar/openalpr/2.3.0_1\" -DOPENALPR_MAJOR_VERSION=2 -DOPENALPR_MINOR_VERSION=3 -DOPENALPR_PATCH_VERSION=0 -DOPENCV_MAJOR_VERSION=2 -DSKIP_STATE_DETECTION=1 -I/usr/local/include -I/usr/local/include/tesseract -I/usr/local/Cellar/opencv@2/2.4.13.7_2/include/opencv -I/usr/local/Cellar/opencv@2/2.4.13.7_2/include -I/tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/./openalpr -I/tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/openalpr/support/. -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/ -fPIC -o CMakeFiles/support.dir/re2/util/rune.cc.o -c /tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/openalpr/support/re2/util/rune.cc [ 32%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/util/strutil.cc.o cd /tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/build/openalpr/support && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -DINSTALL_PREFIX=\"/usr/local/Cellar/openalpr/2.3.0_1\" -DOPENALPR_MAJOR_VERSION=2 -DOPENALPR_MINOR_VERSION=3 -DOPENALPR_PATCH_VERSION=0 -DOPENCV_MAJOR_VERSION=2 -DSKIP_STATE_DETECTION=1 -I/usr/local/include -I/usr/local/include/tesseract -I/usr/local/Cellar/opencv@2/2.4.13.7_2/include/opencv -I/usr/local/Cellar/opencv@2/2.4.13.7_2/include -I/tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/./openalpr -I/tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/openalpr/support/. -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/ -fPIC -o CMakeFiles/support.dir/re2/util/strutil.cc.o -c /tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/openalpr/support/re2/util/strutil.cc [ 32%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/util/valgrind.cc.o cd /tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/build/openalpr/support && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -DINSTALL_PREFIX=\"/usr/local/Cellar/openalpr/2.3.0_1\" -DOPENALPR_MAJOR_VERSION=2 -DOPENALPR_MINOR_VERSION=3 -DOPENALPR_PATCH_VERSION=0 -DOPENCV_MAJOR_VERSION=2 -DSKIP_STATE_DETECTION=1 -I/usr/local/include -I/usr/local/include/tesseract -I/usr/local/Cellar/opencv@2/2.4.13.7_2/include/opencv -I/usr/local/Cellar/opencv@2/2.4.13.7_2/include -I/tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/./openalpr -I/tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/openalpr/support/. -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/ -fPIC -o CMakeFiles/support.dir/re2/util/valgrind.cc.o -c /tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/openalpr/support/re2/util/valgrind.cc [ 33%] Linking CXX static library libsupport.a cd /tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/build/openalpr/support && /usr/local/Cellar/cmake/3.13.4/bin/cmake -P CMakeFiles/support.dir/cmake_clean_target.cmake cd /tmp/openalpr-20190306-7580-1ntugiu/openalpr-2.3.0/src/build/openalpr/support && /usr/local/Cellar/cmake/3.13.4/bin/cmake -E cmake_link_script CMakeFiles/support.dir/link.txt --verbose=1 /usr/bin/ar qc libsupport.a CMakeFiles/support.dir/filesystem.cpp.o CMakeFiles/support.dir/timing.cpp.o CMakeFiles/support.dir/tinythread.cpp.o CMakeFiles/support.dir/platform.cpp.o CMakeFiles/support.dir/utf8.cpp.o CMakeFiles/support.dir/version.cpp.o CMakeFiles/support.dir/re2/bitstate.cc.o CMakeFiles/support.dir/re2/compile.cc.o CMakeFiles/support.dir/re2/dfa.cc.o CMakeFiles/support.dir/re2/filtered_re2.cc.o CMakeFiles/support.dir/re2/mimics_pcre.cc.o CMakeFiles/support.dir/re2/nfa.cc.o CMakeFiles/support.dir/re2/onepass.cc.o CMakeFiles/support.dir/re2/parse.cc.o CMakeFiles/support.dir/re2/perl_groups.cc.o CMakeFiles/support.dir/re2/prefilter.cc.o CMakeFiles/support.dir/re2/prefilter_tree.cc.o CMakeFiles/support.dir/re2/prog.cc.o CMakeFiles/support.dir/re2/re2.cc.o CMakeFiles/support.dir/re2/regexp.cc.o CMakeFiles/support.dir/re2/set.cc.o CMakeFiles/support.dir/re2/simplify.cc.o CMakeFiles/support.dir/re2/stringpiece.cc.o CMakeFiles/support.dir/re2/tostring.cc.o CMakeFiles/support.dir/re2/unicode_casefold.cc.o CMakeFiles/support.dir/re2/unicode_groups.cc.o CMakeFiles/support.dir/re2/util/hash.cc.o CMakeFiles/support.dir/re2/util/stringprintf.cc.o CMakeFiles/support.dir/re2/util/rune.cc.o CMakeFiles/support.dir/re2/util/strutil.cc.o CMakeFiles/support.dir/re2/util/valgrind.cc.o /usr/bin/ranlib libsupport.a [ 33%] Built target support make: *** [all] Error 2

If reporting this issue please do so at (not Homebrew/brew or Homebrew/core): https://github.com/brewsci/homebrew-science/issue

bharls commented 5 years ago

fails too - Build the package (Instructions for compiling on OS X, tested on OS X 10.12.5. macOS Sierra)

macmini:~ macmini$ git clone https://github.com/openalpr/openalpr.git Cloning into 'openalpr'... remote: Enumerating objects: 8831, done. remote: Total 8831 (delta 0), reused 0 (delta 0), pack-reused 8831 Receiving objects: 100% (8831/8831), 5.59 MiB | 527.00 KiB/s, done. Resolving deltas: 100% (6107/6107), done. macmini:~ macmini$ cd openalpr/src macmini:src macmini$ mkdir build macmini:src macmini$ cd build macmini:build macmini$ cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc -- The C compiler identification is AppleClang 9.0.0.9000039 -- The CXX compiler identification is AppleClang 9.0.0.9000039 -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Tesseract CMake Error at CMakeLists.txt:101 (FIND_PACKAGE): By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "OpenCV", but CMake did not find one.

Could not find a package configuration file provided by "OpenCV" with any of the following names:

OpenCVConfig.cmake
opencv-config.cmake

Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set "OpenCV_DIR" to a directory containing one of the above files. If "OpenCV" provides a separate development package or SDK, be sure it has been installed.

-- Configuring incomplete, errors occurred! See also "/Users/macmini/openalpr/src/build/CMakeFiles/CMakeOutput.log".

lummish commented 5 years ago

Not sure if this will help anyone, but I was able to solve my compilation issues by manually specifying the C++ std used in compilation. Instead of the cmake step provided in the docs, try this:

cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc -DCMAKE_MACOSX_RPATH=true -DCMAKE_CXX_STANDARD=11 

That being said, I received some different error messages:

...
[ 11%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/prefilter.cc.o
[ 11%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/prefilter_tree.cc.o
[ 12%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/prog.cc.o
[ 13%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/re2.cc.o
[ 13%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/regexp.cc.o
[ 14%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/set.cc.o
[ 14%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/simplify.cc.o
[ 15%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/stringpiece.cc.o
[ 16%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/tostring.cc.o
[ 16%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/unicode_casefold.cc.o
[ 17%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/unicode_groups.cc.o
[ 18%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/util/hash.cc.o
[ 18%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/util/stringprintf.cc.o
[ 19%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/util/rune.cc.o
[ 20%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/util/strutil.cc.o
[ 20%] Building CXX object openalpr/support/CMakeFiles/support.dir/re2/util/valgrind.cc.o
[ 21%] Linking CXX static library libsupport.a
[ 21%] Built target support
[ 22%] Building CXX object video/CMakeFiles/video.dir/videobuffer.cpp.o
[ 23%] Linking CXX static library libvideo.a
[ 23%] Built target video
[ 24%] Building CXX object openalpr/CMakeFiles/openalpr.dir/alpr.cpp.o
[ 24%] Building CXX object openalpr/CMakeFiles/openalpr.dir/alpr_impl.cpp.o
[ 25%] Building CXX object openalpr/CMakeFiles/openalpr.dir/alpr_c.cpp.o
[ 26%] Building CXX object openalpr/CMakeFiles/openalpr.dir/config.cpp.o
[ 26%] Building CXX object openalpr/CMakeFiles/openalpr.dir/config_helper.cpp.o
[ 27%] Building CXX object openalpr/CMakeFiles/openalpr.dir/detection/detector.cpp.o
[ 28%] Building CXX object openalpr/CMakeFiles/openalpr.dir/detection/detectorcpu.cpp.o
[ 28%] Building CXX object openalpr/CMakeFiles/openalpr.dir/detection/detectorcuda.cpp.o
[ 29%] Building CXX object openalpr/CMakeFiles/openalpr.dir/detection/detectorocl.cpp.o
[ 30%] Building CXX object openalpr/CMakeFiles/openalpr.dir/detection/detectorfactory.cpp.o
[ 30%] Building CXX object openalpr/CMakeFiles/openalpr.dir/detection/detectormorph.cpp.o
[ 31%] Building CXX object openalpr/CMakeFiles/openalpr.dir/detection/detectormask.cpp.o
[ 31%] Building CXX object openalpr/CMakeFiles/openalpr.dir/licenseplatecandidate.cpp.o
[ 32%] Building CXX object openalpr/CMakeFiles/openalpr.dir/utility.cpp.o
[ 33%] Building CXX object openalpr/CMakeFiles/openalpr.dir/ocr/tesseract_ocr.cpp.o
In file included from /Users/lummish/Automotus/openalpr/src/openalpr/ocr/tesseract_ocr.cpp:20:
In file included from /Users/lummish/Automotus/openalpr/src/openalpr/ocr/tesseract_ocr.h:35:
In file included from /usr/local/include/tesseract/baseapi.h:27:
In file included from /usr/local/include/tesseract/apitypes.h:23:
/usr/local/include/tesseract/publictypes.h:33:1: error: unknown type name 'constexpr'
constexpr int kPointsPerInch = 72;
^
/usr/local/include/tesseract/publictypes.h:33:11: error: expected unqualified-id
constexpr int kPointsPerInch = 72;
          ^
/usr/local/include/tesseract/publictypes.h:38:1: error: unknown type name 'constexpr'
constexpr int kMinCredibleResolution = 70;
^
/usr/local/include/tesseract/publictypes.h:38:11: error: expected unqualified-id
constexpr int kMinCredibleResolution = 70;
          ^
/usr/local/include/tesseract/publictypes.h:40:1: error: unknown type name 'constexpr'
constexpr int kMaxCredibleResolution = 2400;
^
/usr/local/include/tesseract/publictypes.h:40:11: error: expected unqualified-id
constexpr int kMaxCredibleResolution = 2400;
          ^
/usr/local/include/tesseract/publictypes.h:45:1: error: unknown type name 'constexpr'
constexpr int kResolutionEstimationFactor = 10;
^
/usr/local/include/tesseract/publictypes.h:45:11: error: expected unqualified-id
constexpr int kResolutionEstimationFactor = 10;
          ^
In file included from /Users/lummish/Automotus/openalpr/src/openalpr/ocr/tesseract_ocr.cpp:20:
In file included from /Users/lummish/Automotus/openalpr/src/openalpr/ocr/tesseract_ocr.h:35:
In file included from /usr/local/include/tesseract/baseapi.h:31:
/usr/local/include/tesseract/resultiterator.h:103:63: error: a space is required between consecutive right angle brackets (use '> >')
  virtual std::vector<std::vector<std::pair<const char*, float>>>* GetBestLSTMSymbolChoices() const;
                                                              ^
In file included from /Users/lummish/Automotus/openalpr/src/openalpr/ocr/tesseract_ocr.cpp:20:
In file included from /Users/lummish/Automotus/openalpr/src/openalpr/ocr/tesseract_ocr.h:35:
In file included from /usr/local/include/tesseract/baseapi.h:32:
/usr/local/include/tesseract/serialis.h:43:1: error: unknown type name 'constexpr'
constexpr size_t countof(T const (&)[N]) noexcept {
^
/usr/local/include/tesseract/serialis.h:43:17: error: expected ';' at end of declaration
constexpr size_t countof(T const (&)[N]) noexcept {
                ^
/usr/local/include/tesseract/serialis.h:43:18: error: C++ requires a type specifier for all declarations
constexpr size_t countof(T const (&)[N]) noexcept {
                 ^
/usr/local/include/tesseract/serialis.h:43:26: error: use of undeclared identifier 'T'
constexpr size_t countof(T const (&)[N]) noexcept {
                         ^
/usr/local/include/tesseract/serialis.h:43:41: error: expected ';' after top level declarator
constexpr size_t countof(T const (&)[N]) noexcept {
                                        ^
/usr/local/include/tesseract/serialis.h:56:40: error: unknown type name 'size_t'
bool DeSerialize(FILE* fp, char* data, size_t n = 1);
                                       ^
/usr/local/include/tesseract/serialis.h:57:41: error: unknown type name 'size_t'
bool DeSerialize(FILE* fp, float* data, size_t n = 1);
                                        ^
/usr/local/include/tesseract/serialis.h:58:42: error: unknown type name 'size_t'
bool DeSerialize(FILE* fp, int8_t* data, size_t n = 1);
                                         ^
/usr/local/include/tesseract/serialis.h:59:43: error: unknown type name 'size_t'
bool DeSerialize(FILE* fp, int16_t* data, size_t n = 1);
                                          ^
/usr/local/include/tesseract/serialis.h:60:43: error: unknown type name 'size_t'
bool DeSerialize(FILE* fp, int32_t* data, size_t n = 1);
                                          ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [openalpr/CMakeFiles/openalpr.dir/ocr/tesseract_ocr.cpp.o] Error 1
make[1]: *** [openalpr/CMakeFiles/openalpr.dir/all] Error 2
make: *** [all] Error 2
cpknight commented 5 years ago

In another thread @Hildebrand noted that OpenALPR requires OpenCV 3 and not 4; his build solution worked for me after removing 4 and forcing 3.

cf. https://github.com/openalpr/openalpr/issues/762

brew install tesseract opencv@3 log4cplus
brew cask install java
git clone https://github.com/openalpr/openalpr.git
cd openalpr/src ; mkdir build; cd build
export OpenCV_DIR="/usr/local/opt/opencv@3/"
cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc -DCMAKE_MACOSX_RPATH=true -DCMAKE_CXX_FLAGS="-std=c++11"
#       cf. https://github.com/openalpr/openalpr/issues/762
make
sudo make install
Efrainq07 commented 5 years ago

In another thread @Hildebrand noted that OpenALPR requires OpenCV 3 and not 4; his build solution worked for me after removing 4 and forcing 3.

cf. #762

brew install tesseract opencv@3 log4cplus
brew cask install java
git clone https://github.com/openalpr/openalpr.git
cd openalpr/src ; mkdir build; cd build
export OpenCV_DIR="/usr/local/opt/opencv@3/"
cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc -DCMAKE_MACOSX_RPATH=true -DCMAKE_CXX_FLAGS="-std=c++11"
#       cf. https://github.com/openalpr/openalpr/issues/762
make
sudo make install

This worked for me, thanks!

braitsch commented 5 years ago

I also had to brew install glog on OSX 10.13.6 otherwise @cpknight your script works, thanks!

natsu90 commented 4 years ago

When I run make command I'm getting below error,

[ 21%] Built target support
[ 23%] Built target video
[ 50%] Built target openalpr
[ 51%] Linking CXX executable alprd
Undefined symbols for architecture x86_64:
  "cv::VideoCapture::open(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      imageCollectionThread(void*) in libvideo.a(videobuffer.cpp.o)
  "cv::VideoCapture::read(cv::Mat&)", referenced from:
      getALPRImages(cv::VideoCapture, VideoDispatcher*) in libvideo.a(videobuffer.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [alprd] Error 1
make[1]: *** [CMakeFiles/alprd.dir/all] Error 2
make: *** [all] Error 2

What did I miss? I'm on macOS Catalina 10.15.1

Update: NVM strangely no issue after deleted & re-created build folder & re-install

ghost commented 2 years ago

Anyone else getting the stringpiece error? I'm using opencv@3 and MacOs bigsur

/usr/local/include/re2/stringpiece.h:39:7: error: redefinition of 'StringPiece'
class StringPiece {
      ^
/Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/stringpiece.h:30:7: note: previous definition is here
class StringPiece {
      ^
In file included from /Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/re2/bitstate.cc:21:
In file included from /Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/regexp.h:93:
/usr/local/include/re2/stringpiece.h:176:13: error: redefinition of 'operator=='
inline bool operator==(const StringPiece& x, const StringPiece& y) {
            ^
/Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/stringpiece.h:154:13: note: previous definition is here
inline bool operator==(const StringPiece& x, const StringPiece& y) {
            ^
In file included from /Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/re2/bitstate.cc:21:
In file included from /Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/regexp.h:93:
/usr/local/include/re2/stringpiece.h:183:13: error: redefinition of 'operator!='
inline bool operator!=(const StringPiece& x, const StringPiece& y) {
            ^
/Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/stringpiece.h:158:13: note: previous definition is here
inline bool operator!=(const StringPiece& x, const StringPiece& y) {
            ^
In file included from /Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/re2/bitstate.cc:21:
In file included from /Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/regexp.h:93:
/usr/local/include/re2/stringpiece.h:187:13: error: redefinition of 'operator<'
inline bool operator<(const StringPiece& x, const StringPiece& y) {
            ^
/Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/stringpiece.h:162:13: note: previous definition is here
inline bool operator<(const StringPiece& x, const StringPiece& y) {
            ^
In file included from /Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/re2/bitstate.cc:21:
In file included from /Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/regexp.h:93:
/usr/local/include/re2/stringpiece.h:193:13: error: redefinition of 'operator>'
inline bool operator>(const StringPiece& x, const StringPiece& y) {
            ^
/Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/stringpiece.h:168:13: note: previous definition is here
inline bool operator>(const StringPiece& x, const StringPiece& y) {
            ^
In file included from /Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/re2/bitstate.cc:21:
In file included from /Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/regexp.h:93:
/usr/local/include/re2/stringpiece.h:197:13: error: redefinition of 'operator<='
inline bool operator<=(const StringPiece& x, const StringPiece& y) {
            ^
/Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/stringpiece.h:172:13: note: previous definition is here
inline bool operator<=(const StringPiece& x, const StringPiece& y) {
            ^
In file included from /Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/re2/bitstate.cc:21:
In file included from /Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/regexp.h:93:
/usr/local/include/re2/stringpiece.h:201:13: error: redefinition of 'operator>='
inline bool operator>=(const StringPiece& x, const StringPiece& y) {
            ^
/Users/vikass/Documents/openalpr/openalpr/src/openalpr/support/./re2/stringpiece.h:176:13: note: previous definition is here
inline bool operator>=(const StringPiece& x, const StringPiece& y) {
            ^
7 errors generated.
make[2]: *** [openalpr/support/CMakeFiles/support.dir/re2/bitstate.cc.o] Error 1
make[1]: *** [openalpr/support/CMakeFiles/support.dir/all] Error 2
make: *** [all] Error 2
LjuAdmir commented 2 years ago

I have installed tesseract, opencv and log4cplus via brew I'm on MacBook pro 13 M1 When I try to create makefile with cmake it tell me that it can't find log4cplus. So I by hand added: -Dlog4cplus_INCLUDE_DIR=/opt/homebrew/opt/log4cplus/include -Dlog4cplus_LIB=/opt/homebrew/opt/log4cplus/lib

When I run make I get this error once it tries to compile daemon.cpp:

[ 51%] Building CXX object CMakeFiles/alprd.dir/daemon.cpp.o
In file included from /Users/admir/Devel/openalpr/src/daemon.cpp:8:
/Users/admir/Devel/openalpr/src/video/logging_videobuffer.h:5:10: fatal error: 'log4cplus/logger.h' file not found
#include <log4cplus/logger.h>
         ^~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/alprd.dir/daemon.cpp.o] Error 1
make[1]: *** [CMakeFiles/alprd.dir/all] Error 2
make: *** [all] Error 2