LINUX.ORG.RU
ФорумAdmin

Где взять пакет OpenCV 3 для Ubuntu 20.04?

 , , , ,


0

1

В новой убунте выкинули OpenCV 3. Теперь там четвёртая версия. У меня софт использует третью. В нём много вызовов методов из OpenCV Contrib, которых нет в четвёртой. Софт писал не я, во всяких видеоаналитиках не разбираюсь, поэтому сам портировать не могу.

Мне нужен именно пакет, т.к. я эту свою софтину запакую и буду распространять в deb и хочу по зависимостям связываться с OpenCV 3. Так что вариант со сборкой в /opt не подходит. Поэтому у меня возник извечный русский вопрос: кто виноват и что делать? Вот у себя в арчике я из aur накатил, а убунтуводы в пролёте. Что как бы намекает на ненужность некоторых дистрибутивов.

★★★★★

А как ты будешь распространять opencv3 если его нет в репозитории? Таскать рядом пакет с opencv3? Попробуй сам собрать пакет с opencv3. Или заведи ppa, там будет и твоя прога и нужный opencv

CrazyAlex25 ★★★
()
Последнее исправление: CrazyAlex25 (всего исправлений: 1)

Мне нужен именно пакет, т.к. я эту свою софтину запакую и буду распространять в deb и хочу по зависимостям связываться с OpenCV 3. Так что вариант со сборкой в /opt не подходит.

Не понял связи — формат .deb разрешает распаковывать данные в /opt или /usr/local , так довольно много ПО делает. Это — просто архив с небольшими дополнениями.

Vsevolod-linuxoid ★★★★★
()
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 3.4.11
cd ..
 
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 3.4.11
cd ..

cd opencv
mkdir build
cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
      -D BUILD_EXAMPLES=OFF
        
make -j$(nproc)
make install or checkinstall
CrazyAlex25 ★★★
()

буду распространять в deb

Распространители deb должны как минимум страдать, а как максимум - адски мучиться. Уж извините за прямоту.

curufinwe ★★★★★
()

У меня софт

софт писал не я

портировать не могу

но

запакую и буду распространять

эту свою софтину

Ты заплатил кому-то за разработку софта что ли?

dsxl
()
Ответ на: комментарий от curufinwe

Распространители deb должны как минимум страдать, а как максимум - адски мучиться. Уж извините за прямоту.

Чому?

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Потому что сабжевая проблема порождена ровно этим.

Невозможность установки чего-либо старого в более новом дистрибутиве через полгода. Это путь страдания. Причина - deb.

Можно использовать tar в /opt, Snap, Flatpak, Appimage - то есть более лучшие способы распространения программ для Linux. И подобные проблемы вообще не будут возникать. Но нет, народу обязательно нужен дурацкий deb.

curufinwe ★★★★★
()
Последнее исправление: curufinwe (всего исправлений: 1)

буду распространять в deb

А нафига? Собери всё статично и радуйся. Пакетное распространение с динамикой в 2020 нужно если:

  • ты планируешь попасть в репку дистра и на 100% уверен что твоя внешняя либа сможет работать с той версией что есть в дистре (тут ты уже пролетел раз тройки нет в репах)
  • у тебя адовое кол-во зависимостей, которые ты можешь цеплять динамически и либо готов постоянно следить за их работоспособностью в конкретном дистре либо на 100% уверен что их апи на 100% устоялось и не будет ломаться, но и тут ты уже пролетел т.к. опецв ломает апи с каждым мажорным релизом, что ты сейчас на себе и испытал

Если у тебя из зависимостей опенцв (которой и так нет у 99.9% юзеров на машине) да ффмпег/влц то собери всё в аппимадж или просто в архивчик с sh инсталятором для прописывания ярлычков - мне, как юзеру, гораздо больше нравятся программки, которые я скачал образом/папкой и просто запустил (для примера так распротраняются rawtherapee и eclipse соотв.), чем такие-же программки, которые я скачал дебом и потом пол часа потратил на поиск нужных библиотек в других дебах, потому что криворукость или лень собиральщика не позволила ему нормально зависимости расставить

rukez ★★★★
()

Что как бы намекает на ненужность некоторых дистрибутивов.

ox55ff не нужен. Про контейнеры уже сказали.

/thread

griefer
()

Так что вариант со сборкой в /opt не подходит.

Это как раз единственный вариант.

RazrFalcon ★★★★★
()
Ответ на: комментарий от dsxl

Нет, не платил. Просто этого софта нет в репе.

ox55ff ★★★★★
() автор топика
Ответ на: комментарий от curufinwe

У меня софтина работает совместно с БД и nginx. Сейчас это тянется из реп. Это тоже во flatpack?

ox55ff ★★★★★
() автор топика
Ответ на: комментарий от griefer

ox55ff не нужен

Зачем нужен такой мир, в котором не будет меня и моего самопального deb?

ox55ff ★★★★★
() автор топика
Ответ на: комментарий от ox55ff

Статично расстраивает дедушку Столмана. Там lgpl.

слинкуй динамически по статичному пути в подпапке своего аппимаджа :-)

rukez ★★★★
()
Последнее исправление: rukez (всего исправлений: 1)

Тебе проще распростронять свой пакет (свою программу) вместе с собранной OpenCV в одном пакете. И никаких зависимостей кроме самых базовых типа libstdc++.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от rukez

В DEB точно так же можно запихнуть все требуемые динамические библиотеки. Плюс он удобно вписывается в установку/удаление/обновление/пре/пост скрипты.

rumgot ★★★★★
()
Ответ на: комментарий от ox55ff

Это тоже во flatpack?

Я что, написал «во flatpak и никак иначе»?

Я, и остальные, предложили 3-4 варианта. Из них flatpak и snap не подойдет, да. А остальные варианты подойдут. deb все так же не нужен.

curufinwe ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.