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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.