3

Я пытаюсь скомпилировать и установить программное обеспечение. Когда я делаю ./configure . Я получаю следующую ошибку:

проверка на Qt ... configure: error: Qt (> = Qt 3.0.2) (заголовки и библиотеки) не найдены. Пожалуйста, проверьте вашу установку!

Поэтому я устанавливаю следующий пакет, думая, что это решит проблему.

sudo apt-get install libqt4-dev

Я думал, что libqt4-dev установит заголовки и библиотеки. Тем не менее, я все еще получаю ту же проблему.

Есть идеи?

Ubuntu 9.10
ядро 2.6.31-20-универсальный


Изменить: я пытаюсь установить 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 ответа3

1

Ммм ... похоже, ваша программа зависит от Qt 3, а не от Qt 4.

1

Вслед за 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.

1

Во-первых, есть две проблемы с вашей существующей командой ./configure :

  1. --with-qt-libraries= должен указывать на /usr/lib/qt3 вместо /usr/lib/, если только вы не установили библиотеки Qt3 вручную и не знаете, что они находятся в этом месте.

  2. --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 в качестве потенциальной замены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .