LINUX.ORG.RU

Calculate(Gentoo) QT5

 , , , ,


0

2

Люди добрые помогите. В GNU/Linux я новичок. Установил себе дистрибутив Calculate Linux Desktop 14 XFCE: i686, x86_64, отечественная разработка, полностью совместимая с Gentoo. По умолчанию там установлена Qt version 4.8.5. А мне нужно в использовании QT version 5.3.2. так как там есть поддержка QtSerialPort, и которой нет в Qt version 4.8.5. Чтоб установить из Portage Qt version 5.3.2., мне необходимо было удалить Qt version 4.8.5. Но после этого удаления у меня перестали работать некоторые программы, а именно программа обновления Calculate Linux. И когда я установил Qt version 5.3.2., она все равно не работала. Но не в этом суть. Я с сайта Qt Project скачал Qt version 5.3.2., и установил его. Там все работает идеально, нет нареканий, но есть одно он. Я не пользуюсь QT Creator, а пользуюсь IDE Eclipse + QT Designer + CMake (я извращенец). И у меня не работает правильно CMake, так как путь к qmake в системе прописан для Qt version 4.8.5 (это мое предположение, так как если я установлю Qt version 5.3.2 из Portage, то все работает нормально.). Подскажите люди добрые, где мне изменить путь к qmake на новый путь, туда куда я установил Qt version 5.3.2. из бинарников.

В настройках еклипса наверняка можно указать, где лежит qmake. Укажи нужный.

WRG ★★★★ ()

В любом Linux дистрибутиве, если у вас, конечно, не Linux From Scratch (LFS) собирать что-то из исходников в обход системы управления пакетами и в частности зависимостями - это плохо.

У вас Calculate, так что можно считать, что это Gentoo, поэтому вам нужно было всё ставить посредством emerge.

Если в основном дереве portage нет qt5, то значит нужно смотреть оверлеи, 100% вам нужен оверлей qt, собственно тоже самое написано на gentoo wiki: http://wiki.gentoo.org/wiki/Qt/Qt5

Подключаете этот оверлей и ставите оттуда qt5.

Теперь по поводу графической утилиты управления пакетами, если он была собрана с использованием qt4, то естественно сейчас она у вас без qt4 работать не будет.

У вас либо должно стоять в системе и qt4 и qt5, либо в qt5 должна быть активирована поддержка qt4.

Сейчас вам нужно установить qt5 правильно в систему, а именно подключить оверлей qt и установить посредством emerge qt5, смотрите приведённую ссылку на gentoo wiki, затем, можете пробовать пересобрать пакет с графической утилитой, если она вам нужна, ну либо просто продолжайте пользоваться стандартным для gentoo инструментом установки пакетов, а именно emerge.

Ещё раз, то что вы сейчас сделали:

Я с сайта Qt Project скачал Qt version 5.3.2., и установил его.

это неправильно, вы должны делать всё через пакетный менеджер выбранного вами дистрибутиве и естественно разбираться в тонкостях работы с ним.

kostik87 ★★★★★ ()

В Calcualate (Gentoo) есть пакет qtchooser, разбирайтесь как с ним работать, ну и ещё раз никогда не ставьте что-либо в систему в обход пакетного менеджера, в особенности, если вы новичок в Linux.

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

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

Ах да, и не слушай тех, кто советует что-то там компилировать вручную - все делается нормально парой команд. Пятая версия есть в оверлее qt.

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

Ой, извиняюсь. Я мельком глянул именно твой комментарий и просто не заметил что там пишется про то, что компилять в обход - плохо. Поторопился.

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

Я установил QT 5.3.2 через Portage, оверлей тоже подключал, там сейчас самая свежая версия QT 5.4.beta. Calculate-update я тоже удалил и заново установил. Не работает. На форуме Calculate писал об этом, пока не ответили.

druidcat ()
Ответ на: комментарий от kostik87

qtchooser

Все из-за этого пакета qtchooser, он не ставится, пока установлен Qt version 4.8.5.. Я удалил бибилиотеки Qt version 4.8.5. на которые ругался qtchooser, установил его и после этого установил Qt version 5.3.2. А у этого пакета есть какой то функционал? Если есть, помогите мне с ним разобраться.

druidcat ()
Ответ на: комментарий от LightDiver

Второй слот

А что такое второй слот? Дай ссылку, желательно на русском, я постараюсь разобраться. Может действительно установить две версии QT 4.8.5 и QT 5.3.2. А то устал танцевать с бубном вокруг Calculate и QT.

druidcat ()
Ответ на: комментарий от Bfgeshka

qmake

В Portage версия 1.6 замаскированная. А у меня стоит версия 2.01a.

druidcat ()
Ответ на: комментарий от WRG

Eclipce и qmake

У меня стоит Eclipce Luna, ты случаем не знаешь где именно нужно прописать путь до qmake? Как я уже понял - это будет не правильный ход, но самый простой в данном случае.

druidcat ()
Ответ на: qtchooser от druidcat

А всё потому, что вы должны размаскировать версию qt-4.8.6 и установить её, а затем совместно ставить из оверлея qt5.

Вот зависимости пакета qtcooser:

RDEPEND="
        !<dev-qt/assistant-4.8.6:4
        !<dev-qt/designer-4.8.6:4
        !<dev-qt/linguist-4.8.6:4
        !<dev-qt/pixeltool-4.8.6:4
        !<dev-qt/qdbusviewer-4.8.6:4
        !<dev-qt/qt3support-4.8.6:4
        !<dev-qt/qtbearer-4.8.6:4
        !<dev-qt/qtcore-4.8.6:4
        !<dev-qt/qtdbus-4.8.6:4
        !<dev-qt/qtdeclarative-4.8.6:4
        !<dev-qt/qtdemo-4.8.6:4
        !<dev-qt/qtgui-4.8.6:4
        !<dev-qt/qthelp-4.8.6:4
        !<dev-qt/qtmultimedia-4.8.6:4
        !<dev-qt/qtopengl-4.8.6:4
        !<dev-qt/qtopenvg-4.8.6:4
        !<dev-qt/qtphonon-4.8.6:4
        !<dev-qt/qtscript-4.8.6:4
        !<dev-qt/qtsql-4.8.6:4
        !<dev-qt/qtsvg-4.8.6:4
        !<dev-qt/qttest-4.8.6:4
        !<dev-qt/qtwebkit-4.8.6:4
        !<dev-qt/qtxmlpatterns-4.8.6:4
"
как видите версия qt должны быть не ниже qt-4.6.

Можете ставить и не из оверлея, а из основного дерева portage Gentoo, там сейчас есть 5-я версия, к примеру, пакет qtcore:

$ eix -I qtcore                                                                                                                                                                                              
 dev-qt/qtcore                                                                                                                                                                                                                
     Available versions:                                                                                                                                                                                                         
     (4)    4.8.5-r2{tbz2} (~)4.8.6-r1{tbz2}                                                                                                                                                                                     
     (5)    [M](~)5.3.2-r1^t                                                                                                                                                                                                     
       {aqua debug +exceptions +glib iconv icu pch qt3support ssl test ABI_MIPS=«n32 n64 o32» ABI_PPC=«32 64» ABI_S390=«32 64» ABI_X86=«32 64 x32»}                                                                              
     Installed versions:  4.8.6-r1(4){tbz2}(14:13:01 29.11.2014)(exceptions glib iconv icu qt3support ssl -aqua -debug -pch ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86=«64 -32 -x32»)                
     Homepage:            https://www.qt.io/ https://qt-project.org/                                                                                                                                                             
     Description:         Cross-platform application development framework 
Как видите есть два слота, слот 4 и слот 5, 5-я версия сейчас замаскирована, почитайте в Internet, ну или на gentoo wiki как размаскировать пакеты.

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

Слот

Я понял про что ты мне говоришь. А как ты посмотрел зависимости пакета, если не секрет? Размаскировывать я знаю как. Блин, все дело было в QT 4.8.6-r1, я его установлю. После этого поставлю dev-qt/qtchooser, после этого поставлю QT 5.3.2. Так? QT 5.3.2. Автоматически в пятый слот установится? И еще один вопрос, там пакетов QT, который нужно размаскировать, очень много. Я делаю таким образом:

emerge --autounmask-write =dev-qt/qtdeclarative-5.3.2
dispatch-conf
emerge --autounmask-write =dev-qt/qtopengl-5.3.2-r1
dispatch-conf
.................
.................
.................

И так далее, это, мягко говоря геморойно. Пробовал так:

emerge --autounmask-write =dev-qt/qtdeclarative-5.3.2
emerge --autounmask-write =dev-qt/qtopengl-5.3.2-r1
.................
.................
.................
тут пишется, что куча изменений произошло, около 33 Пишу:
dispatch-conf

Выбираю U, и размаскировывается только dev-qt/qtdeclarative Есть ли способ размаскировки кучи пакетов в более автоматическом режиме. Просто у меня уходит примерно 4 часа на установку QT 5.3.2. Я уже три раза так тренировался, устал, мягко говоря торчать за компьютером 12 часов.

druidcat ()
Ответ на: Слот от druidcat

Не надо использовать autounmask, он создаст вам только больше проблем.

Всё размаскируется в ручную:

# cd /usr/portage/dev-qt 
# ls -1 | while read atom ; do echo dev-qt/$atom ~amd64>> /etc/portage/package.keywords ; echo dev-qt/$atom >> /etc/portage/package.unmask ; done 
Если у вас 32 битная система, то вместо ~amd64 указывайте ~x86.

Просто у меня уходит примерно 4 часа на установку QT 5.3.2. Я уже три раза так тренировался, устал, мягко говоря торчать за компьютером 12 часов.

Естественно всё зависит от производительности вашего ПК, у меня на ноутбуке с Core I3-2370M сборка вот этих пакетов:

$ eix -I dev-qt/* -cC
[I] dev-qt/designer (4.8.6-r1(4){tbz2}@29.11.2014): WYSIWYG tool for designing and building Qt-based GUIs
[I] dev-qt/qt3support (4.8.6-r1(4){tbz2}@29.11.2014): The Qt3Support module for the Qt toolkit
[I] dev-qt/qtchooser (0_p20140613{tbz2}@29.11.2014): Qt4/Qt5 version chooser
[I] dev-qt/qtcore (4.8.6-r1(4){tbz2}@29.11.2014): Cross-platform application development framework
[I] dev-qt/qtdbus (4.8.6-r1(4){tbz2}@29.11.2014): The D-Bus module for the Qt5 framework
[I] dev-qt/qtdeclarative (4.8.6-r1(4){tbz2}@29.11.2014): The QML and Quick modules for the Qt5 framework
[I] dev-qt/qtgui (4.8.6-r1(4){tbz2}@29.11.2014): The GUI module and platform plugins for the Qt5 framework
[I] dev-qt/qtopengl (4.8.6-r1(4){tbz2}@29.11.2014): OpenGL support library for the Qt5 framework
[I] dev-qt/qtscript (4.8.6-r1(4){tbz2}@29.11.2014): Application scripting library for the Qt5 framework
[I] dev-qt/qtsql (4.8.6-r1(4){tbz2}@29.11.2014): SQL abstraction library for the Qt5 tooolkit
[I] dev-qt/qtsvg (4.8.6-r1(4){tbz2}@29.11.2014): SVG rendering library for the Qt5 framework
[I] dev-qt/qttest (4.8.6-r1(4){tbz2}@29.11.2014): Unit testing library for the Qt5 framework
[I] dev-qt/qttranslations (4.8.6-r1(4){tbz2}@29.11.2014): Translation files for the Qt5 framework
[I] dev-qt/qtwebkit (4.8.6-r1(4){tbz2}@29.11.2014): WebKit rendering library for the Qt5 framework
[I] dev-qt/qtxmlpatterns (4.8.6-r1(4){tbz2}@29.11.2014): XPath, XQuery, and XSLT support library for the Qt5 framework
Заняла примерно 1,5 часа, это на вскидку, я не засекал время, просто обновлял KDE, так что, возможно, и меньше.

Собирал в несколько потоков.

Если у вас относительно слабый ПК, то Calculate (Gentoo) вам лучше было не ставить, ну либо ждите пока в Calculate появятся бинарные пакеты (собранные) нужных вам версий QT.

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

А сейчас попробовал сделать, как ты сказал:

# cd /usr/portage/dev-qt 
# ls -1 | while read atom ; do echo dev-qt/$atom ~amd64>> /etc/portage/package.keywords ; echo dev-qt/$atom >> /etc/portage/package.unmask ; done 
В этом коде не указывается версия, которую я хочу размаскировать. потом попытался установить:
emerge dev-qt/qtcore
Он устанавливает старую версию 4.8.5, которая уже стоит. А мне нужно 4.8.6. Что я делаю не правильно?

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

А он у вас есть? Посмотрите содержимое /usr/portage/dev-qt/qtcore/ .

Можете воспользоваться утилитой eix для более простого получения информации о доступных пакетах, их флагах, версиях и состоянии маскировки:

emerge eix
eix-update
eix qtcore

kostik87 ★★★★★ ()

А мне нужно в использовании QT version 5.3.2. так как там есть поддержка QtSerialPort, и которой нет в Qt version 4.8.5.

Блин, ну что за голословное утверждение? В ВИКИ заглянуть не судьба http://qt-project.org/wiki/QtSerialPort_Russian ?

Там черным-по-белому написано, что QtSerialPort можно использовать и в Qt 4.8.

ЗЫ: Блин, достали уже такие высказывания. Люди, вы хоть-бы пошарились в инете перед тем как писать всякую хрень в части QtSerialPort .

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

SerialPort

Может быть, я не утверждаю. Но в Portage доступна версия только для 5.3.2.. Если вы мне подскажите, как установить эту библиотеку на gento для QT 4.8.5. я вам буду крайне благодарен и перестану танцевать с бубном вокруг QT 5.3.2. Лично для меня не имеет значения каким: QT4 или QT5 пользоваться, главное SerialPort, так как я занимаюсь разработкой визуальных интерфейсов для всяких разных измерительных приборов, которые сам же паяю.

druidcat ()
Ответ на: SerialPort от druidcat
* dev-qt/qtserialport
     Available versions:  (5) [M]~5.3.2^t
       {debug test}
     Homepage:            https://www.qt.io/ https://qt-project.org/
     Description:         Serial port abstraction library for the Qt5 framework
druidcat ()
Ответ на: комментарий от druidcat

kuzulis

Я вспомнил, как я с вами, мной уважаемый kuzulis, общался. Спасибо за ваш труд и за вашу замечательную библиотеку QtSerialPort. Благодаря именно вам и вашей библиотеке я выбрал для изучения QT. Спасибо!!!

druidcat ()
Ответ на: kuzulis от druidcat

РЕШЕНО

Хочу отписаться по этой теме. У меня все получилось! Удалил 4.8.5., после этого поставлю dev-qt/qtchooser, потом установил QT 4.8.6-r1. И вторым слотом установил QT 5.3.2. Связка Eclipse + CMake + QT Designer в работе в Calculate(Gentoo) GNU/Linux. Обновления в Calculate GNU/Linux и прочие приложения написанные на QT запускаются! Всем спасибо за помощь!

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