LINUX.ORG.RU

Как собрать программу из исходников? Сложности с Qt

 


0

1

Здравствуйте! Закачал qt6 ( а QT5 при qtcreator уже и стояла ) , пытаюсь установить, собрать приложение Qucs на линукс минт 21.2, при исполнении configure , даже после установки qt6 командой sudo apt install qt6-base-dev терминал при установке пишет , что нужна библиотека QT не ниже версии 4.8 Что это такое, как преодолеть?

Перемещено hobbit из general



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

Но почему тогда диагностика пишет, что ей нужен именно пакет 4.6 и выше, а 4.61 я могу поставить, вроде как файл скачал, но , тогда я не знаю, как это скачать, что сделать, чтобы Qucs начал им пользоваться и при этом этот , ещё один QT не мешал бы другим, а при этом я заметил, что QT creator видит все QT, стоящие на десктопе а , выходит , что другие приложения ничего не видят и их дистрибутивы при установке дают неадекватные сообщения, требуют выше , чем 4.6, как в данном случае, но не пишет, что требуется только 4хх ?

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

я скачал нечто , тоже qucs. это уже другой , я его просто разархивировал и он образовал вроде как рабочие папки, вероятно это appimage и он тоже не запускается, вероятно, ка вы говогрите тоже из-за несответствия библиотек, от того, что у меня стоит 6 и 5, а нет 4-ой??

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

Ещё раз и по человечески распиши что, какими командами ты делал? Чемт тебя это не устроило?

Installation guide
Source code

Download the source code file qucs-s-2.1.0.tar.gz and build it with cmake to try new Qucs-S.
Linux

    DEB and RPM packages for Debian, Ubuntu, Fedora, openSUSE generated with OBS. Find the repository and installation instructions for your distribution here: https://software.opensuse.org/download.html?project=home%3Ara3xdh&package=qucs-s
    The package for Arch is available in AUR: https://aur.archlinux.org/packages/qucs-s
    AppImage for non-mentioned Linux distributions; download file below;

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

Я хочу собрать программу из исходников, хочу освоить сборку, раньше получалось, но не всегда, просто читал rreadme, в этот раз никак не помогло, вот распаковал, обычным архиватором, графическим даже, получилась куча файлов, папок, почитал, что делать, начал ,перехожу в папку, где это всё, configure. in отсутствует, в материале советуют в этом случае делать

./bootstrap
./autogen.sh

не помогло aclocal помогло, после ./configure пошёл процесс, в самом конце выдаёт , что библиотеки qt устаревшие, надо новее 4,6, , установил 6, командой sudo apt install qt6-base-dev, тоже где-то нашёл, процесс прошёл, потом обнаружил, что QTcreator уже сейчас при установках программивания предлагает даже на выбор, qt5 and qt6/ то есть , предполагаю, что они обе есть и даже ничего не порушилось, qtcreator их различает, предлагает на выбор, есть у меня и пока не запускал и файл установки Qt4.61 , то есть, если реально нужна qt выше 4.6, но именно 4, то такое у меня в кармане теперь есть ( не знаю, можно ли ставить, не будут лит они как-то конфликтовать, залезут где-то в одну папку, перепишут ли друг друга и а порушатся и так далее) и вот , что правильно теперь сделать, загрузит ьещё и 4,61 версию и пытаться снова запускать ./configure или как?

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

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

в самом конце выдаёт , что библиотеки qt устаревшие, надо новее 4,6, , установил 6

Я бы попробовал Qt5. Прыгать с четвёрки сразу на шестёрку рискованно.

Но там ещё и автотулзы (autogen.sh, configure), с Qt это вообще редкое сочетание и не знаю даже, несколько живучее, в Qt-проектах обычно применяется либо qmake, либо cmake. Посмотри в сторону форка под названием Qucs-S, он намного живее оригинального проекта и на ЛОРе есть люди, непосредственно причастные к его разработке :))) которые ещё и на русском языке могут ответить. Ссылку на форк дали выше.

Да, ещё. Та библиотека, которая тебе нужна, называется Qt (первая буква большая, вторая маленькая). QT — это Apple QuickTime, совсем из другой оперы. Я тебе название темы поправил, но в следующий раз имей в виду. :)

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

так она же, qt5 очень вероятно стоит на машине, поскольку её видит, или мне так кажется ? мой QTCREATOR/ Тогда как её подключить к этому куксу, как ему , при его так и не начинающейся сборке объяснить, чтобы он не жаловался, что ему что-то старое, если стоит уже и 5 и 6 версии QT/? И, я могу поставить ещё и QT 4.61. j она у меня как бы скачана, о яне знаю, чем окончится, вдруг они все три будут стоять на компе, а запуск ./configure опять скажет , что нужна более новая библиотека чем 4,6. То есть он не видит , что уже стоят 5 и 6, они же новее , чем 4,6.Я же просто не знаю,ка это ему , сообщить, этому./configure, то , что он формальгно просит уже стоит и 5 тоже, а он не доволен, что она не новее, якобы, чем 4,6. И , тут уже один человек предположил, что кукс не будет работать с 5, а бкдет тольо с четвёртым, если это так, то , может быть мне загрузить ещё и 4,61, который естественно новее 4,6? На что он и жалуется. И я спрашиваю, вообще можно хоть 5 разных версий загружать на один комп? Не будет чего-то нежелательного?Они же небольшие, всего по 50 мб, если можно, то я бы и 3 версию 4,61, подгрузил, просто не знаю, чем это окончится. И даст ли эффект, может быть надо как-то что ещё и сообщить на этапе ./configure что версия есть, вот тут-то стоит и тд?

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

Но почему тогда диагностика пишет, что ей нужен именно пакет 4.6 и выше

Вкратце, потому что так написана диагностика.

Надо смотреть в configure.ac, как реализованы поиск и определение версий библиотек. В данном случае это реализовано вызовом pkg-config. Кстати, есть подозрение, что Qtcreator делает так же. Далее, видим, что есть интересная опция --with-qt-name=Qt5, которая, казалось бы, позволяет заюзать Qt5, но в результирующем выхлопе наблюдаем адскую мешанину библиотек 4 и 5 версий. В общем, похоже, что здесь Qt5 не взлетит.

что сделать, чтобы Qucs начал им пользоваться и при этом этот , ещё один QT не мешал бы другим

Распаковать QT4 куда-нибудь, указать соответствующие переменные окружения для configure. Навскидку, это будут PKG_CONFIG_PATH, QT_FLAGS,QT_LIBS и куча других. Подробности в ./configure --help в корне проекта и субпроектах. Будет непросто и грустно.

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

Я хочу собрать программу из исходников, хочу освоить сборку

Для освоения ты выбрал проект, последний релиз которого был 5 лет назад, и пытаешься собрать его на свежем дистрибутиве, из которого, скорее всего, поддержка Qt4 уже выпилена. Выше уже советовали Qucs-S - форк, в котором есть поддержка Qt5.

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

Я скачал архив tar.gz, проссто распаковал его в терминале и он распаковался на готовые уже папки с иерархией , с разными файлами, в том числе и запускаемыми, но они не запускаются. есть даже просто Qucs не запускается ни одна, права, естетвенно есть, открыл, уж это я всё-таки умею . Есть у меня второй вариант, распакованный архив-дистрибутив, его я хочу собрать, и выскакивает ошибка о слишком старо библиотеке, хотя обе стоящие

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

Я хочу собрать программу из исходников, хочу освоить сборку, раньше получалось, но не всегда, просто читал rreadme, в этот раз никак не помогло

Типовая сборка программ под Linux. Что делать, если нет файла configure, какие системы сборки бывают

Но вообще для сборки старых Qt-проектов проще всего установить старый Qt:

https://download.qt.io/archive/qt/4.8/4.8.7/

И скомпилить его в старом QtCreator.

Или тебе придется запустить старый qmake от старого qt с полным путем, типа:

/opt/qt_4_8_7/4.8.7/gcc_64/bin/qmake .
Не забыть про точечку, а потом make, а потом make install или checkinstall.

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

не ставится этот qucs-s , всё тоже самое, то ему configure нет, потом и aclocal, его у него тоже нет, readme содержит , вижу стандартную , одну и ту-же фразу, возьмите ./configure , которого нигде нет и играйтесь. Ни у одного из них нет этого configure даже даже получится начать компиляцию , то библиотека не та, вот в этом варианте и продвинулся больше всего. Поэтому больше всего продвинулся именно вначале, когда дошёл до нехватки библиотеки, с qucs-s ещё хуже, поскольку с этим aclocal ровно тоже самое, чтобы уже его поставить, у него у самого тоже configure.ac нет. и скачка какого-то lib.gimp2 переход в папку , куда это всё закачалось и make привело к очередному «нет configure» для этого . Вот это сделал,советуют в интернете: sudo apt-get install libgimp2.0-dev Дождитесь завершения установки, затем перейдите в директорию, в которой находится плагин, и введите следующую последовательность команд: Код: [Выделить] make sudo make install.

То есть Install самого aclocal тоже не выходит, по точно такой-же схеме. Тут кто-то свою инструкцию мне любезно выкатил, может быть и вы , теперь по ней буду пробовать

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

Переменые окружения я только в windows когда то устанавливал. файлов configere я нигде не вижу, хотя там полно всего, возможно неправильно распаковывал?

вот это у меня там, в папке, что касается этого Qucs-s, который должен поддерживаться уже qt5,6

AUTHORS COPYING qucs RELEASE ChangeLog doxygen qucs-activefilter THANKS cmake examples qucs-attenuator TODO CMakeLists.txt Info.plist qucs-filter translations compile_flags.txt library qucs-powercombining VERSION config.h.cmake NEWS.md qucs-transcalc contrib NEWS_qucs README.md converter PLATFORMS README_qucs

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

да, я именно с ним сегодня повозился с таким -же результатом configure нет , потом aclocal не работает, а потом ему самому , чтобы его установить требуется свой configure/

по этой ссылке, мне дали

https://webhamster.ru/mytetrashare/index/mtb0/1578661862bm1dc2ye7f?ysclid=lpi8w7sci9420451876

я прошёл, скачал, но точно с таким же текстом, скачанным в другом месте я уже пользуюсь. readme стереотипные и бесполезные, причём одинаково бесполезные, затыка в одном и том-же месте

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

Стоп! В qucs-s-то зачем configure и aclocal? Он же уже на cmake.

Сходи на https://github.com/ra3xdh/qucs_s

И почитай раздел Compiling, там всё разжёвано.

Ну разве что надо убедиться, что стоят dev-пакеты для Qt5 (6), они в разных дистрибутивах могут по-разному называться. Для дебианоподобных, к которым относится и минт, скорее всего, надо накатить qt5-qmake qtbase5-dev libqt5scripttools5 qttools5-dev-tools.

После этого выполняем то, что в Compiling написано.

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

Ожидаемо. С такими навыками не стоит тратить время на сборку старого Qucs’а на новом дистрибутива. Перед этим надо много курить мануалы по тем же autotools и Qt’ной системе сборки. Или воспользоваться дистрибуитвом (например, Debian < 11), где Qt4 есть в репозитории.

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

ага, спасибо, вот я и привёл тут содержимое разархивированной папки, поскольку засомневался, что правильно разархивировал , либо делаю не то! Спасибо! Завтра буду читать ,но почему же тогда в их readme было опять написано пр о ./configure?, они что, авторы программ этот readme друг у друга переписывают, независимо от того, что сами насегодня поесть предложили?

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

этого может быть достаточно если все библиотеки стоят, команда будет выглядеть вот так:

mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr && make && sudo make install

что ./configure, что скрипты cmake’a восновном видят библиотеки установленные из пакетов системы, включая их dev/devel компаньены. Но перед тем как делать make install особенно для библиотек, советую освоить инструмент быстрого заворачивания собранного в пакеты типа checkinstall, иначе система быстро придет в негодность и придется переустанавливать

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

в установщике пакетов дистрибутива у каждого дистрибутива они свои apt, yum и т.д. и пакеты могут называться немного по разному, надо пользоваться поиском по пакетам, например искать по qt5 и выбирать из результатов наиболее похожее

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

не ставится этот qucs-s , всё тоже самое, то ему configure нет, потом и aclocal, его у него тоже нет, readme содержит , вижу стандартную , одну и ту-же фразу, возьмите ./configure , которого нигде нет

Гляжу в книгу, вижу фигу.

anonymous
()
Ответ на: комментарий от Alex233

Вторая ссылка не работает

Скачивание с qt.io заблокировано для России и Белоруссии как минимум. Такие времена, используй vpn.

Мне бы самому как-то научиться это всё отыскивать, где почитать о том, где всё это брать ?

Нет никаких однотипных шагов для сборки проектов. Есть много проектов типа твоего заброшенного qucs, с которым надо разбираться отдельно. И вопрос надо ли копаться в говне мамонта, где ничего кроме говна найти нельзя. Это пустая трата времени. Возьми маленький самодостаточный проект для пробы, например libjpeg, и собери его. Потом что-нибудь посложнее - libjpeg-turbo, например. Потом ещё посложнее.

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

Добрый вечер , меня всё устраивает, но есть непонятки, встал на первой же операции: make

CMake Error at CMakeLists.txt:37 (find_package): Found package configuration file:

/usr/lib/x86_64-linux-gnu/cmake/Qt6/Qt6Config.cmake

but it set Qt6_FOUND to FALSE so package «Qt6» is considered to be NOT FOUND. Reason given by package:

Failed to find Qt component «LinguistTools».

Expected Config file at «/usr/lib/x86_64-linux-gnu/cmake/Qt6LinguistTools/Qt6LinguistToolsConfig.cmake» does NOT exist

Как понимаю, есть конфликт с QT6, его поддерживают в принципе, но не хватает какого -то LinguistTools, это мне совсем непонятно. А вообщеесть, где это системно почитать, чтоббы всё эт понимать, ну вот скопирую я эти команды, допустим они выполнятся, а как что- снова ничего непонятн и снова находиться в ситуации, что надо искать неизвестно что. Где есть такая литература, толковая , а не сыпанье терминами, чтобы оглушить, с объяснением, как тм сделано, чтобы понимать, почему надо так и эдак?? Все книги по програмированию очень коротко о сборке и больше о своей сборке, своего,а не таких проектов, где путанца с библиотеками, где пакет номинально поддерживает, как тут и 5 и 6 , а потом , при компиляции начинаеься , что «видим, но не хотим видеть, считаем , что не видно», и больше никаких рахъяснений, а переход к тому, что не хватает каой-то библиотеки, которую непонятно где, откуда и как брать ?

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

Так топик стартер сам написал что собирает через bootstrap/autogen, я ему и дал ссылку. Заодно показал как из qmake получить Makefile. Что он там на самом деле ковыряет, какую древность, мне неведомо.

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

Вот поэтому и не стоит буквально отвечать на вопросы, подпадающие под проблему XY.

Хотя сочетание Qt+autotools, которое, оказывается, было в оригинальном Qucs — это сильно, конечно. Я что-то навскидку больше и не помню таких проектов.

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

Хотя сочетание Qt+autotools, которое, оказывается, было в оригинальном Qucs — это сильно, конечно. Я что-то навскидку больше и не помню таких проектов.

Вот проект, который до Qt4 использовал autotools.

NickNotNick
()
Ответ на: комментарий от Alex233

Expected Config file at «/usr/lib/x86_64-linux-gnu/cmake/Qt6LinguistTools/Qt6LinguistToolsConfig.cmake» does NOT exist

Как бы всё это нужно поставить, раз ты собираешься компилировать программы:

sudo apt install qt6-tools-dev
EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)