Конфликт между kdenlive и freeglut3. (Как разрешить?)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

MiK13
Сообщения: 1289
ОС: Linux Debian

Конфликт между kdenlive и freeglut3.

Сообщение MiK13 »

Поставил как-то дома на компьютер kdenlive -- хочу научиться работать с видеоклипами (система Jessie, которую пока не удалось нормально настроить, о чём я писал в другой теме).
Сейчас решил доработать одну программу по работе (на работе Wheezy). Для разработки использую geany. И вот, исправил все ошибки, нажимаю F9, а мне в ответ

Код: Выделить всё

gcc -std=c99 -Wall -o "imit_p" "imit_p.c" -lm -lglut -lGLU (в каталоге: /home/mik13/1)
/usr/bin/ld: cannot find -lglut
collect2: error: ld returned 1 exit status
Сборка завершилась с ошибкой.

Собственно, для этой программы glut не нужен, поэтому тут проблемы нет. Просто в настройках geany осталась такая строка компиляции, glut нужен для другой программы.
Решил поставить. Но в ответ на aptitude install freeglut3 freeglut3-dev получил следующее:

Код:

Следующие НОВЫЕ пакеты будут установлены: freeglut3 freeglut3-dev Следующие частично установленные пакеты будут настроены: kde-runtime{b} kdenlive libqt4-sql-mysql{b} 0 пакетов обновлено, 2 установлено новых, 0 пакетов отмечено для удаления, и 5 пакетов не обновлено. Необходимо получить 301 kB архивов. После распаковки 1 215 kB будет занято. Следующие пакеты имеют неудовлетворённые зависимости: libqt4-sql-mysql : Зависит: libmysqlclient18 (>= 5.5.24+dfsg-1) но его установка не запланирована. kde-runtime : Зависит: libssh-gcrypt-4 (>= 0.6.1) но его установка не запланирована. Следующие действия разрешат зависимости: Удалить следующие пакеты: 1) kde-runtime 2) kdenlive 3) libqt4-sql-mysql Оставить следующие зависимости неразрешёнными: 4) kdelibs5-plugins рекомендует kde-runtime 5) kdenlive-data рекомендует kdenlive 6) libqt4-sql рекомендует libqt4-sql-mysql | libqt4-sql-odbc | libqt4-sql-psql | libqt4-sql-sqlite | libqt4-sql-sqlite2 | libqt4-sql-ibase Принять данное решение? [Y/n/q/?]

Решил пока отменить установку. Но как быть в дальнейшем?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21433
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Конфликт между kdenlive и freeglut3.

Сообщение Bizdelnick »

MiK13 писал(а):
02.03.2016 23:30
как быть в дальнейшем?

Использовать для установки пакетов apt-get или apt, а не aptitude.

MiK13 писал(а):
02.03.2016 23:30
для этой программы glut не нужен
MiK13 писал(а):
02.03.2016 23:30
Решил поставить.

Странное решение.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
MiK13
Сообщения: 1289
ОС: Linux Debian

Re: Конфликт между kdenlive и freeglut3.

Сообщение MiK13 »

Bizdelnick писал(а):
03.03.2016 00:01
MiK13 писал(а):
02.03.2016 23:30
как быть в дальнейшем?

Использовать для установки пакетов apt-get или apt, а не aptitude.
Я как-то читал, что aptitude работает более корректно, чем apt-get. Но решил попробовать. И помогло.
Правда, не сразу. Сказало, что есть проблемы и порекомендовало использовать apt-get -f install
Который тоже не прошёл и порекомендовал использовать apt-get update. Который прошёл нормально за исключением

Код: Выделить всё

W: Ошибка GPG: http://deb.opera.com stable InRelease: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 63F7D4AFF6D61D45
Но, на сколько я знаю, Opera больше не развивается. Хотя для винды что-то новое появляется, но на белорусском сервере с зеркалом дебиана для линукса последняя версия 12.16. Но для Windows 12.18, хотя я видел и 20-ю версию и даже 35-ю)
В общем, после этого apt-get -f install прошёл нормально и apt-get install freeglut3 freeglut3-dev тоже
Bizdelnick писал(а):
03.03.2016 00:01
MiK13 писал(а):
02.03.2016 23:30
для этой программы glut не нужен
MiK13 писал(а):
02.03.2016 23:30
Решил поставить.

Странное решение.
А что тут странного? В процессе работы развиваю несколько программ, решающих разные части одной общей задачи. Для той, с которой я возился сегодня glut не нужен. Но если займусь другой, он может понадобиться. И тогда проблема всё равно возникла бы
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21433
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Конфликт между kdenlive и freeglut3.

Сообщение Bizdelnick »

MiK13 писал(а):
03.03.2016 02:19
Я как-то читал, что aptitude работает более корректно, чем apt-get.

Когда-то так и было. Но потом ситуация изменилась, теперь aptitude практически не развивается и его глюки вряд ли когда-нибудь будут исправлены. Также см. Использование менеджеров пакетов Debian.

MiK13 писал(а):
03.03.2016 02:19
А что тут странного? В процессе работы развиваю несколько программ, решающих разные части одной общей задачи. Для той, с которой я возился сегодня glut не нужен. Но если займусь другой, он может понадобиться. И тогда проблема всё равно возникла бы

Странно то, что Вы линкуете заведомо ненужную библиотеку. И то, что жёстко прописываете линковку в настройках IDE.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
MiK13
Сообщения: 1289
ОС: Linux Debian

Re: Конфликт между kdenlive и freeglut3.

Сообщение MiK13 »

Bizdelnick писал(а):
03.03.2016 10:12
Странно то, что Вы линкуете заведомо ненужную библиотеку. И то, что жёстко прописываете линковку в настройках IDE.
Многое определяется стилем работы.
Я предпочитаю отлаживать разные части общей системы в виде отдельных программ. Тем более, что Linux позволяет очень легко объединять разные программы (хотя когда-то меня и удивило то, что в Linux/UNIX нет прямой возможности запустить из одной программы другую)
geany оказался очень удобным средством для разработки таких программ. F9 -- сборка, F5 -- запуск. А так как программа не одна, то я в строке сборки прописал всё, что может понадобиться для всех программ. Тем более, что я пока не заметил, чтобы лишние библиотеки мешали работе.
Ну, а окончательную сборку программ я делаю командой make с указанием в makefile для каждой программы только тех библиотек, которые ей нужны.

Кстати, сейчас на работе обнаружил, что основная программа (которая использует glut) не работает:

Код: Выделить всё

Xlib:  extension "GLX" missing on display ":0.0".
freeglut (./img1): OpenGL GLX extension not supported by display ':0.0'

Возникло это после того, как я попробовал разобраться с библиотекой CUDA. Поставил пакеты, связанные с ней, и среди прочих увидел сообщение (точно уже не помню), что nvidia заменён на nouveau и комментарий, что-то типа "всё будет нормально после перезагрузки".
Но после перезагрузки оказалось, что не работает google-earth: выдаёт те же сообщения:
Xlib: extension "GLX" missing on display ":0". (89 раз) и потом Google Earth has caught signal 11.
Да и hardinfo для элемента Display про OpenGL выдаёт:

Код: Выделить всё

     Vendor               Unknown
     Renderer             Unknown
     Version              Unknown
     Direct Rendering     No

Но по этому поводу я, скорее всего, если не разберусь, попрошу помощи в отдельной теме.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21433
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Конфликт между kdenlive и freeglut3.

Сообщение Bizdelnick »

MiK13 писал(а):
03.03.2016 12:58
Многое определяется стилем работы.

Значит у Вас неправильный стиль работы. ☺

MiK13 писал(а):
03.03.2016 12:58
я пока не заметил, чтобы лишние библиотеки мешали работе.

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

MiK13 писал(а):
03.03.2016 12:58
geany оказался очень удобным средством для разработки таких программ. F9 -- сборка, F5 -- запуск. А так как программа не одна, то я в строке сборки прописал всё, что может понадобиться для всех программ. Тем более, что я пока не заметил, чтобы лишние библиотеки мешали работе.
Ну, а окончательную сборку программ я делаю командой make с указанием в makefile для каждой программы только тех библиотек, которые ей нужны.

Почему же не прописать в geany запуск make по F9?

Насчёт CUDA и GLX — тут, видимо, придётся выбирать одно из двух. CUDA — значит nvidia, GLX — значит nouveau. Но да, это лучше обсудить в отдельной теме.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
MiK13
Сообщения: 1289
ОС: Linux Debian

Re: Конфликт между kdenlive и freeglut3.

Сообщение MiK13 »

Bizdelnick писал(а):
03.03.2016 13:50
MiK13 писал(а):
03.03.2016 12:58
Многое определяется стилем работы.

Значит у Вас неправильный стиль работы. ☺
Как когда-то сказал профессор Однокаменный, "Всё относительно"☺
Bizdelnick писал(а):
03.03.2016 13:50
MiK13 писал(а):
03.03.2016 12:58
я пока не заметил, чтобы лишние библиотеки мешали работе.

Во-первых, это лишние зависимости (и времени компиляции, и времени исполнения), во-вторых, они немного (пожалуй, даже пренебрежимо) замедляют линковку, в-третьих, опять-таки немного, замедляют запуск и увеличивают потребление памяти. Пока библиотек немного, это может не мешать, но со временем у Вас их скопится множество.
Думаю, что это будет очень нескоро☺ А те дополнительные расходы слишком малы, чтобы на них обращать внимание.
Я как-то заметил, что при работе основной программы уменьшается объём доступной памяти. Сейчас не помню на сколько, но, по-моему, на несколько МБ за 10 минут. Сказал начальнику, его ответ: "Ну и что? У нас памяти хватает"
Bizdelnick писал(а):
03.03.2016 13:50
Почему же не прописать в geany запуск make по F9?

Наверно, можно. Тем более, что в нём это заложено (правда, пока не понял, что он при этом делает)
Просто, мои программы имеют вид <префикс>_<функция>. Т.е. aaa_rd -- чтение данных, aaa_log -- протоколирование событий, aaa_ct -- расчёт таблиц. И в makefile в качестве меток заложены только названия функций. Т.е. я могу сделать сборку (причём, прямо из geany) командй
make rd log ct .... А переделывать makefile (и усложнить последующую сборку по make) или как-то в настройках отрезать префикс от имени файла ("%e"), пока смысла не вижу.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21433
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Конфликт между kdenlive и freeglut3.

Сообщение Bizdelnick »

MiK13 писал(а):
03.03.2016 14:20
Просто, мои программы имеют вид <префикс>_<функция>. Т.е. aaa_rd -- чтение данных, aaa_log -- протоколирование событий, aaa_ct -- расчёт таблиц. И в makefile в качестве меток заложены только названия функций. Т.е. я могу сделать сборку (причём, прямо из geany) командй
make rd log ct .... А переделывать makefile (и усложнить последующую сборку по make) или как-то в настройках отрезать префикс от имени файла ("%e"), пока смысла не вижу.

Смысл есть, и заключается он в том, чтобы не усложнить, а как раз упростить сборку. Если имена целей не соответствуют именам файлов, make не может отслеживать необходимость их пересборки, и всегда будет пересобирать всё. В таком случае смысл использования make теряется, можно было бы с тем же успехом и шелл-скриптом собирать. Если переименовать цели (и, разумеется, правильно прописать их зависимости), Вам вообще не придётся давать команду типа make rd log ct, достаточно будет просто make.
P. S. Но что-то мы совсем от темы далеко ушли... Если есть желание продолжить разговор о сборке, могу выделить его в отдельную тему в Средства разработки.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
MiK13
Сообщения: 1289
ОС: Linux Debian

Re: Конфликт между kdenlive и freeglut3.

Сообщение MiK13 »

Bizdelnick писал(а):
03.03.2016 14:41
P. S. Но что-то мы совсем от темы далеко ушли... Если есть желание продолжить разговор о сборке, могу выделить его в отдельную тему в Средства разработки.

Желание есть, но не сейчас. Может быть через неделю, Или месяц. Но я тогда сначала сам поизучаю возможности make.
А сейчас у меня другие проблемы (в основном как вернуть OpenGL). А проблему этой темы можно считать решённой.
Спасибо сказали: