LINUX.ORG.RU

Не проходит компиляция (на моей только машине, прочтите название наконец!)

 , ,


1

3

Собственно пытаюсь научиться компилировать. Пакеты build-essential, autoconf и automake, и кучу библиотек и зависимостей поставил. Проблемма в конфигурировании. При вводе ./bootstrap или ./autogen.sh таких файлов нет. При вводе aclocal -aclocal: error: 'configure.ac' is required

Разумеется не получается, ведь компилируют так: gcc my.c -o my, или так: clang++ my.cc -o my

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

Для того чтоб компилировать, сначала нужно сконфигурировать. Не беги впереди паровоза.

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

Вопрос что компилировать в данном случае не важен

Важен.

Советую начать с азов.

Но если нужен Qt - то нужно начать с ./configure и чтение доки о сборке: https://doc.qt.io/qt-4.8/install-x11.html

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

Для того чтоб компилировать, сначала нужно сконфигурировать.

Кто сказал?

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

Я уже третьи сутки бьюсь над этим. Я пробовал просто /configure. Ну так дальше make и sudo nake install не проходят. Там в сырцах инструкция есть. Я начинающий, а не дебил )))

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

Ну так если начинающий - то показывайте логи всего, что делаете.

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

За трое суток??? Коротко так: 1. Скачиваю архив. 2. Распаковываю. 3. Захожу в директорию. 4. ./configure Далее при 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 Ответ один и тот же на каждую-«нет такого файла».

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

Ничего он не выдаст. Конфигурация пройдёт. Далее мake. Закончится это всё

  • 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 ‘insert’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
sania77 ()
  1. Зачем что то собирать из сорцев на минте?
  2. Компилирование из сорцев может привести к порче дистрибутива
  3. чтоб это не происходило, если уж так необходимо скомпилировать самостоятельно - то результат опокечивают и только потом устанавливают.
  4. Выше описаные скрипты создают сценарии, по готовым сценариям, в частности для autogen - необходим configure.ac (это тоже сценарий, makefile - тоже сценарий) - читаем про autoconf
  5. у qt qmake - это генератор сценариев, он работает с файлами pro( может сам создать шаблон проекта)
Silerus ★★★ ()
Ответ на: комментарий от Silerus

Компилирование из сорцев может привести к порче дистрибутива

Это в минте все так плохо?

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

Вот когда на минте появится файловый менеджер с эскизами в правой колонке, вот тогда я сразу же перестану искать сырцы, и нужные библиотеки к нему. Если пользователи Линукса получают удовольствие от кручения колёсика мышки для увеличения фото-то это их осознанное желание к самобичеванию. А если Минт упадёт-я не расстроюсь-поставлю другой. Ну и где этот configure.ac взять?

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

это вроде везде так, если под рутом делать что ни поподя - можно огрести

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

он должен уже лежать в сырцах (этот скрипт пишет сам программист), ищите нормальную версию, либо вы что то не то неделаете, обычно в сырцах лежат всякие README INSTALL - где описан процесс сборки

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

Та есть там файл install. Всё там написано. Всё я выполняю. А компиляция не проходит.

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

Написаны обычные вещи, она мне уже снится.

INSTALLING Qt/X11 Version 4.5.0.

1. If you have the commercial edition of Qt, install your license file as $HOME/.qt-license.

For the open source version you do not need a license file.

2. Unpack the archive if you have not done so already:

cd /tmp gunzip %DISTNAME%.tar.gz # uncompress the archive tar xvf %DISTNAME%.tar # unpack it

This creates the directory /tmp/%DISTNAME% containing the files from the archive. We only support the GNU version of the tar archiving utility. Note that on some systems it is called gtar.

3. Building

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:

make

If you did not configure Qt using the -prefix-install option, you need to install the library, demos, examples, tools, and tutorials in the appropriate place. To do this, type:

su -c «make install»

and enter the root password.

Note that on some systems the make utility is named differently, e.g. gmake. The configure script tells you which make utility to use.

If you need to reconfigure and rebuild Qt from the same location, ensure that all traces of the previous configuration are removed by entering the build directory and typing

make confclean

before running the configure script again.

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.

5. That's all. Qt is now installed.

If you are new to Qt, we suggest that you take a look at the demos and examples to see Qt in action. Run the Qt Examples and Demos either by typing 'qtdemo' on the command line or through the desktop's Start menu.

You might also want to try the following links:

http://doc.trolltech.com/4.5.0/how-to-learn-qt.html http://doc.trolltech.com/4.5.0/tutorial.html http://qtsoftware.com/developer

We hope you will enjoy using Qt. Good luck!

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

Ничего он не выдаст.

Вы или делайте что вам говорят или закрывайте тему.

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

Сейчас в очередной раз make в терминале выполняется, вывод давно заменился сотнями других строк. После ./cщnfigure написало, что деректории создало, и порекомендовало ввести make conflin. Ошибок, и другого текста-не было. Сейчас вот мелькают варнинги. Окончится это всё ошибкой, которую я написал выше.

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

Qt-4.5.0 # ls -l

  • загалом 372
  • drwxrwxrwx 2 root root 4096 чер 9 01:48 bin
  • drwxrwxrwx 20 root root 4096 чер 9 01:47 demos
  • drwxrwxrwx 5 root root 4096 чер 9 01:47 doc
  • drwxrwxrwx 28 root root 4096 чер 9 01:47 examples
  • drwxrwxrwx 18 root root 4096 чер 9 01:46 include
  • drwxrwxrwx 3 root root 4096 чер 9 01:46 lib
  • drwxrwxrwx 88 root root 4096 чер 9 01:48 mkspecs
  • drwxrwxrwx 2 root root 4096 чер 9 01:46 phrasebooks
  • drwxrwxrwx 10 root root 4096 чер 9 01:46 plugins
  • -rwxrwxrwx 1 root root 333338 лют 25 2009 q3porting.xml
  • drwxrwxrwx 2 root root 4096 чер 9 01:48 t
sania77 ()
Ответ на: комментарий от sania77

это точно все - нехватает, для сборки мгогого нет

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

Ставь готовое из репы или накатывай слаку\генту.

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

значит это не сорцы, а уже собранное, посмотрите в bin там наверняка готовые бинарники есть, если да - то не то скачали

Silerus ★★★ ()

Вступай и конпелируй! *всплакнул по началу нулевых*

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

На генте много за свет платить надо. В репе готового нет.

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

Я разные программы пробовал компилить. Вряд ли это готовое. Вот, закончился make

codemodel.h:99:13: error: ‘insert’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] { insert(collectedItem->name(), collectedItem); } ^ 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 Makefile:2677: спроба виконання рецепта для мети «.obj/release-shared/projectporter.o» зазнала невдачі make[3]: *** [.obj/release-shared/projectporter.o] Помилка 1 make[3]: Залишаю каталог «/tmp/qt-x11-opensource-src-4.5.0/tools/porting/src» Makefile:39: спроба виконання рецепта для мети «sub-src-make_default» зазнала невдачі make[2]: *** [sub-src-make_default] Помилка 2 make[2]: Залишаю каталог «/tmp/qt-x11-opensource-src-4.5.0/tools/porting» Makefile:117: спроба виконання рецепта для мети «sub-porting-make_default-ordered» зазнала невдачі make[1]: *** [sub-porting-make_default-ordered] Помилка 2 make[1]: Залишаю каталог «/tmp/qt-x11-opensource-src-4.5.0/tools» Makefile:671: спроба виконання рецепта для мети «sub-tools-make_default-ordered» зазнала невдачі make: *** [sub-tools-make_default-ordered] Помилка 2

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

QMultiHash<QByteArray, CodeModel::Type*>’ - вот эта строка говорит что мы имеем дела с qt проектом, заначит там должен быть *.pro файл

на который надо было натрафить qmake. давай ссылку на сорци

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

Для того собрать, чтоб собрать другую прогу, у которой qt 4.5 в зависимостях

sania77 ()

Какой глупый тред. Я просто уверен, что его создал PHP-““““““““““““““““““““““““““““разработчик““““““““““““““““““““““““““““

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

Какую прогу? К чему эти тайны и недоговаривания?

Пиши ТЗ.

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

хм совсем не обязательно для этого использовать 4.5 - вам вполне подойдет qt 4.8.7 или 4.8.6 - программа должна собратся, пакеты с это версией qt должны быть в вашем репозитории

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

Я ж написал-qtсreator установлен. Там и 4-й и 5-й qt. И ничего он не собирает.

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

дайте ссылку на сырцы того пакета который вы пытаетесь собрать

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

Там ошибка точь-точь такая же. Никакого смысла. Знакомый собрал ту прогу за 15 мин. у себя на компе. А у меня-не идёт. Дело не в сырцах.

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

если дело не в сорцах - то дело в порядке действий собирающего. Опишите по порядку что вы делать.

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

1. Скачиваю архив. 2. Распаковываю. 3. Захожу в директорию. 4. ./configure Далее при 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 Ответ один и тот же на каждую-«нет такого файла».

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

Уже 2 раза в теме описал свои действия, 2 раза дал ссылку на сырцы. А люди, читающие эту тему, говорят, что что-то делаю не так ))))

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