Ммм ... похоже, ваша программа зависит от Qt 3, а не от Qt 4.
Установка Qt заголовков и библиотек
Я пытаюсь скомпилировать и установить программное обеспечение. Когда я делаю ./configure
. Я получаю следующую ошибку:
проверка на Qt ... configure: error: Qt (> = Qt 3.0.2) (заголовки и библиотеки) не найдены. Пожалуйста, проверьте вашу установку!
Поэтому я устанавливаю следующий пакет, думая, что это решит проблему.
sudo apt-get install libqt4-dev
Я думал, что libqt4-dev установит заголовки и библиотеки. Тем не менее, я все еще получаю ту же проблему.
Есть идеи?
Ubuntu 9.10
kernel 2.6.31-20-generic
Изменить: я пытаюсь установить kgraphspace-0.3.0-pre1 . Я установил KDE с помощью «sudo apt-get install kde-devel» . Мои KDE 3 include находятся в / usr / include / KDE, а общие библиотеки в / usr / lib / kde4 .
Я пытаюсь запустить эту команду:
./configure --with-qt-includes=/usr/include/qt3/ --with-qt-libraries=/usr/lib/ --prefix=/usr/lib/kde4
... и я получаю следующую ошибку:
checking for KDE... configure: error: in the prefix, you've chosen, are no KDE libraries installed. This will fail. So, check this please and use another prefix!
Что мне не хватает?
3 ответа на вопрос
Вслед за akira, вероятно, будет пакет deb, обеспечивающий совместимость с Qt 3, но с установленным Qt 4. В Debian эти пакеты называются такими вещами, как libqt3-headers, libqt3-mt, libqt3mt-dev и т. Д. Попробуйте установить некоторые из них, если вы компилируете из исходного кода, вам, вероятно, потребуются версии dev, а также простые пакеты.
[EDIT] KDE 3 и KDE 4 несовместимы друг с другом, поскольку KDE 3 зависит от Qt 3, а KDE 4 зависит от Qt 4. Я не знаю, является ли это причиной ваших проблем, но вы, похоже, ставите свой KDE 4 установка в качестве префикса, попробуйте KDE 3 вместо.
Во-первых, у вашей ./configure
команды есть две проблемы :
--with-qt-libraries=
должен указывать на / usr / lib / qt3 вместо / usr / lib /, если только вы не установили библиотеки Qt3 вручную и не знаете, что они находятся в этом месте.--prefix=
Необходимо указать базовое местоположение, где будет установлен пакет . Это не указывает на что-либо необходимое для компиляции пакета. / usr / lib / kde4, вероятно, плохой выбор; вам нужно добавить его в $ PATH для выполнения программы. Скорее всего, вы хотите--prefix=/usr/local
или--prefix=$HOME
, чтобы установить либо в / usr / local / bin или / home / [username] / bin, либо придерживаться настройки программы по умолчанию ( / usr / local / kde ).
На достаточно чистой виртуальной машине Ubuntu 9.10 мне нужно было установить эти пакеты и их зависимости.
sudo apt-get install libqt3-headers libqt3-compat-headers libqt3-mt-dev qt3-dev-tools qt3-dev-tools-compat kdelibs4-dev
Кроме того, ./configure
проверяются некоторые инструменты, входящие в состав aRts - команды mcopidl и artsc-config, которые больше не включены ни в какие пакеты KDE в стандартных репозиториях Ubuntu. aRts была старой звуковой библиотекой KDE, и я считаю, что она была полностью заменена или включена.
Я понятия не имею, требует ли kgraphspace звуковой функционал, поэтому я создал сценарии оболочки $ HOME / bin / mcopidl и $ HOME / bin / artsc-config, которые содержат только это:
#!/bin/sh echo "Hiya"
Этого достаточно, чтобы выполнить ./configure
проверки, но они не будут работать должным образом, если эти программы действительно вызываются во время компиляции.
Согласно веб-поиску репозитория Ubuntu, настоящие программы в последний раз были доступны в Ubuntu 8.10 (Intrepid). Если вам действительно нужен kgraphspace, подумайте об установке Ubuntu 8.04. (Hardy был LTS-релизом той эпохи, и его хранилища будут примерно дольше, чем Intrepid.)
Вот моя рабочая ./configure
команда (опции для ясности разбиты на отдельные строки):
./configure --with-qt-includes=/usr/include/qt3 --with-qt-libraries=/usr/lib/qt3 --prefix=/usr/local
К сожалению, make
умирает со следующей ошибкой, и это насколько я могу попытаться скомпилировать это программное обеспечение:
make[3]: Entering directory `/home/quack/test/kgraphspace-0.3.0-pre1/kgraphspace' source='ktypesstats.cpp' object='ktypesstats.o' libtool=no \ depfile='.deps/ktypesstats.Po' tmpdepfile='.deps/ktypesstats.TPo' \ depmode=gcc3 /bin/bash ../admin/depcomp \ g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/kde -I/usr/include/qt3 -I. -Wall -Wall -c -o ktypesstats.o `test -f 'ktypesstats.cpp' || echo './'`ktypesstats.cpp ktypesstats.cpp: In member function ‘QString KTypesStats::getFileType(const char*)’: ktypesstats.cpp:112: error: invalid conversion from ‘const char*’ to ‘char*’ make[3]: *** [ktypesstats.o] Error 1
Вы можете попробовать установить более раннюю версию GCC4 ( gcc-4.1 или gcc-4.2 ), поскольку эта ошибка Gentoo указывает на проблемы компиляции с GCC 4.3 (Ubuntu 9.10 предоставляет GCC 4.4 по умолчанию).
Однако один из комментариев указывает на то, что kgraphspace - это мертвый проект, последний раз обновленный в 2002 году. Комментатор рекомендует Filelight в качестве потенциальной замены.
Похожие вопросы
-
4
Есть ли способ компиляции из исходного кода и автоматического отслеживания обновлений?
-
8
Как вы отслеживаете, какие пакеты были установлены в Ubuntu (Linux)?
-
7
Как вы отслеживаете, какие пакеты были установлены в Fedora (Linux)?
-
-
8
Найти, к какому пакету принадлежит файл в Ubuntu / Debian?
-
7
Какие компоненты ПК оказывают наибольшее влияние на время компиляции для Visual Studio?
-
2
Получить информацию об установленных пакетах Ubuntu
-
4
Как мне вернуться к альтернативной версии пакета в Ubuntu?
-
4
MacPorts не устанавливает пакет
-
3
Ubuntu: Что они делают с ванильными источниками?
-
5
Как изменить пакет deb?