Автор Тема: Cmake  (Прочитано 12404 раз)

Оффлайн bang67

  • Завсегдатай
  • *
  • Сообщений: 544
  • Simply Linux-6.0.1 t6
    • Email
Cmake
« : 23.03.2012 22:31:57 »
А есть где нибудь инструкция по Cmake понятная обычному пользователю? Просто очень надо собрать пакет из исходников. Попросить кого то это сделать не знаю где и на каких условиях, а у самого ума пока не хватает. (((
« Последнее редактирование: 23.03.2012 22:33:41 от bang67 »
В споре рождается истина, но иногда умирает здравый смысл.(с)

Оффлайн dubrsl

  • alt linux team
  • ***
  • Сообщений: 238
Re: Cmake
« Ответ #1 : 24.03.2012 06:43:35 »
А есть где нибудь инструкция по Cmake понятная обычному пользователю? Просто очень надо собрать пакет из исходников. Попросить кого то это сделать не знаю где и на каких условиях, а у самого ума пока не хватает. (((

Инструкция простая:
cmake
make
make install

Если что-то не понятно - спрашивайте.
WBR,
Slava

Оффлайн bang67

  • Завсегдатай
  • *
  • Сообщений: 544
  • Simply Linux-6.0.1 t6
    • Email
Re: Cmake
« Ответ #2 : 24.03.2012 19:37:21 »
Если я правильно понял, нужно распаковать архив с исходниками, перейти в папку с распакованными файлами и уже там выполнить в консоли указанные команды? Если всё так, то с какой опцией запускать cmake?
« Последнее редактирование: 24.03.2012 20:21:37 от bang67 »
В споре рождается истина, но иногда умирает здравый смысл.(с)

Оффлайн dubrsl

  • alt linux team
  • ***
  • Сообщений: 238
Re: Cmake
« Ответ #3 : 25.03.2012 22:07:43 »
Если я правильно понял, нужно распаковать архив с исходниками, перейти в папку с распакованными файлами и уже там выполнить в консоли указанные команды?
Да. Именно так

Цитировать
Если всё так, то с какой опцией запускать cmake?

Зависит от программы. Можете попробовать без опций для начала.
WBR,
Slava

Оффлайн bang67

  • Завсегдатай
  • *
  • Сообщений: 544
  • Simply Linux-6.0.1 t6
    • Email
Re: Cmake
« Ответ #4 : 26.03.2012 00:23:33 »
Вот без опций[andrew@localhost lmms-0.4.13]$ cmake
cmake version 2.6-patch 3
Usage

  cmake [options] <path-to-source>
  cmake [options] <path-to-existing-build>

Options
  -C <initial-cache>          = Pre-load a script to populate the cache.
  -D <var>:<type>=<value>     = Create a cmake cache entry.
  -U <globbing_expr>          = Remove matching entries from CMake cache.
  -G <generator-name>         = Specify a makefile generator.
  -Wno-dev                    = Suppress developer warnings.
  -Wdev                       = Enable developer warnings.
  -E                          = CMake command mode.
  -i                          = Run in wizard mode.
  -L[A][H]                    = List non-advanced cached variables.
  -N                          = View mode only.
  -P <file>                   = Process script mode.
  --graphviz=[file]           = Generate graphviz of dependencies.
  --system-information [file] = Dump information about this system.
  --debug-trycompile          = Do not delete the try compile directories..
  --debug-output              = Put cmake in a debug mode.
  --trace                     = Put cmake in trace mode.
  --help-command cmd [file]   = Print help for a single command and exit.
  --help-command-list [file]  = List available listfile commands and exit.
  --help-commands [file]      = Print help for all commands and exit.
  --help-compatcommands [file]= Print help for compatibility commands.
  --help-module module [file] = Print help for a single module and exit.
  --help-module-list [file]   = List available modules and exit.
  --help-modules [file]       = Print help for all modules and exit.
  --help-custom-modules [file]= Print help for all custom modules and exit.
  --help-policy cmp [file]    = Print help for a single policy and exit.
  --help-policies [file]      = Print help for all policies and exit.
  --help-property prop [file] = Print help for a single property and exit.
  --help-property-list [file] = List available properties and exit.
  --help-properties [file]    = Print help for all properties and exit.
  --help-variable var [file]  = Print help for a single variable and exit.
  --help-variable-list [file] = List documented variables and exit.
  --help-variables [file]     = Print help for all variables and exit.
  --copyright [file]          = Print the CMake copyright and exit.
  --help                      = Print usage information and exit.
  --help-full [file]          = Print full help and exit.
  --help-html [file]          = Print full help in HTML format.
  --help-man [file]           = Print full help as a UNIX man page and exit.
  --version [file]            = Show program name/version banner and exit.

Generators

The following generators are available on this platform:
  Unix Makefiles              = Generates standard UNIX makefiles.
  CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
  Eclipse CDT4 - Unix Makefiles
                              = Generates Eclipse CDT 4.0 project files.
  KDevelop3                   = Generates KDevelop 3 project files.
  KDevelop3 - Unix Makefiles  = Generates KDevelop 3 project files.

[andrew@localhost lmms-0.4.13]$                                                                   
В споре рождается истина, но иногда умирает здравый смысл.(с)

Оффлайн dubrsl

  • alt linux team
  • ***
  • Сообщений: 238
Re: Cmake
« Ответ #5 : 26.03.2012 05:46:17 »
Вот без опций
[andrew@localhost lmms-0.4.13]$ cmake
Чем не устроил lmms из репозитария? И посмотрите как в работающем спеке сделано - http://sisyphus.ru/ru/srpm/Sisyphus/lmms/spec
WBR,
Slava

Оффлайн bang67

  • Завсегдатай
  • *
  • Сообщений: 544
  • Simply Linux-6.0.1 t6
    • Email
Re: Cmake
« Ответ #6 : 26.03.2012 10:21:18 »
В репозитории 4.1 версия lmms0.3.1 . Этим и не устраивает.
В споре рождается истина, но иногда умирает здравый смысл.(с)

Оффлайн fce

  • Завсегдатай
  • *
  • Сообщений: 249
  • ALT Linux, XBMC live, Ubuntu, Kubuntu, Android
    • Dansguardian+
    • Email
Re: Cmake
« Ответ #7 : 26.03.2012 13:24:06 »
 В большинстве случаев, установка из исходников сводится к трем командам, конечно если все зависимости в норме:
configure --опции
make
make install


Бывает что configure и не требуется, можно сразу запусать make.
В любом случае следует читать документацию собираемой программы, там подробно расписано с какими опциями и как ее собирать и какие зависимости должны быть удовлетворены.
Безвыходных ситуаций не бывает, есть ситуации в которые нет входа. На каждого компьютерного гения найдётся свой хакер с винтом.

Оффлайн bang67

  • Завсегдатай
  • *
  • Сообщений: 544
  • Simply Linux-6.0.1 t6
    • Email
Re: Cmake
« Ответ #8 : 26.03.2012 23:14:40 »
Подозреваю, что телепатов среди форумчан нет.Я наверное , задавая вопрос, не очень подробно описал начальные условия. Исправляю свою ошибку. Вот список файлов и папок распакованного архива:[andrew@localhost lmms-0.4.13]$ ls
AUTHORS        cmake                CMakeLists.txt  include          lmms.rc.in        plugins
build_mingw32  CMakeCache.txt       configure       INSTALL          lmms.spec.in      README
build_mingw64  CMakeFiles           COPYING         lmms.1           lmmsversion.h.in  src
buildtools     cmake_install.cmake  data            lmmsconfig.h.in  Makefile          TODO
[andrew@localhost lmms-0.4.13]$
Вот выдержка из readme:Building
---------

See INSTALL for information on how to build LMMS.
Вот собственно выдержка из install на который ссылается readme:mkdir build
cd build
cmake ../
make
sudo make install
Отсюда :http://lmms.sourceforge.net/download.php я качал архив.
« Последнее редактирование: 26.03.2012 23:16:31 от bang67 »
В споре рождается истина, но иногда умирает здравый смысл.(с)

Оффлайн dubrsl

  • alt linux team
  • ***
  • Сообщений: 238
Re: Cmake
« Ответ #9 : 28.03.2012 05:18:55 »
Вот выдержка из readme:Building
---------

See INSTALL for information on how to build LMMS.
Вот собственно выдержка из install на который ссылается readme:mkdir build
cd build
cmake ../
make
sudo make install
Отсюда :http://lmms.sourceforge.net/download.php я качал архив.

ну вот и сделайте. Делов то. А вообще лучше взять srpm и пересобать. Как - 1000 раз тут объясняли.
WBR,
Slava

Оффлайн bang67

  • Завсегдатай
  • *
  • Сообщений: 544
  • Simply Linux-6.0.1 t6
    • Email
Re: Cmake
« Ответ #10 : 28.03.2012 20:27:01 »
А вообще лучше взять srpm и пересобать. Как - 1000 раз тут объясняли.

Я скачал lmms-0.4.13-alt1.src.rpm ,но, к сожалению, не нашёл ,как пересобирать. Ткните носом, если не затруднит.
« Последнее редактирование: 28.03.2012 20:32:51 от bang67 »
В споре рождается истина, но иногда умирает здравый смысл.(с)

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 964
Re: Cmake
« Ответ #11 : 28.03.2012 20:42:54 »
А вообще лучше взять srpm и пересобать. Как - 1000 раз тут объясняли.

Я скачал lmms-0.4.13-alt1.src.rpm ,но, к сожалению, не нашёл ,как пересобирать. Ткните носом, если не затруднит.
от рута (su-)
apt-get install rpm-build

далее все от юзера
rpminit
rpm -i lmms-0.4.13-alt1.src.rpm
cd ~/RPM/SPECS

смотрим как называется спек
ls
запускаем сборку
rpmbuild -ba Имя-Спека --target=i586
далее по обстоятельствам :)
Если чего-то не хватает - оно скажет...

Оффлайн bang67

  • Завсегдатай
  • *
  • Сообщений: 544
  • Simply Linux-6.0.1 t6
    • Email
Re: Cmake
« Ответ #12 : 28.03.2012 20:52:22 »
По-моему я уже шёл этим путём. Вот сделал сейчас[andrew@localhost Desktop]$ rpminit
[andrew@localhost Desktop]$ rpm -i lmms-0.4.13-alt1.src.rpm
[andrew@localhost Desktop]$ cd ~/RPM/SPECS
[andrew@localhost SPECS]$ ls
lmms.spec
[andrew@localhost SPECS]$ rpmbuild -ba lmms.spec --target=i586
Платформы для сборки: i586
Сборка для платформы i586
предупреждение: Macro %cmake not found
ошибка: неудовлетворенные зависимости сборки:
        gcc-c++ нужен для lmms-0.4.13-alt1
[andrew@localhost SPECS]$ su-
Password:
[root@localhost ~]# apt-get install gcc-c++
Reading Package Lists... Done
Building Dependency Tree... Done
Package gcc-c++ is a virtual package provided by:
  gcc4.1-c++ 4.1.2-alt2
  gcc3.4-c++ 3.4.5-alt7.M41.1
You should explicitly select one to install.
E: Package gcc-c++ is a virtual package with multiple good providers.

[root@localhost ~]#

В чём ошибка?
В споре рождается истина, но иногда умирает здравый смысл.(с)

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 964
Re: Cmake
« Ответ #13 : 28.03.2012 21:01:03 »
Package gcc-c++ is a virtual package provided by:
  gcc4.1-c++ 4.1.2-alt2
  gcc3.4-c++ 3.4.5-alt7.M41.1
You should explicitly select one to install.

спросим переводчик гугля
Пакет GCC-C + + представляет собой виртуальный пакет предоставляется:
   gcc4.1-C + + 4.1.2-alt2
   gcc3.4-C + + 3.4.5-alt7.M41.1
Вы должны явно указать, какой установить.

Таким образом за вами выбор
gcc4.1-c++
или
gcc3.4-c++
я бы выбрал 1вый...

Оффлайн bang67

  • Завсегдатай
  • *
  • Сообщений: 544
  • Simply Linux-6.0.1 t6
    • Email
Re: Cmake
« Ответ #14 : 28.03.2012 21:25:06 »
Вот я бестолочь! Спасибо, установил, но проблемы при сборке всё равно вылезли:[andrew@localhost SPECS]$ rpmbuild -ba lmms.spec --target=i586
Платформы для сборки: i586
Сборка для платформы i586
предупреждение: Macro %cmake not found
Выполняется(%prep): /bin/sh -e /home/andrew/tmp/rpm-tmp.86947
+ umask 022
+ /bin/mkdir -p /home/andrew/RPM/BUILD
+ cd /home/andrew/RPM/BUILD
+ cd /home/andrew/RPM/BUILD
+ rm -rf lmms-0.4.13
+ echo 'Source #0 (lmms-0.4.13.tar):'
Source #0 (lmms-0.4.13.tar):
+ /bin/tar -xf /home/andrew/RPM/SOURCES/lmms-0.4.13.tar
+ cd lmms-0.4.13
+ /bin/chmod -c -Rf u+rwX,go-w .
+ exit 0
Выполняется(%build): /bin/sh -e /home/andrew/tmp/rpm-tmp.25999
+ umask 022
+ /bin/mkdir -p /home/andrew/RPM/BUILD
+ cd /home/andrew/RPM/BUILD
+ cd lmms-0.4.13
+ %cmake -DWANT_FFTW3F:BOOL=OFF -DWANT_CMT:BOOL=OFF
/home/andrew/tmp/rpm-tmp.25999: line 93: fg: no job control
ошибка: Неверный код возврата из /home/andrew/tmp/rpm-tmp.25999 (%build)


Ошибки сборки пакетов:
    Macro %cmake not found
    Неверный код возврата из /home/andrew/tmp/rpm-tmp.25999 (%build)
[andrew@localhost SPECS]$
Тут гугловый переводчик не поможет.
В споре рождается истина, но иногда умирает здравый смысл.(с)