Компиляция приложений в Debian

Автор sCode, 14 февраля 2011, 17:57:26

« назад - далее »

0 Пользователи и 14 гостей просматривают эту тему.

wwnet

Дабы не плодить новых тем...
Есть проблемма. Пробую компилировать исходники, и не получается.
Проблемма в следующем:
1. Скачиваю архив.
2. Распаковываю.
3. Захожу в директорию.
4. ./configure
Конфигурация проходит гладко, всё норм.
5. Далее при make, make install, или cheскinstall (или cheскinstall -D) cыпят варнинги, заканчивается ошибкой:
codemodel.h:99:13: note: declarations in dependent base 'QMultiHash<QByteArray, CodeModel::Type*>' are not found by unqualified lookup
codemodel.h:99:13: note: use 'this->insert' instead

Я так понимаю, у меня не собран компилятор. На команды:
./bootstrap
./autogen.sh
aclocal
autoheader
automake --gnu --add-missing --copy --foreign
autoconf -f -Wall
Ответ один и тот же на каждую-"нет такого файла".
Пакеты  build-essential, autoconf, automake, checkinstall, auto-apt, qmake, библиотеки-я установил. Сырцы-qt.
:) если не сложно-загляните на мой сайт. С вас не убудет, а мне-трафик  тыц

ferum

Русские дебианщики против цифрового слабоумия !

wwnet

Программы  https://www.linux-apps.com/content/show.php/scOpe?content=140330
И зависимой библиотеки (при нажатии на эту ссылку начнётся загрузка)  https://download.qt.io/archive/qt/4.5/qt-x11-opensource-src-4.5.0.tar.gz
Вывод команд и ошибок на оба сырца аналогичен, и ничем не отличается. Ни компилируется с одинаковыми ошибками.
:) если не сложно-загляните на мой сайт. С вас не убудет, а мне-трафик  тыц

ferum

На вскидку в глаза бросается один момент из INSTALL Qt4.5

To configure the Qt library for your machine type, run the
    ./configure script in the package directory.

    By default, Qt is configured for installation in the
    /usr/local/Trolltech/Qt-4.5.0 directory, but this can be
    changed by using the -prefix option. Alternatively, the
    -prefix-install option can be used to specify a "local"
    installation within the source directory.

        cd /tmp/%DISTNAME%
        ./configure

    Type "./configure -help" to get a list of all available options.

    To create the library and compile all the demos, examples, tools,
    and tutorials, type:


Ошибка в вашем выводе говорит о том что что то где то не найдено. Естественно детальнее надо разбираться пробуя компилировать.
Русские дебианщики против цифрового слабоумия !

wwnet

#34
Цитата: ferum от 08 июня 2017, 22:14:50Ошибка в вашем выводе говорит о том что что то где то не найдено. Естественно детальнее надо разбираться пробуя компилировать.
Как я и говорил, конфигурация проходит. Стал проходить и make, если вводить дополнительные флаги. sudo make install заканчивается ошибкой:
make: *** [sub-tools-install_subtargets-ordered] Ошибка 2
Мне всё таки не даёт покоя:
ЦитироватьНа команды:
./bootstrap
./autogen.sh
aclocal
autoheader
automake --gnu --add-missing --copy --foreign
autoconf -f -Wall
Ответ один и тот же на каждую-"нет такого файла".
Почему?

Cообщение объединено 09 июня 2017, 02:48:46

Скомпилировал.
Теперь непонятно как выполнить последний шаг инструкции установки библиотек QT 4.5.0
Цитировать4.  Environment variables

    In order to use Qt, some environment variables needs to be
    extended.

        PATH               - to locate qmake, moc and other Qt tools

    This is done like this:

    In .profile (if your shell is bash, ksh, zsh or sh), add the
    following lines:

        PATH=/usr/local/Trolltech/Qt-4.5.0/bin:$PATH
        export PATH

    In .login (in case your shell is csh or tcsh), add the following line:

        setenv PATH /usr/local/Trolltech/Qt-4.5.0/bin:$PATH

    If you use a different shell, please modify your environment
    variables accordingly.

    For compilers that do not support rpath you must also extended the
    LD_LIBRARY_PATH environment variable to include
    /usr/local/Trolltech/Qt-4.5.0/lib. On Linux with GCC this step
    is not needed.
У меня такого файла .profile в системе нет. В QtCreator исполнительный файл тоже не добавляется. Не совсем понятно, чего от меня хочет данная инструкция.
:) если не сложно-загляните на мой сайт. С вас не убудет, а мне-трафик  тыц

ferum

По идее если путей нет их надо создать , иначе скомпилированным файлам не куда устанавливаться.
Русские дебианщики против цифрового слабоумия !

wwnet

А где и как их создавать? Я гуглю, и не найду ответа.
:) если не сложно-загляните на мой сайт. С вас не убудет, а мне-трафик  тыц

alsoijw

Цитата: wwnet от 08 июня 2017, 13:43:52Я так понимаю, у меня не собран компилятор.
К компилятору это не имеет отношения.
Цитата: wwnet от 08 июня 2017, 13:43:52
5. Далее при make, make install, или cheскinstall (или cheскinstall -D) cыпят варнинги, заканчивается ошибкой:
codemodel.h:99:13: note: declarations in dependent base 'QMultiHash<QByteArray, CodeModel::Type*>' are not found by unqualified lookup
codemodel.h:99:13: note: use 'this->insert' instead

Это полный вывод ошибок? Свяжись с автором либо поправь код сам.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

wwnet

Цитата: alsoijw от 09 июня 2017, 17:37:45Это полный вывод ошибок? Свяжись с автором либо поправь код сам.
Это было бы справедливо, если б не тот факт, что у знакомого на его компе всё скомпилировалось. А у меня-нет.
:) если не сложно-загляните на мой сайт. С вас не убудет, а мне-трафик  тыц

ogost

#39
Как же научить вас полностью отвечать на вопросы?! ЭТО ПОЛНЫЙ ВЫВОД? Поверьте, мы хотим вам помочь, но подобные неполные ответы лишь отбивают все желание, ибо нужно по десять раз всё переспрашивать

Cообщение объединено 10 июня 2017, 16:19:27

PS: не имею ввиду конкретно вас, но почти всех новичков.

wwnet

#40
Цитата: ogost от 10 июня 2017, 16:04:30Как же научить вас полностью отвечать на вопросы?! ЭТО ПОЛНЫЙ ВЫВОД? Поверьте, мы хотим вам помочь, но подобные неполные ответы лишь отбивают все желание, ибо нужно по десять раз всё переспрашивать
После переустановок/удаления разных пакетов, при команде make install -d вывод терминала следующий:
ssl/qsslsocket_openssl_symbols_p.h:257:16: error: variable or field 'q_sk_free' declared void
void q_sk_free(STACK *a);
                ^
ssl/qsslsocket_openssl_symbols_p.h:257:16: error: 'STACK' was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:257:23: error: 'a' was not declared in this scope
void q_sk_free(STACK *a);
                       ^
ssl/qsslsocket_openssl_symbols_p.h:258:14: error: 'STACK' was not declared in this scope
int q_sk_num(STACK *a);
              ^
ssl/qsslsocket_openssl_symbols_p.h:258:21: error: 'a' was not declared in this scope
int q_sk_num(STACK *a);
                     ^
ssl/qsslsocket_openssl_symbols_p.h:259:19: error: 'STACK' was not declared in this scope
char * q_sk_value(STACK *a, int b);
                   ^
ssl/qsslsocket_openssl_symbols_p.h:259:26: error: 'a' was not declared in this scope
char * q_sk_value(STACK *a, int b);
                          ^
ssl/qsslsocket_openssl_symbols_p.h:259:29: error: expected primary-expression before 'int'
char * q_sk_value(STACK *a, int b);
                             ^
ssl/qsslsocket_openssl_symbols_p.h:259:34: error: expression list treated as compound expression in initializer [-fpermissive]
char * q_sk_value(STACK *a, int b);
                                  ^
ssl/qsslcertificate.cpp: In member function 'QMultiMap<QSsl::AlternateNameEntryType, QString> QSslCertificate::alternateSubjectNames() const':
ssl/qsslcertificate.cpp:365:5: error: 'STACK' was not declared in this scope
     STACK *altNames = (STACK *)q_X509_get_ext_d2i(d->x509, NID_subject_alt_name
     ^
ssl/qsslcertificate.cpp:365:12: error: 'altNames' was not declared in this scope
     STACK *altNames = (STACK *)q_X509_get_ext_d2i(d->x509, NID_subject_alt_name
            ^
ssl/qsslcertificate.cpp:365:31: error: expected primary-expression before ')' token
     STACK *altNames = (STACK *)q_X509_get_ext_d2i(d->x509, NID_subject_alt_name
                               ^
ssl/qsslcertificate.cpp:386:27: error: 'q_sk_free' was not declared in this scope
         q_sk_free(altNames);
                           ^
ssl/qsslcertificate.cpp: In function 'bool matchLineFeed(const QByteArray&, int*)':
ssl/qsslcertificate.cpp:689:18: warning: value computed is not used [-Wunused-value]
         *offset++;
                  ^
Підбираємо невдалий дочірній процес з PID 0x8ec9a18 12735
Makefile:10615: спроба виконання рецепта для мети «.obj/release-shared/qsslcertificate.o» зазнала невдачі
make[1]: *** [.obj/release-shared/qsslcertificate.o] Помилка 1
Вилучаємо PID дочірнього процесу 0x8ec9a18 12735 з ланцюжка.
make[1]: Залишаю каталог "/tmp/qt-x11-opensource-src-4.5.0/src/network"
Підбираємо невдалий дочірній процес з PID 0x92874c8 12592
Makefile:275: спроба виконання рецепта для мети «sub-network-make_default-ordered» зазнала невдачі
make: *** [sub-network-make_default-ordered] Помилка 2
Вилучаємо PID дочірнього процесу 0x92874c8 12592 з ланцюжка.




Cообщение объединено 11 июня 2017, 02:39:49

Ввёл make -d -no ssl .Надо было и configure так сделать... долго-долго компилит... всё, спать.
:) если не сложно-загляните на мой сайт. С вас не убудет, а мне-трафик  тыц

alsoijw

Цитата: wwnet от 09 июня 2017, 23:51:27
Это было бы справедливо, если б не тот факт, что у знакомого на его компе всё скомпилировалось. А у меня-нет.
Песенка в тему
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?