make: *** [makefile:163: all] ошибка 2

Тема в разделе "Raspberry Pi", создана пользователем Volt-Amper, 9 сен 2019.

  1. Volt-Amper

    Volt-Amper Нерд

    Вылезла ошибка на 24% при компиляции OpenCV для Raspberry, пробывал вводить команду make - j4 компиляция в 4 потока, компиляция продолжилась, но остановилась на 32%. Пробывал удалять библиотеку с модулем cmake и опять устанавливать не помогло. Командой make VERBOSE=1 выдало ту же самую ошибку при компиляции. Может кто сталкивался с подобной проблемой? Версия OpenCV 4.1.1, предыдущую версию пока не пробывал компилировать.
     

    Вложения:

    Последнее редактирование: 9 сен 2019
  2. Igor68

    Igor68 Гуру

    Сам пользуюсь версией 2.Х из-за подобных ситуаций... наверное потому, что не интересовался особо. Даже 3.Х не вышло тогда. То что библиотека не собралась libopencv_core.so.4.1.1 видно. Тут дело в элементарных типах данных. Где-то для moxa(другое устройство) у меня так же не вышло. Поможет пересборка компилятора, самого компилятора. Я его так же пересобирал (в гугле что-то встречалось) на самой малине. Иногда, но не всегда у меня выходило, "перваривал"(редактировал) исходники.
    Попробую вечером подумать и поискать... может получиться Вам оказать помощь.
     
    Volt-Amper нравится это.
  3. Volt-Amper

    Volt-Amper Нерд

    С другими версиями попробую с компилировать, если не поможет буду ждать вашей поддержки пока что. Сам врятли что найду.
     
  4. ZAZ-965

    ZAZ-965 Гуру

    Volt-Amper нравится это.
  5. Volt-Amper

    Volt-Amper Нерд

    Спасибо, вечером попробую решить свою проблему.
     
  6. Volt-Amper

    Volt-Amper Нерд

    Запустил компиляцию при помощи вот этих команд в терминале:
    Код (C++):
    cmake
    -D CMAKE_BUILD_TYPE=RELEASE\
    -D CMAKE_INSTALL_PREFIX=/usr/local\
    -D OPENCV_EXTRA_MODULES_PATH=home/pi/opencv/opencv_contrib-4.1.1/modules\
    -D ENABLE_NEON=ON\
    -D ENABLE_VFPV3=ON\
    -D BUILD_TESTS=OFF\
    -D INSTALL_PYTHON_EXAMPLES=OFF\
    -D OPENCV_ENABLE_NONFREE=ON\
    -D CMAKE_SHARED_LINKER_FLAGS='-latomic'\ - // добавил эту строчку
    -D BUILD_EXAMPLES=OFF..
    Компилирование продолжилось с 23% до 26% и остановилось на вот этой ошибке:
    И ещё прикреплю фото с версиями Phyton:
     

    Вложения:

    Последнее редактирование: 10 сен 2019
    Igor68 нравится это.
  7. Volt-Amper

    Volt-Amper Нерд

    На Github есть такой совет добавить две строчки:
    Код (C++):

    -D BUILD_opencv_ts:BOOL=OFF
    -D ENABLE_PRECOMPILED_HEADERS=NO
    И make -j4 или make - j1 заменить командой просто make без задействия ядер
     
    Igor68 нравится это.
  8. Igor68

    Igor68 Гуру

    Доброго времени суток!
    Вечером интернета(Ростелеком) не было. Сам курю аналогичную проблему с nmap для MOXA UC-7112-LX-Plus. С atomic проблема. В моём случае кросс-компилятор, который изменять не выходит, кроме добавления путей к библиотекам. Все исходники из github.
    Попробуйте отключать в configure проблемные места... временно отключать. Понимаю, что на малине 3 у меня уходило достаточно времени.
    Пока у меня не выходит Вам помочь.
     
    Volt-Amper нравится это.
  9. Volt-Amper

    Volt-Amper Нерд

    Для начала попробую то что предлагаюют без изменения в конфигураторе, но скорее всего нужно будет заменять строчки.
     
  10. Igor68

    Igor68 Гуру

    Код (Text):
    ./configure --help
    работает?
     
  11. Volt-Amper

    Volt-Amper Нерд

    Немного вас не понимаю, это то с о в терминале нужно вводить или в конфигураторе самом?
     
  12. Igor68

    Igor68 Гуру

    Конкретно тут сказать не могу для Вашего случая но вот мой nmap
    Код (Text):
    igor@debian-i:~/coding/moxa/ia240_uc7112plus/nmap-5.35DC1$ ./configure --help
    `configure' configures this package to adapt to many kinds of systems.

    Usage: ./configure [OPTION]... [VAR=VALUE]...

    To assign environment variables (e.g., CC, CFLAGS...), specify them as
    VAR=VALUE.  See below for descriptions of some of the useful variables.

    Defaults for the options are specified in brackets.

    Configuration:
      -h, --help              display this help and exit
          --help=short        display options specific to this package
          --help=recursive    display the short help of all the included packages
      -V, --version           display version information and exit
      -q, --quiet, --silent   do not print `checking...' messages
          --cache-file=FILE   cache test results in FILE [disabled]
      -C, --config-cache      alias for `--cache-file=config.cache'
      -n, --no-create         do not create output files
          --srcdir=DIR        find the sources in DIR [configure dir or `..']

    Installation directories:
      --prefix=PREFIX         install architecture-independent files in PREFIX
                              [/usr/local]
      --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                              [PREFIX]

    By default, `make install' will install all the files in
    `/usr/local/bin', `/usr/local/lib' etc.  You can specify
    an installation prefix other than `/usr/local' using `--prefix',
    for instance `--prefix=$HOME'.                                                                                                                                                                
                                                                                                                                                                                                   
    For better control, use the options below.                                                                                                                                                    
                                                                                                                                                                                                   
    Fine tuning of the installation directories:                                                                                                                                                  
      --bindir=DIR            user executables [EPREFIX/bin]                                                                                                                                      
      --sbindir=DIR           system admin executables [EPREFIX/sbin]                                                                                                                              
      --libexecdir=DIR        program executables [EPREFIX/libexec]
      --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
      --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
      --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
      --libdir=DIR            object code libraries [EPREFIX/lib]
      --includedir=DIR        C header files [PREFIX/include]
      --oldincludedir=DIR     C header files for non-gcc [/usr/include]
      --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
      --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
      --infodir=DIR           info documentation [DATAROOTDIR/info]
      --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
      --mandir=DIR            man documentation [DATAROOTDIR/man]
      --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
      --htmldir=DIR           html documentation [DOCDIR]
      --dvidir=DIR            dvi documentation [DOCDIR]
      --pdfdir=DIR            pdf documentation [DOCDIR]
      --psdir=DIR             ps documentation [DOCDIR]

    System types:
      --build=BUILD     configure for building on BUILD [guessed]
      --host=HOST       cross-compile to build programs to run on HOST [BUILD]

    Optional Features:
      --disable-option-checking  ignore unrecognized --enable/--with options
      --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
      --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
      --disable-nls           do not use Native Language Support

    Optional Packages:
      --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
      --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
      --with-localdirs        Explicitly ask compiler to use
                              /usr/local/{include,libs} if they exist
      --without-ndiff         Skip installation of the Ndiff utility
      --without-zenmap        Skip installation of the Zenmap graphical frontend
      --without-nping         Skip installation of the Nping utility
      --with-openssl=DIR      Use optional openssl libs and includes from
                              DIR/lib/ and DIR/include/openssl/)
      --with-libpcap=DIR      Look for pcap in DIR/include and DIR/libs.
      --with-libpcap=included Always use version included with Nmap
      --with-libpcre=DIR      Use an existing (compiled) pcre lib from DIR/include
                              and DIR/lib.
      --with-libpcre=included Always use the version included with Nmap
      --with-libdnet=DIR      Use an existing (compiled) dnet lib from DIR/include
                              and DIR/lib. This is NOT RECOMMENDED because we have
                              made many important fixes to our included libdnet,
                              as described at
                              http://nmap.org/svn/libdnet-stripped/NMAP_MODIFICATIONS
      --with-libdnet=included Use the libdnet version included with Nmap (default)
      --with-liblua=DIR       Use an existing (compiled) lua lib from DIR/include
                              and DIR/lib.
      --with-liblua=included  Use the liblua version included with Nmap
      --without-liblua        Compile without lua (this will exclude all of NSE
                              from compilation)
      --with-libnbase=DIR     Look for nbase include/libs in DIR
      --with-libnsock=DIR     Compile and link to libnsock in DIR
      --without-ncat          Skip build and installation of Ncat

    Some influential environment variables:
      CC          C compiler command
      CFLAGS      C compiler flags
      LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
                  nonstandard directory <lib dir>
      LIBS        libraries to pass to the linker, e.g. -l<library>
      CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
                  you have headers in a nonstandard directory <include dir>
      CXX         C++ compiler command
      CXXFLAGS    C++ compiler flags
      CPP         C preprocessor

    Use these variables to override the choices made by `configure' or to help
    it to find libraries and programs with nonstandard names/locations.
    После чего делаю исполняемый скрипт
    Код (Text):
    #!/bin/sh



    echo "------ для UC7112LX-plus ------"


    ./configure \
    ARCH=arm \
    CC=/usr/local/arm-linux/bin/arm-linux-gcc \
    CXX=/usr/local/arm-linux/bin/arm-linux-g++ \
    CPP=/usr/local/arm-linux/bin/arm-linux-cpp \
    LD=/usr/local/arm-linux/bin/arm-linux-ld \
    AR=/usr/local/arm-linux/bin/arm-linux-ar \
    AS=/usr/local/arm-linux/bin/arm-linux-as \
    NM=/usr/local/arm-linux/bin/arm-linux-nm \
    STRIP=/usr/local/arm-linux/bin/arm-linux-strip \
    RANLIB=/usr/local/arm-linux/bin/arm-linux-ranlib \
    CROSS_COMPILE=/usr/local/arm-linux/bin/arm-linux- \
    --host=arm-linux \
    --with-pcap=linux \
    --without-liblua \

    #--without-zenmap \
    #--without-ndiff \
    #--without-liblua \
    #--without-PACKAGE \
    #--without-nmap-update \
    #--with-pcap=linux \
    #--prefix=$_path$_pr \
    #\
    #--with-libpcap=included \
    #--with-libz=included \
    #--with-libssh2=included \
    #--with-libdnet=included \
    #--with-liblinear=included \
    #--with-openssl=openssl \
    #\
    #--with-libnbase=nbase \
    #--with-libnsock=nsock
    #\
     
    Где включаю и выключаю опции в отдельном запускаемом файле
     
  13. Igor68

    Igor68 Гуру

    Одним словом множество параметров для configure есть как внешние без редактирования самого cofigure, а он соберёт makefile с этими параметрами. Видите, что я внешним параметром указываю кросс-компилятор для другого устройства.
     
  14. Volt-Amper

    Volt-Amper Нерд

    Компиляция завершена без ошибок, посмотрел log файл все нормально установилось, даже показал мне свою версию opencv:

    Но есть проблема, хочу проверить камеру в стандартном скрипте face detect.py, не захотел запускаться и выдал ошибку на скриншот ниже:
     

    Вложения:

  15. Volt-Amper

    Volt-Amper Нерд

    Код (C++):
    cv2.error: 0pencV(4.1.1 ) /home/pi/opencv/opencv-4.1.1/modules/highgui/src/window.cpp:627: e rror: (-2:Unspecified error) The function is not implemented. Rebuild the library with Wind ows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and p kg-config, then re-run cmake or configure script in function 'cvShowImage
    Вот такой вот код ошибки. Подскажите кто знает, мне придётся удалять всю папку build(папка в которую проходила компиляция) или можно только переустановить требуемые пакеты libgtk2.0 и pkg-config, хотя эти пакеты были установлены в первых шагах по установке opencv.
     
    Последнее редактирование: 11 сен 2019
  16. Igor68

    Igor68 Гуру

    Тут же сказано установить и переконфигурировать. Понятно, что после переконфигурирования нужна перекомпиляци. А Вы встретили в конфигурации опцию вывода на экран? Впрочем эта опция нужна, а я спросил глупость. Похоже удалять ничего не надо, потому как остальные модули он(комприлятор) собрал и просит только перезапустить cmake
     
  17. Volt-Amper

    Volt-Amper Нерд

    Вот не пойму просит он перезагрузить или все таки переустановить, хотя я устанавливал уже библиотеку gtk2.0, а вот pkg-config я не установил, может зря? И как перезапустить Cmake тоже не понял пока что.
     
  18. Igor68

    Igor68 Гуру

    в консоли наберите "pkg" и нажмите клавишу TAB. pkg-config должен быть в списке... должен. по поводу Cmake, то просто перезапустите. Он пропустит то, что уже сделано.
     
  19. Volt-Amper

    Volt-Amper Нерд

    Вот мне это и не понятно, Cmake программа которая или в самой консоли?
     
  20. Igor68

    Igor68 Гуру

    А как Вы вообще запускали компиляцию?