Научите компилировать.

Общение и разговоры

Научите компилировать.

Postby Vochatrak » 08 Nov 2014, 00:58

Итак... Хотел было научиться компилировать. :x Бродил по интернету долго, нашел кучу инструкций, только в них написаны разные вещи (часто противоречащие друг-другу.) :o
Сам я в этом пожалуй не разберусь. Если кому не лень, научите пожалуйста. :beer:

Для примера, хочу собрать крайний выпуск Wine под Gl либы нвидиа и с патчем на многопоточность рендеринга (как он там называется). На выходе, хотелось бы получить .RPM пакет. (так - и научусь, и вайн поставль. Лепота... :D )


Вот, собрался я компилить и... что делать то? :P
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Nikolay Semenov » 08 Nov 2014, 02:43

Vochatrak wrote:Итак... Хотел было научиться компилировать. :x Бродил по интернету долго, нашел кучу инструкций, только в них написаны разные вещи (часто противоречащие друг-другу.) :o
Сам я в этом пожалуй не разберусь. Если кому не лень, научите пожалуйста. :beer:

Для примера, хочу собрать крайний выпуск Wine под Gl либы нвидиа и с патчем на многопоточность рендеринга (как он там называется). На выходе, хотелось бы получить .RPM пакет. (так - и научусь, и вайн поставль. Лепота... :D )


Вот, собрался я компилить и... что делать то? :P


Компилировать локально - это одно, а собирать rpm-пакет - это другое.
Компилировать локально не сложно, как правило. Это и я могу сделать:
1) берем исходники
2) загялыдываем в README файл, там как правило файл указание на файл INSTALL
3) следуем инструкциям
Для компиляции ставим библиотеки из репозиториев с приставкой -devel
4) ...
5) profit

Веселее со сборкой пакета. Тогда все пункты с 1) по 5) не актуальны. В случае РОСЫ это про ABF надо узнавать, если я не ошибаюсь. Это, вроде бы, самый удобный путь.
Nikolay Semenov
 
Posts: 90
Joined: 28 Oct 2014, 21:00

Re: Научите компилировать.

Postby Vochatrak » 08 Nov 2014, 04:18

Компилировать локально - это одно, а собирать rpm-пакет - это другое.

Вроде говорят через Checkinstall можно легко собрать? Как, чего?

3) следуем инструкциям
Для компиляции ставим библиотеки из репозиториев с приставкой -devel
4) ...
5) profit

Говорят - если собирать вайн, с библиотеками своей видеокарты то, можно добиться хорошего прироста производительности и совместимости.
Как это сделать? (и о каких библиотеках вообще речь?)

В случае РОСЫ это про ABF надо узнавать, если я не ошибаюсь. Это, вроде бы, самый удобный путь.

Вот если-бы, кто объяснил...

P.S.Если файла Readme вообще нет, как можно узнать - какие именно -dev пакеты нужны?
P.P.S. Через GUI компилить можно, или только терминал?
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Pulfer » 08 Nov 2014, 05:10

Nikolay Semenov wrote:Компилировать локально - это одно, а собирать rpm-пакет - это другое. Компилировать локально не сложно, как правило. Это и я могу сделать:


Не всё так однозначно - иногда даже для простой компиляции надо писать патчи, что требует либо знания языка программирования, либо системы сборки (cmake, qmake и т.п.). Пример такого патча: https://abf.rosalinux.ru/import/fungulo ... kage.patch

А иногда для сборки новой версии RPM-пакета достаточно лишь заменить в спек-файле версию программы и запустить rpmbuild -ba спек. Например: https://abf.rosalinux.ru/import/wesnoth ... a899513e88

Но в целом, конечно, сборка пакета задача более сложная, т.к. она включает в себя компиляцию, но не ограничивается ей.

Простых универсальных инструкций по компиляции нет, тут надо просто набираться опыта, читая файлы README и INSTALL различных программ.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby Vochatrak » 08 Nov 2014, 23:23

Охохох...
Значит быстро не освою. :cry:

Может кто-нибудь, во время сборки чего-нибудь опишет пошагово свои действия? Хоть пример будет...
Да, и тема хоть чем нибудь наполнится.
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby tverskoy » 09 Nov 2014, 10:49

самое простое это сборка src.rpm от других дистрибьютивов, и то може не получиться, rpm -ba пакет_с_исходниками
User avatar
tverskoy
 
Posts: 1074
Joined: 12 Sep 2011, 12:30
Location: Тверь

Re: Научите компилировать.

Postby AVB » 09 Nov 2014, 20:29

Pulfer wrote:Простых универсальных инструкций по компиляции нет, тут надо просто набираться опыта, читая файлы README и INSTALL различных программ.

Не боги горшки обжигают...

Перво-наперво в системе должны быть установлены пакеты gcc и make

Чтобы в терминале (Konsole) работалось бы не так грустно, всегда ставлю пакет mc (файловый менеджер для Konsole, позволяет избежать некоторых действий руками).

Скачиваю файл-архив с исходниками («что-то там.tar.gz») обычно в папку «Загрузки». Потом в домашней папке создаю одноименную со скаченным пакетом папку, куда перемещаю скачанный пакет.

- В mc открываю папку с архивом в правой и левой панелях.
- Устанавливаю курсор на архив и нажимаю Ввод, вхожу в архив, устанавливаю курсор на появившемся файле «что-то там» (обычно это папка), жму F5 для копирования файла из архива в папку.
- Выхожу из архива, вхожу в папку «что-то там», ищу файлы README и/или INSTALL, читаю, что там написано по поводу установки (что должно присутствовать в системе и как компилировать программу).
- Доустанавливаю необходимые пакеты.

- Обычно для компиляции используются команды:

./configure (набирается в терминале руками, в mc достаточно установить курсор на файл configure и нажать Ввод)

make (обе от обычного пользователя) и

make install (от root).

Вместо make install можно (а некоторые рекомендуют) использовать make checkinstall (checkinstall должен быть установлен в системе), который и создаст пакет «что-то там.rpm».

./configure проверит конфигурацию и выдаст, если что, информацию о недостающих пакетах, как правило, требуется установка соответствующих dev пакетов для успешной компиляции.

Когда конфигурация завершится без ошибок, тогда можно переходить к команде make, которая собственно и собирёт программу.

Потом уже make install или make checkinstall

PS checkinstall в ROSA помнится завершался сообщением об ошибке, хотя rpm собирался без проблем, надо было просто внимательно изучить содержимое папки, где происходила компиляция
AVB
 
Posts: 414
Joined: 10 Oct 2012, 18:22

Re: Научите компилировать.

Postby Галахов Роман » 09 Nov 2014, 20:35

Vochatrak wrote:Охохох...
Значит быстро не освою. :cry:

Может кто-нибудь, во время сборки чего-нибудь опишет пошагово свои действия? Хоть пример будет...
Да, и тема хоть чем нибудь наполнится.

Как минимум почитать wiki http://wiki.rosalab.ru - Свободная документация по продуктам РОСА - 3й столбец
Rosa 2016.1 Fresh KDE5 x64-86 (HP ProBook 440 G4 (y7z81ea))
User avatar
Галахов Роман
 
Posts: 2260
Joined: 26 Feb 2012, 19:02
Location: Моск. обл. Волоколамск

Re: Научите компилировать.

Postby Vochatrak » 12 Nov 2014, 00:16

Спасибо всем участвующим.
Принцип, я понял. Скомпилировать пока ничего не смог...(на днях буду разбираться)

Если что-то будите для себя собирать (пофиг - RPM или просто компилировать), пожалуйста описывайте свои действия здесь (можно со скриншотами).
Описывайте что, как, чем? (см. собираю бла-бла-бла, через то-то, в консоль написоло о нихватке вот этого, параметры вводил такие, и.т.д)

P.S. Если кому не лень, конечно...
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby slavyanix » 20 Nov 2014, 00:48

если будешь собирать через ./configure всегда смотри на ошибки что он выдает. это билиотеки как правило. бывало собирал для себя некоторые программы , которых почему то не было в репозитории и иногда бывало что выдает ошибку об отсутствовавшей библиотеке которая если проверить уже стоит. в таком случае надо посмотреть на ответ конфигуре и выяснить где он её ищет. часто достаточно поместить в ту папку ссылку на расположение библиотеки и все заработает. но там есть особенность библиотека должна подходить по минимальным требованиям для программы. все это есть в файлах readme и install как правило. а собрать пакет можно и локально при наличии всех необходимых библиотек и средств компиляции. иногда нужен не только gcc, но и cmake или qmake. все зависит от исходников. в любом случае смотри в файл install там должно быть все что нужно.
User avatar
slavyanix
 
Posts: 828
Joined: 04 Aug 2012, 19:05

Re: Научите компилировать.

Postby keleg » 20 Nov 2014, 12:29

Только недавно появилась шикарная статья по правке исходников и наложению патчей. Тоже очень полезно.
https://corpwiki.rosalinux.ru/Blog:%D0% ... 0%BF%D0%B5
keleg
 
Posts: 5087
Joined: 15 Sep 2011, 00:58

Re: Научите компилировать.

Postby Vochatrak » 19 Dec 2014, 00:31

Мне на днях, попалась вот такая инструкция по компилированию Bino:
Code: Select all
Вариант как собирать
1. Проверить наличие deb-src в /etc/apt/source.list. В случае остуствия добавить и сделать apt-get update.
2. Создать и перейти в папку, где это все будет творится
3. apt-get source bino. Появится папка bino-1.4.4
4. Качаем исходник с сайта и распаковываем (сейчас это wget http://download.savannah.nongnu.org/releases/bino/bino-1.6.1.tar.xz и tar -Jxf bino-1.6.1.tar.xz)
5. копируем папку debian из bino-1.4.4 в bino-1.6.1.
6. Переходим в bino-1.6.1
7. Удаляем все из debian/patch
8. Добавляем запись о нашей версии в debian/changelog по аналогии с имеющимися
9. Доставляем все пакеты из debian/control
10. Делаем fakeroot debian/rules binary и получаем два(обычный и dbg) пакета для установки.

После короткого расспроса, был получен примерно такой ответ:
Code: Select all
Для пересборки rpm будет другая инструкция


Если не затруднит, не напишите такую же, но для RPM?

Code: Select all
Инструкция для rpm увы [b]дистроспецифична[/b]. Но если кратко, то скачать srpm, распаковать его через rpm -i, поправить при необходимости SPEC и заменить исходники/патчи. Собрать через rpm -bb или rpm -ba.

В общем, может быть, напишите маленькую инструкцию на подобии представленной выше? :angel:
Естественно с поправкой на Росу. (хотя такую краткую инструкцию возможно стоит добавить в вики...)

Ну, и сразу другой вопрос - Ставить кучу -dev пакетов и кучу их зависимостей, не очень хочется. Мучиться с чрутом и виртуалкой в общем то то же.
В росе есть система "заморозки" дистрибутива. Можно заморозить, скомпилировать, откатить (что бы девы сами пропали) и после уже ставить скомпилированное?
Или может как нибудь по другому это провернуть? (песочница или что то еще)
А в идеале, ставить девы в отдельную папку (лучше в хом). Захотел - удалил, захотел - перенес или пережал, красота! 8)
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Pulfer » 19 Dec 2014, 05:06

Vochatrak wrote:Если не затруднит, не напишите такую же, но для RPM?


Если аналогичную, то будет так:

1. Скачать spec-файл:
Code: Select all
https://abf.rosalinux.ru/import/bino/blob/rosa2014.1/bino.spec


2. Заменить в нём версию 1.4.4 на 1.6.1.

3. Установить зависимости сборки командой urpmi --buildrequires bino.spec

4. Запустить сборку пакета командой rpmbuild -ba bino.spec

Не факт, что соберётся (я не проверял), но это аналог инструкции для deb.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby Vochatrak » 19 Dec 2014, 23:01

Не факт, что соберётся (я не проверял), но это аналог инструкции для deb.

Не собралось. (кстати в моем Dolphin-emu) выдал:

Code: Select all
Fetching(Patch2): dolphin-emu-4.0.2-static.patch
Fetching(Patch1): dolphin-emu-4.0.2-gcc4.9.patch
Fetching(Patch0): dolphin-emu-cmakepath.patch
Fetching(Source13): dolphin-emu-16.png
Fetching(Source12): dolphin-emu-32.png
Fetching(Source11): dolphin-emu-64.png
Fetching(Source10): dolphin-emu-128.png
Fetching(Source9): dolphin-emu-256.png
Fetching(Source0): dolphin-emu-4.0.4.tar.bz2
--2014-12-20 01:53:46--  http://dolphin-emu-4.0.4.tar.bz2/
Распознаётся dolphin-emu-4.0.4.tar.bz2 (dolphin-emu-4.0.4.tar.bz2)… 92.242.144.2
Подключение к dolphin-emu-4.0.4.tar.bz2 (dolphin-emu-4.0.4.tar.bz2)|92.242.144.2|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: нет данных [text/html]
Сохранение в: «/root/rpmbuild/SOURCES/dolphin-emu-4.0.4.tar.bz2»

    [ <=>                                                                      ] 1 014       --.-K/s   за 0s     

2014-12-20 01:53:48 (98,9 MB/s) - «/root/rpmbuild/SOURCES/dolphin-emu-4.0.4.tar.bz2» сохранён [1014]

Выполняется(%prep): /bin/sh -e /var/tmp/rpm-tmp.7459
+ umask 022
+ cd /root/rpmbuild/BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /root/rpmbuild/BUILD
+ rm -rf dolphin-emu-4.0.4
+ /usr/bin/bzip2 -dc /root/rpmbuild/SOURCES/dolphin-emu-4.0.4.tar.bz2
+ /bin/tar -xf -
bzip2: /root/rpmbuild/SOURCES/dolphin-emu-4.0.4.tar.bz2 is not a bzip2 file.
/bin/tar: This does not look like a tar archive
/bin/tar: Exiting with failure status due to previous errors
error: Неверный код возврата из /var/tmp/rpm-tmp.7459 (%prep)


Ошибки сборки пакетов:
    Неверный код возврата из /var/tmp/rpm-tmp.7459 (%prep)

Я не очень то понял, но мне показалось что - он пытался скачать исходники самостоятельно...
Если исходники я уже скачал вручную тогда какой командой собирать?
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Pulfer » 20 Dec 2014, 06:57

Vochatrak wrote:Если исходники я уже скачал вручную тогда какой командой собирать?


Точно такой же, просто надо положить исходники в каталог, где их ищет rpmbuild: /root/rpmbuild/SOURCES/dolphin-emu-4.0.4.tar.bz2

Однако замечу, что от рута лучше пакеты не собирать, т.к. в некоторых случаях это может привести к поломке системы.

Например, если при работе с фалами забыть указать buildroot, т.е. вместо

Code: Select all
rm -rm %{buildroot}%{_libdir}/*.so


прописать

Code: Select all
rm -rm %{_libdir}/*.so


В первом случае мы хотим удалить бесполезные .so файлы при сборке (когда к ним не прилагаются заголовочные файлы и для сборки с ними каких-то других программ они не понадобятся в принципе). А во втором снесём все *.so из /usr/lib[64] и тем самым повредим кучу установленных devel-пакетов.

Если допустить такую ошибку от простого пользователя, то ничего плохого не случится из-за нехватки прав.

Кроме того, некоторые программы при сборке просто игнорируют значение DESTDIR и даже без ошибок в спеке могут что-нибудь сломать в системе. Такое редко, но всё же встречается.

Поэтому от рута лучше и не собирать пакеты.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby VictorR2007 » 20 Dec 2014, 10:36

Создайте в домашнем каталоге папку rpmbuild.
В ней создайте папки BUILD, SOURCES, SPEC, SRPMS.
Теперь можно положить все файлы, нужные для сборки в SOURCES и после запуска команды rpm -bs *.spec
в той папке, где лежит спек-файл, будет создан файл src в папке SRPMS.
Теперь можно перейти в папку SRPMS и запустить сборку пакета командой rpm -bb *.src.rpm
Сборка будет происходить в папке BUILD и готовые пакеты будут там.
Только такой способ предполагает установку в систему лишние пакеты.
Чтобы этого избежать, можно воспользоваться программой mock-urpm.
После первого запуска она попросит выбрать версию дистрибутива, для которого будет собран пакет.
Сама сборка происходит в /var/lib/mock-urpm
В ней создается виртуальная ОС и происходит сборка.
Если в корне мало места, то можно создать папку mock-urpm в домашнем каталоге и сделать на нее
символическую ссылку в /var/lib.
Запускается сборка командой mock-urpm -v /путь к файлу/src.rpm
Если с первого раза не удалось собрать пакет, то следующие разы стоит запускать командой
mock-urpm -v --no-clean /путь к файлу/src.rpm
чтобы не пересоздавать ранее созданную виртуальную ОС.
Еще одно удобство этого способа, это возможность собирать пакеты разных архитектур или версий Росы.
Для примера: Я например собрал пакеты для Роса R5 x86_64, но мне еще нужны пакеты для i586.
Подключаю источники i586, перехожу в /etc/mock-urpm и в свойствах символической ссылки default.cfg
меняю название ОС на нужное.
Типа Rosa-2014.1-x86_64.cfg меняю на Rosa-2014.1-i586.cfg
Теперь будут собираться пакеты другой архитектуры.
Готовые пакеты будут лежать /var/lib/mock-urpm/Rosa-2014.1-x86_64/result
или
/var/lib/mock-urpm/Rosa-2014.1-i586/result
Можно добавить /var/lib/mock-urpm в точки входа для быстрого доступа.

Только если вы хотите собирать пакеты для ROSA Fresh R5,
то нужно устанавливать этот пакет http://abf-downloads.rosalinux.ru/victo ... noarch.rpm
У пакета в репозитории нет файлов конфигурации для Rosa-2014.1
Во всём виноваты русские. Они всем вредят. Всегда. И ещё Путин. Ещё тот гусь. Тоже вредит. Всем. И всех захватывает. Ужас.:)
User avatar
VictorR2007
 
Posts: 4957
Joined: 12 Sep 2011, 12:00
Location: Северодвинск

Re: Научите компилировать.

Postby Vochatrak » 23 Dec 2014, 23:42

Попробовал скомпилировать через -"rpmbuild -ba Dolphin-emu.spec" (предварительно вынес папку rpmbuild в home и
создав симлинк). Выдает следующее:

Code: Select all
rpmbuild -ba dolphin-emu.spec
Выполняется(%prep): /bin/sh -e /var/tmp/rpm-tmp.71065
+ umask 022
+ cd /home/dna/rpmbuild/BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /root/rpmbuild/BUILD
+ rm -rf dolphin-emu-4.0.2
+ /usr/bin/bzip2 -dc /root/rpmbuild/SOURCES/dolphin-emu-4.0.2.tar.bz2
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd dolphin-emu-4.0.2
/var/tmp/rpm-tmp.71065: line 35: cd: dolphin-emu-4.0.2: No such file or directory
error: Неверный код возврата из /var/tmp/rpm-tmp.71065 (%prep)


Ошибки сборки пакетов:
    Неверный код возврата из /var/tmp/rpm-tmp.71065 (%prep)


Делал по инструкции, в конце компиляции выдала ошибку:

Code: Select all
Linking CXX executable ../../../Binaries/dolphin-emu
/usr/bin/ld: cannot find -lLLVM-3.5.0
/usr/bin/ld: cannot find -lLLVM-3.5.0
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/build.make:1346: ошибка выполнения рецепта для цели «Binaries/dolphin-emu»
make[2]: *** [Binaries/dolphin-emu] Ошибка 1
CMakeFiles/Makefile2:775: ошибка выполнения рецепта для цели «Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/all»
make[1]: *** [Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/all] Ошибка 2
Makefile:147: ошибка выполнения рецепта для цели «all»
make: *** [all] Ошибка 2

На АБФ (где качал спек) лежало два каких-то патча. Они мне нужны или нет (куда их класть)?
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Pulfer » 24 Dec 2014, 20:21

Vochatrak wrote:На АБФ (где качал спек) лежало два каких-то патча. Они мне нужны или нет (куда их класть)?


Да, эти патчи должны быть ещё нужны. Один из них указывает эмулятору, что служебные файлы надо искать в каталоге установки /usr/share/dolphin-emu/. А другой отключает сборку с LLVM, т.к. пользы от LLVM я пока что не вижу для Dolphin, а проблем со сборкой LLVM добавляет.

Патчи надо положить туда же, куда и тарбол с исходниками. То есть в $HOME/rpmbuild/SOURCES/. Возможно, на новую версию исходников они не наложатся, тогда надо будет их адаптировать под новые исходники (делаются патчи командой diff).

Ошибка

Code: Select all
/var/tmp/rpm-tmp.71065: line 35: cd: dolphin-emu-4.0.2: No such file or directory


вызвана тем, что по умолчанию RPM ожидает после распаковки архива с исходниками увидеть каталог в формате имя-версия. В данном случае dolphin-emu-4.0.2. Однако бывает, что внутри тарбола каталог имеет другой формат имени. Скажем, просто имя, имя-версия-снапшот или ещё что-то. В таком случае надо вместо %setup -q прописать %setup -qn формат. Например, %setup -qn %{name} (тут надо просто смотреть, что внутри тарбола).
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby Vochatrak » 29 Dec 2014, 02:09

И снова здравствуйте. :beer:

Пытался собрать этот злосчастный Dolphin-emu, но все безрезультатно...
Скажем, просто имя, имя-версия-снапшот или ещё что-то. В таком случае надо вместо %setup -q прописать %setup -qn формат. Например, %setup -qn %{name} (тут надо просто смотреть, что внутри тарбола).

Переименовал папку в dolphin-emu-4.0.2 и пережал в tar.bz2. (качал через git clone) Теперь спрашивает:
Code: Select all
bash-4.3$ rpmbuild -ba dolphin-emu.spec
Выполняется(%prep): /bin/sh -e /var/tmp/rpm-tmp.60259
+ umask 022
+ cd /home/dna/rpmbuild/BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /home/dna/rpmbuild/BUILD
+ rm -rf dolphin-emu-4.0.2
+ /usr/bin/bzip2 -dc /home/dna/rpmbuild/SOURCES/dolphin-emu-4.0.2.tar.bz2
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd dolphin-emu-4.0.2
+ echo 'Patch #0 (dolphin-emu-cmakepath.patch):'
Patch #0 (dolphin-emu-cmakepath.patch):
+ /bin/cat /home/dna/rpmbuild/SOURCES/dolphin-emu-cmakepath.patch
+ /usr/bin/patch --fuzz=0 -s -U -p1
+ echo 'Patch #1 (dolphin-emu-4.0.2-gcc4.9.patch):'
Patch #1 (dolphin-emu-4.0.2-gcc4.9.patch):
+ /bin/cat /home/dna/rpmbuild/SOURCES/dolphin-emu-4.0.2-gcc4.9.patch
+ /usr/bin/patch --fuzz=0 -s -U -p1
The text leading up to this was:
--------------------------
|diff -urN dolphin-emu-4.0.2/Source/Core/Common/Src/CommonFuncs.h dolphin-emu-4.0.2-patched/Source/Core/Common/Src/CommonFuncs.h
|--- dolphin-emu-4.0.2/Source/Core/Common/Src/CommonFuncs.h     1985-08-13 23:00:00.000000000 +1100
|+++ dolphin-emu-4.0.2-patched/Source/Core/Common/Src/CommonFuncs.h     2014-08-22 17:06:24.730625525 +1100
--------------------------
File to patch:

Но как понять какой именно файл нужно патчить?
Нажимаю энтер и:
Code: Select all
Skip this patch? [y] y
1 out of 1 hunk ignored
+ exit 1
error: Неверный код возврата из /var/tmp/rpm-tmp.60259 (%prep)


Ошибки сборки пакетов:
    Неверный код возврата из /var/tmp/rpm-tmp.60259 (%prep)

Пробовал собрать через "родной" spec
Code: Select all
rpmbuild -ba dolphin-emu.spec
error: Файл /home/dna/dolphin/Installer/dolphin-emu.spec не похож на файл спецификации.

и при попытке подтянуть зависимости...
Code: Select all
bash-4.3$ urpmi --buildrequires dolphin-emu.spec
error: line 26: Only "noarch" sub-packages are supported: BuildArch:  x86_64 armv7l aarch64
error: Пакет не имеет %description: dolphin-emu-4.0.2-0.x86_64
не удаётся разобрать spec-файл dolphin-emu.spec []
ошибка регистрации локальных пакетов


При стандартной компиляции, в самом конце выскакивает:
Code: Select all
/usr/bin/ld: cannot find -lLLVM-3.5.0
/usr/bin/ld: cannot find -lLLVM-3.5.0
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/build.make:1346: ошибка выполнения рецепта для цели «Binaries/dolphin-emu»
make[2]: *** [Binaries/dolphin-emu] Ошибка 1
CMakeFiles/Makefile2:775: ошибка выполнения рецепта для цели «Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/all»
make[1]: *** [Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/all] Ошибка 2
Makefile:147: ошибка выполнения рецепта для цели «all»
make: *** [all] Ошибка 2

Хотя LLVM у меня кажись стоит. :O:

Насчет варианта:
Создайте в домашнем каталоге папку rpmbuild.
В ней создайте папки BUILD, SOURCES, SPEC, SRPMS.
Теперь можно положить все файлы, нужные для сборки в SOURCES и после запуска команды rpm -bs *.spec
в той папке, где лежит спек-файл, будет создан файл src в папке SRPMS.
Теперь можно перейти в папку SRPMS и запустить сборку пакета командой rpm -bb *.src.rpm
Сборка будет происходить в папке BUILD и готовые пакеты будут там.

Вроде src создает:
Code: Select all
bash-4.3$ rpm -bs *.spec
Записан: /home/dna/rpmbuild/SRPMS/dolphin-emu-4.0.2-4.src.rpm
Executing "/usr/bin/rpmlint -T -f /home/dna/rpmbuild/SOURCES/dolphin-emu.rpmlintrc /home/dna/rpmbuild/SRPMS/dolphin-emu-4.0.2-4.src.rpm":
dolphin-emu.src: W: spelling-error Summary(en_US) Gamecube -> Game cube, Game-cube, Gamecock

dolphin-emu.src: W: spelling-error %description -l en_US Gamecube -> Game cube, Game-cube, Gamecock

1 packages and 0 specfiles checked; 0 errors, 2 warnings.

Только дальше так (с "заводскими" src, так же.)
Code: Select all
bash-4.3$ rpm -bb *.src.rpm
error: Файл /home/dna/rpmbuild/SRPMS/dolphin-emu-4.0.2-4.src.rpm не похож на файл спецификации.

Что я делаю не так?
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Pulfer » 29 Dec 2014, 08:54

Vochatrak wrote:The text leading up to this was:
--------------------------
|diff -urN dolphin-emu-4.0.2/Source/Core/Common/Src/CommonFuncs.h dolphin-emu-4.0.2-patched/Source/Core/Common/Src/CommonFuncs.h
|--- dolphin-emu-4.0.2/Source/Core/Common/Src/CommonFuncs.h 1985-08-13 23:00:00.000000000 +1100
|+++ dolphin-emu-4.0.2-patched/Source/Core/Common/Src/CommonFuncs.h 2014-08-22 17:06:24.730625525 +1100
--------------------------
File to patch: [/code][/spoiler]
Но как понять какой именно файл нужно патчить?


Тут уже надо изучать код, может файл CommonFuncs.h переименовали или функции из него больше не используются, поэтому файл выкинули.

Vochatrak wrote:
Code: Select all
bash-4.3$ rpm -bb *.src.rpm
error: Файл /home/dna/rpmbuild/SRPMS/dolphin-emu-4.0.2-4.src.rpm не похож на файл спецификации.

Что я делаю не так?


В данном случае надо делать rpmbuild --rebuild, т.к. src.rpm - это пакет, а не спек-файл.

Вообще, IMHO, лучше пока что на чём-нибудь простом тренироваться. Поизучать Си, пособирать какие-нибудь простенькие пакеты. С Dolphin всегда были проблемы, сколько я его помню. Каждый раз приходилось копаться в коде и сборочных файлах, чтобы правильно собрать очередное обновление.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby Vochatrak » 31 Dec 2014, 01:08

Попробовал собрать PPSSPP, выдает:
Code: Select all
bash-4.3$ rpmbuild -ba /home/dna/rpmbuild/SOURCES/ppsspp.spec
Fetching(Source2): ppsspp-lang-26.08.2014.tar.bz2
--2014-12-31 04:02:25--  http://ppsspp-lang-26.08.2014.tar.bz2/
Распознаётся ppsspp-lang-26.08.2014.tar.bz2 (ppsspp-lang-26.08.2014.tar.bz2)… 54.200.75.96
Подключение к ppsspp-lang-26.08.2014.tar.bz2 (ppsspp-lang-26.08.2014.tar.bz2)|54.200.75.96|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: 4230 (4,1K) [text/html]
Сохранение в: «/home/dna/rpmbuild/SOURCES/ppsspp-lang-26.08.2014.tar.bz2»

100%[=========================================================================>] 4 230       --.-K/s   за 0,01s   

2014-12-31 04:03:05 (385 KB/s) - «/home/dna/rpmbuild/SOURCES/ppsspp-lang-26.08.2014.tar.bz2» сохранён [4230/4230]

Fetching(Source1): native-17.08.2014.tar.bz2
--2014-12-31 04:03:05--  http://native-17.08.2014.tar.bz2/
Распознаётся native-17.08.2014.tar.bz2 (native-17.08.2014.tar.bz2)… 92.242.144.2
Подключение к native-17.08.2014.tar.bz2 (native-17.08.2014.tar.bz2)|92.242.144.2|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: нет данных [text/html]
Сохранение в: «/home/dna/rpmbuild/SOURCES/native-17.08.2014.tar.bz2»

    [ <=>                                                                      ] 1 014       --.-K/s   за 0s     

2014-12-31 04:03:06 (75,2 MB/s) - «/home/dna/rpmbuild/SOURCES/native-17.08.2014.tar.bz2» сохранён [1014]

Выполняется(%prep): /bin/sh -e /var/tmp/rpm-tmp.74194
+ umask 022
+ cd /home/dna/rpmbuild/BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /home/dna/rpmbuild/BUILD
+ rm -rf ppsspp-0.9.9.2
+ /usr/bin/bzip2 -dc /home/dna/rpmbuild/SOURCES/ppsspp-0.9.9.2.tar.bz2
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd ppsspp-0.9.9.2
+ echo 'Patch #0 (ppsspp-0.8-git-version.patch):'
Patch #0 (ppsspp-0.8-git-version.patch):
+ /bin/cat /home/dna/rpmbuild/SOURCES/ppsspp-0.8-git-version.patch
+ /usr/bin/patch --fuzz=0 -s -U -p1
+ echo 'Patch #1 (ppsspp-0.9.9.1-datapath.patch):'
Patch #1 (ppsspp-0.9.9.1-datapath.patch):
+ /bin/cat /home/dna/rpmbuild/SOURCES/ppsspp-0.9.9.1-datapath.patch
+ /usr/bin/patch --fuzz=0 -s -U -p1
+ echo 'Patch #2 (ppsspp-0.9.9-ffmpeg.patch):'
Patch #2 (ppsspp-0.9.9-ffmpeg.patch):
+ /bin/cat /home/dna/rpmbuild/SOURCES/ppsspp-0.9.9-ffmpeg.patch
+ /usr/bin/patch --fuzz=0 -s -U -p1
1 out of 1 hunk FAILED -- saving rejects to file CMakeLists.txt.rej
+ exit 1
error: Неверный код возврата из /var/tmp/rpm-tmp.74194 (%prep)


Ошибки сборки пакетов:
    Неверный код возврата из /var/tmp/rpm-tmp.74194 (%prep)
bash-4.3$

Если качать через git clone, скачивается папка с названием.(ppsspp) Я добавляю к названию - версию (ppsspp-0.9.9.2) и жму в tar.bz2. Может я как то не правильно жму, или называю?
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Pulfer » 03 Jan 2015, 07:56

Vochatrak wrote:Если качать через git clone, скачивается папка с названием.(ppsspp) Я добавляю к названию - версию (ppsspp-0.9.9.2) и жму в tar.bz2. Может я как то не правильно жму, или называю?


Тут просто патч ppsspp-0.9.9-ffmpeg.patch надо адаптировать к текущему снапшоту из гита:

Code: Select all
Patch #2 (ppsspp-0.9.9-ffmpeg.patch):
+ /bin/cat /home/dna/rpmbuild/SOURCES/ppsspp-0.9.9-ffmpeg.patch
+ /usr/bin/patch --fuzz=0 -s -U -p1
1 out of 1 hunk FAILED -- saving rejects to file CMakeLists.txt.rej
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby Vochatrak » 13 Jan 2015, 01:53

При попытке собрать пакет через # checkinstall --type=rpm вот такой сбой:
Code: Select all
xboxdrv.x86_64: E: useless-provides (Badness: 1) xboxdrv

xboxdrv.x86_64: E: standard-dir-owned-by-package (Badness: 50) /usr/local/share/man/man1

xboxdrv.x86_64: E: standard-dir-owned-by-package (Badness: 50) /usr

xboxdrv.x86_64: E: standard-dir-owned-by-package (Badness: 50) /usr/local/share/man

xboxdrv.x86_64: E: standard-dir-owned-by-package (Badness: 50) /usr/local/share

xboxdrv.x86_64: E: standard-dir-owned-by-package (Badness: 50) /usr/local

xboxdrv.x86_64: E: standard-dir-owned-by-package (Badness: 50) /usr/local/bin

xboxdrv.x86_64: W: spurious-executable-perm /usr/local/share/man/man1/xboxdrv.1.lzma

xboxdrv.x86_64: E: non-standard-group (Badness: 50) checkinstall

Что не так?
P.S. При попытке собрать через mock-urpm сборка завершается ошибкой.
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Pulfer » 13 Jan 2015, 08:20

Vochatrak wrote:При попытке собрать пакет через # checkinstall --type=rpm вот такой сбой:
Что не так?


Похоже, это баг в checkinstall, некорректное его поведение. Попробую починить, как руки дойдут.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby Vochatrak » 23 Feb 2015, 01:05

Хотел спросить - а ABF использовать для сборки пакетов стоит?
Если не лень, можете коротенько по пунктам объяснить - как добавить исходники, начать компиляцию, и.т.д.
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Pulfer » 23 Feb 2015, 03:05

Vochatrak wrote:Хотел спросить - а ABF использовать для сборки пакетов стоит? Если не лень, можете коротенько по пунктам объяснить - как добавить исходники, начать компиляцию, и.т.д.


ABF имеет смысл использовать для сборки тогда, когда локально уже очень хорошо получается собирать пакеты.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby Vochatrak » 23 Feb 2015, 03:35

А собирать вручную (cmake, make, и.т.д.) внутри mock-urpm можно?
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Pulfer » 23 Feb 2015, 05:07

Vochatrak wrote:А собирать вручную (cmake, make, и.т.д.) внутри mock-urpm можно?


Наверное, можно, если сделать chroot в то окружение, которое сделал mock-urpm. Только я сходу не скажу, как сделать, чтобы mock-urpm не очищал сборочное своё окружение. Сам с ним не работаю :oops:
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby VictorR2007 » 23 Feb 2015, 10:45

Vochatrak wrote:А собирать вручную (cmake, make, и.т.д.) внутри mock-urpm можно?


В mock-urpm все то-же, что происходит при сборке с использованием команды rpmbuild или rpm -bb,
только сборка происходит не на локальной системе, а в созданном chroot окружении, в каталоге /var/lib/mock-urpm/
Там находится папка с результатом /var/lib/mock-urpm/Rosa-2014.1-x86_64/result/
куда выводятся готовые пакеты и логи сборки
и корневая система /var/lib/mock-urpm/Rosa-2014.1-x86_64/root/,
куда устанавливаются все зависимости.
А сама сборка происходит в /var/lib/mock-urpm/Rosa-2014.1-x86_64/root/builddir/build/BUILD/
а упаковка в /var/lib/mock-urpm/Rosa-2014.1-x86_64/root/builddir/build/BUILDROOT/
Если я правильно ориентируюсь, то mock-urpm полностью дублирует способ сборки на abf.
Для подробностей смотрите mock-urpm --help
Во всём виноваты русские. Они всем вредят. Всегда. И ещё Путин. Ещё тот гусь. Тоже вредит. Всем. И всех захватывает. Ужас.:)
User avatar
VictorR2007
 
Posts: 4957
Joined: 12 Sep 2011, 12:00
Location: Северодвинск

Re: Научите компилировать.

Postby KA-25 » 02 Apr 2015, 14:13

Продолжаем тему. :)

Система 64-бит у меня. Тренируюсь на сборке wine.

Code: Select all
configure: error: FreeType 32-bit development files not found. Fonts will not be built.
Use the --without-freetype option if you really want this


просит 32 битные библиотеки. Поискал, поставил
снимок1.png
, по-ходу не то. ПРосит еще.
Когда-нибудь я слезу с винды
User avatar
KA-25
 
Posts: 399
Joined: 13 Mar 2015, 20:40
Location: Собянинка

Re: Научите компилировать.

Postby VictorR2007 » 02 Apr 2015, 14:58

Для wine нужны эти приложения или их devel.
Code: Select all
bison
chrpath
desktop-file-utils
docbook-dtd-sgml
docbook-utils
flex
fontforge
imagemagick
prelink
sgml-tools
valgrind
cups-devel
gettext-devel
glibc-static-devel
gpm-devel
gsm-devel
isdn4k-utils-devel
openldap-devel
perl-devel
ungif-devel
unixODBC-devel
alsa
dbus-1
fontconfig
freetype2
glu
gnutls
gstreamer-0.10
gstreamer-plugins-base-0.10
jack
lcms
libgphoto2
libmpg123
libpulse
librsvg-2.0
libtiff-4
libv4l2
libxslt
ncursesw
openal
sane-backends
sm
x11
xcomposite
xcursor
xext
xinerama
xpm
xrandr
xrender
Во всём виноваты русские. Они всем вредят. Всегда. И ещё Путин. Ещё тот гусь. Тоже вредит. Всем. И всех захватывает. Ужас.:)
User avatar
VictorR2007
 
Posts: 4957
Joined: 12 Sep 2011, 12:00
Location: Северодвинск

Re: Научите компилировать.

Postby KA-25 » 02 Apr 2015, 15:18

Понял спасибо. Буду иметь ввиду.
Кое что из этого установил уже. Т.к. я тренируюсь/учусь, то читаю ошибки,которые консоль выдает, и устанавливаю что он просит. С freetype затык вышел.
Когда-нибудь я слезу с винды
User avatar
KA-25
 
Posts: 399
Joined: 13 Mar 2015, 20:40
Location: Собянинка

Re: Научите компилировать.

Postby Vochatrak » 23 Aug 2015, 00:07

Господа, я тут пробовал собрать pcsx2 и не собралось. :(
Вот такое выдало в консоль:

terSSE(from) ); }
^
/home/dna/Build/pcsx2/common/src/x86emitter/legacy_sse.cpp: В функции «void SSE2_MOVSD_XMM_to_M32(u32, x86SSERegType)»:
/home/dna/Build/pcsx2/common/src/x86emitter/legacy_sse.cpp:273:93: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
emitterT void SSE2_MOVSD_XMM_to_M32( u32 to, x86SSERegType from ) { xMOVSD( ptr[(void*)to], xRegisterSSE(from) ); }
^
/home/dna/Build/pcsx2/common/src/x86emitter/legacy_sse.cpp: В функции «void SSE_MOVLPS_XMM_to_M64(u32, x86SSERegType)»:
/home/dna/Build/pcsx2/common/src/x86emitter/legacy_sse.cpp:279:95: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
emitterT void SSE_MOVLPS_XMM_to_M64( u32 to, x86SSERegType from ) { xMOVL.PS( ptr[(void*)to], xRegisterSSE(from) ); }
^
/home/dna/Build/pcsx2/common/src/x86emitter/legacy_sse.cpp: В функции «void SSE_MOVHPS_XMM_to_M64(u32, x86SSERegType)»:
/home/dna/Build/pcsx2/common/src/x86emitter/legacy_sse.cpp:284:95: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
emitterT void SSE_MOVHPS_XMM_to_M64( u32 to, x86SSERegType from ) { xMOVH.PS( ptr[(void*)to], xRegisterSSE(from) ); }
^
[ 21%] Building CXX object common/src/x86emitter/CMakeFiles/x86emitter.dir/LnxCpuDetect.cpp.o
[ 21%] Building CXX object common/src/x86emitter/CMakeFiles/x86emitter.dir/movs.cpp.o
[ 21%] Building CXX object common/src/x86emitter/CMakeFiles/x86emitter.dir/PrecompiledHeader.cpp.o
[ 22%] Building CXX object common/src/x86emitter/CMakeFiles/x86emitter.dir/simd.cpp.o
[ 22%] Building CXX object common/src/x86emitter/CMakeFiles/x86emitter.dir/x86emitter.cpp.o
Linking CXX static library libx86emitter.a
[ 22%] Built target x86emitter
[ 22%] Generating gui/Resources/Breakpoint_Inactive.h
[ 22%] Generating gui/Resources/AppIcon16.h
[ 22%] Generating gui/Resources/AppIcon32.h
[ 22%] Generating gui/Resources/AppIcon64.h
[ 23%] Generating gui/Resources/BackgroundLogo.h
[ 23%] Generating gui/Resources/ConfigIcon_Appearance.h
[ 23%] Generating gui/Resources/ButtonIcon_Camera.h
[ 23%] Generating gui/Resources/ConfigIcon_Cpu.h
[ 23%] Generating gui/Resources/ConfigIcon_Gamefixes.h
[ 24%] Generating gui/Resources/ConfigIcon_MemoryCard.h
[ 24%] Generating gui/Resources/ConfigIcon_Paths.h
[ 24%] Generating gui/Resources/ConfigIcon_Plugins.h
[ 24%] Generating gui/Resources/ConfigIcon_Speedhacks.h
[ 24%] Generating gui/Resources/ConfigIcon_Video.h
[ 24%] Generating gui/Resources/Dualshock.h
[ 25%] Generating gui/Resources/Breakpoint_Active.h
Scanning dependencies of target PCSX2
[ 25%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Cache.cpp.o
/home/dna/Build/pcsx2/pcsx2/Cache.cpp: В функции «int getFreeCache(u32, int, int*)»:
/home/dna/Build/pcsx2/pcsx2/Cache.cpp:70:56: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
pCache[i].data[number][0].b8._u64[0] = *(mem64_t*)(ppf);
^
/home/dna/Build/pcsx2/pcsx2/Cache.cpp:71:58: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
pCache[i].data[number][0].b8._u64[1] = *(mem64_t*)(ppf+8);
^
/home/dna/Build/pcsx2/pcsx2/Cache.cpp:72:59: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
pCache[i].data[number][1].b8._u64[0] = *(mem64_t*)(ppf+16);
^
/home/dna/Build/pcsx2/pcsx2/Cache.cpp:73:59: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
pCache[i].data[number][1].b8._u64[1] = *(mem64_t*)(ppf+24);
^
/home/dna/Build/pcsx2/pcsx2/Cache.cpp:74:59: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
pCache[i].data[number][2].b8._u64[0] = *(mem64_t*)(ppf+32);
^
/home/dna/Build/pcsx2/pcsx2/Cache.cpp:75:59: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
pCache[i].data[number][2].b8._u64[1] = *(mem64_t*)(ppf+40);
^
/home/dna/Build/pcsx2/pcsx2/Cache.cpp:76:59: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
pCache[i].data[number][3].b8._u64[0] = *(mem64_t*)(ppf+48);
^
/home/dna/Build/pcsx2/pcsx2/Cache.cpp:77:59: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
pCache[i].data[number][3].b8._u64[1] = *(mem64_t*)(ppf+56);
^
/home/dna/Build/pcsx2/pcsx2/Cache.cpp: В функции «u8 readCache8(u32)»:
/home/dna/Build/pcsx2/pcsx2/Cache.cpp:189:16: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
return *(u8*)ppf;
^
/home/dna/Build/pcsx2/pcsx2/Cache.cpp: В функции «u16 readCache16(u32)»:
/home/dna/Build/pcsx2/pcsx2/Cache.cpp:204:17: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
return *(u16*)ppf;
^
/home/dna/Build/pcsx2/pcsx2/Cache.cpp: В функции «u32 readCache32(u32)»:
/home/dna/Build/pcsx2/pcsx2/Cache.cpp:219:17: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
return *(u32*)ppf;
^
/home/dna/Build/pcsx2/pcsx2/Cache.cpp: В функции «u64 readCache64(u32)»:
/home/dna/Build/pcsx2/pcsx2/Cache.cpp:234:17: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
return *(u64*)ppf;
^
[ 25%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/COP0.cpp.o
[ 25%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/COP2.cpp.o
[ 26%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Counters.cpp.o
[ 26%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/GameDatabase.cpp.o
[ 26%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Dump.cpp.o
[ 26%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Elfheader.cpp.o
[ 26%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/FiFo.cpp.o
[ 27%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/FPU.cpp.o
[ 27%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Gif.cpp.o
/home/dna/Build/pcsx2/pcsx2/Gif.cpp: В функции «void mfifoGifMaskMem(int)»:
/home/dna/Build/pcsx2/pcsx2/Gif.cpp:423:18: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if(gifch.madr > (dmacRegs.rbor.ADDR + dmacRegs.rbsr.RMSK)) //Usual scenario is the tag is near the end (Front Mission 4)
^
[ 27%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Gif_Logger.cpp.o
[ 27%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Gif_Unit.cpp.o
[ 27%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/GS.cpp.o
[ 27%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/GSState.cpp.o
[ 28%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Hw.cpp.o
[ 28%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/HwRead.cpp.o
[ 28%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/HwWrite.cpp.o
[ 28%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Interpreter.cpp.o
[ 28%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IopBios.cpp.o
/home/dna/Build/pcsx2/pcsx2/IopBios.cpp: В функции «void Hle_SetElfPath(const char*)»:
/home/dna/Build/pcsx2/pcsx2/IopBios.cpp:61:24: предупреждение: ignoring return value of «char* getcwd(char*, size_t)», declared with attribute warn_unused_result [-Wunused-result]
getcwd(HostRoot,1000); // save the other 23 chars to append /host/ :P
^
[ 29%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IopCounters.cpp.o
[ 29%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IopDma.cpp.o
[ 29%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IopHw.cpp.o
[ 29%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IopIrq.cpp.o
[ 29%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IopMem.cpp.o
[ 30%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IopSio2.cpp.o
[ 30%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Memory.cpp.o
[ 30%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/MMI.cpp.o
/home/dna/Build/pcsx2/pcsx2/MMI.cpp: В функции «void R5900::Interpreter::OpcodeImpl::MMI::PMFHL()»:
/home/dna/Build/pcsx2/pcsx2/MMI.cpp:188:24: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
} else if (TempS64 <= 0xffffffff80000000LL) {
^
/home/dna/Build/pcsx2/pcsx2/MMI.cpp:197:24: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
} else if (TempS64 <= 0xffffffff80000000LL) {
^
[ 30%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/MTGS.cpp.o
/home/dna/Build/pcsx2/pcsx2/MTGS.cpp: В функции-члене «void SysMtgsThread::OpenPlugin()»:
/home/dna/Build/pcsx2/pcsx2/MTGS.cpp:194:63: предупреждение: deprecated conversion from string constant to «char*» [-Wwrite-strings]
result = GSopen( (void*)pDsp, "PCSX2", renderswitch ? 2 : 1 );
^
/home/dna/Build/pcsx2/pcsx2/MTGS.cpp: В функции-члене «virtual void SysMtgsThread::ExecuteTaskInThread()»:
/home/dna/Build/pcsx2/pcsx2/MTGS.cpp:486:41: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
GSinitReadFIFO( (u64*)tag.data[1]);
^
/home/dna/Build/pcsx2/pcsx2/MTGS.cpp:492:42: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
GSinitReadFIFO2( (u64*)tag.data[1], tag.data[0]);
^
[ 30%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/MTVU.cpp.o
[ 30%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/MultipartFileReader.cpp.o
[ 31%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/OutputIsoFile.cpp.o
[ 31%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Patch.cpp.o
[ 31%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Patch_Memory.cpp.o
[ 31%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Pcsx2Config.cpp.o
[ 31%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/PluginManager.cpp.o
[ 32%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/PrecompiledHeader.cpp.o
[ 32%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/R3000A.cpp.o
[ 32%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/R3000AInterpreter.cpp.o
[ 32%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/R3000AOpcodeTables.cpp.o
[ 32%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/R5900.cpp.o
[ 33%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/R5900OpcodeImpl.cpp.o
[ 33%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/R5900OpcodeTables.cpp.o
[ 33%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/SaveState.cpp.o
[ 33%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/ShiftJisToUnicode.cpp.o
[ 33%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Sif.cpp.o
[ 33%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Sif0.cpp.o
[ 34%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Sif1.cpp.o
[ 34%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/sif2.cpp.o
[ 34%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Sio.cpp.o
[ 34%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/SourceLog.cpp.o
[ 34%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/SPR.cpp.o
[ 35%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/System.cpp.o
[ 35%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Vif0_Dma.cpp.o
[ 35%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Vif1_Dma.cpp.o
[ 35%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Vif1_MFIFO.cpp.o
/home/dna/Build/pcsx2/pcsx2/Vif1_MFIFO.cpp: В функции «void mfifoVifMaskMem(int)»:
/home/dna/Build/pcsx2/pcsx2/Vif1_MFIFO.cpp:162:19: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if(vif1ch.madr > (dmacRegs.rbor.ADDR + dmacRegs.rbsr.RMSK)) //Usual scenario is the tag is near the end (Front Mission 4)
^
[ 35%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Vif.cpp.o
[ 36%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Vif_Codes.cpp.o
[ 36%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Vif_Transfer.cpp.o
[ 36%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Vif_Unpack.cpp.o
[ 36%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/vtlb.cpp.o
[ 36%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/VU0.cpp.o
[ 36%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/VUmicro.cpp.o
[ 37%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/VU0micro.cpp.o
[ 37%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/VU0microInterp.cpp.o
[ 37%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/VU1micro.cpp.o
[ 37%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/VU1microInterp.cpp.o
[ 37%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/VUflags.cpp.o
[ 38%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/VUmicroMem.cpp.o
[ 38%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/VUops.cpp.o
[ 38%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/BlockdumpFileReader.cpp.o
[ 38%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/CdRom.cpp.o
[ 38%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/CDVDaccess.cpp.o
/home/dna/Build/pcsx2/pcsx2/CDVD/CDVDaccess.cpp: В функции «s32 DoCDVDdetectDiskType()»:
/home/dna/Build/pcsx2/pcsx2/CDVD/CDVDaccess.cpp:218:2: предупреждение: assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
if (dataTracks > 0)
^
[ 39%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/CDVD.cpp.o
/home/dna/Build/pcsx2/pcsx2/CDVD/CDVD.cpp: В функции «int cdvdReadSector()»:
/home/dna/Build/pcsx2/pcsx2/CDVD/CDVD.cpp:750:18: предупреждение: assuming signed overflow does not occur when negating a division [-Wstrict-overflow]
HW_DMA3_BCR_H16 -= (cdvd.BlockSize / (HW_DMA3_BCR_L16*4));
^
/home/dna/Build/pcsx2/pcsx2/CDVD/CDVD.cpp: В функции «void cdvdReadNVM(u8*, int, int)»:
/home/dna/Build/pcsx2/pcsx2/CDVD/CDVD.cpp:171:26: предупреждение: ignoring return value of «size_t fread(void*, size_t, size_t, FILE*)», declared with attribute warn_unused_result [-Wunused-result]
fread(dst, 1, bytes, fd);
^
/home/dna/Build/pcsx2/pcsx2/CDVD/CDVD.cpp: В функции «void cdvdGetMechaVer(u8*)»:
/home/dna/Build/pcsx2/pcsx2/CDVD/CDVD.cpp:117:22: предупреждение: ignoring return value of «size_t fread(void*, size_t, size_t, FILE*)», declared with attribute warn_unused_result [-Wunused-result]
fread(ver, 1, 4, fd);
^
[ 39%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/CDVDisoReader.cpp.o
[ 39%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/InputIsoFile.cpp.o
/home/dna/Build/pcsx2/pcsx2/CDVD/InputIsoFile.cpp: В функции-члене «int InputIsoFile::FinishRead3(u8*, uint)»:
/home/dna/Build/pcsx2/pcsx2/CDVD/InputIsoFile.cpp:93:6: предупреждение: «_offset» may be used uninitialized in this function [-Wmaybe-uninitialized]
int _offset, length;
^
/home/dna/Build/pcsx2/pcsx2/CDVD/InputIsoFile.cpp:93:15: предупреждение: «length» may be used uninitialized in this function [-Wmaybe-uninitialized]
int _offset, length;
^
[ 39%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/OutputIsoFile.cpp.o
[ 39%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/ChunksCache.cpp.o
[ 39%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/CompressedFileReader.cpp.o
[ 40%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/CsoFileReader.cpp.o
[ 40%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/GzippedFileReader.cpp.o
/home/dna/Build/pcsx2/pcsx2/CDVD/GzippedFileReader.cpp: В функции «Access* ReadIndexFromFile(const wxString&)»:
/home/dna/Build/pcsx2/pcsx2/CDVD/GzippedFileReader.cpp:66:15: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (datasize != index->have * sizeof(Point)) {
^
/home/dna/Build/pcsx2/pcsx2/CDVD/GzippedFileReader.cpp: В функции «void WriteIndexToFile(Access*, wxString)»:
/home/dna/Build/pcsx2/pcsx2/CDVD/GzippedFileReader.cpp:98:22: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (fsize(filename) != (s64)GZIP_ID_LEN + sizeof(Access) + sizeof(Point) * index->have) {
^
/home/dna/Build/pcsx2/pcsx2/CDVD/GzippedFileReader.cpp: В функции «wxString ApplyTemplate(const wxString&, const wxDirName&, const wxString&, const wxString&, bool)»:
/home/dna/Build/pcsx2/pcsx2/CDVD/GzippedFileReader.cpp:125:15: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
|| first != tem.rfind(key) // more than one instance
^
/home/dna/Build/pcsx2/pcsx2/CDVD/GzippedFileReader.cpp:126:33: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
|| !canEndWithKey && first == tem.length() - key.length())
^
/home/dna/Build/pcsx2/pcsx2/CDVD/GzippedFileReader.cpp: В функции-члене «int GzippedFileReader::_ReadSync(void*, off_t, uint)»:
/home/dna/Build/pcsx2/pcsx2/CDVD/GzippedFileReader.cpp:390:13: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (first != maxInChunk)
^
[ 40%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/IsoFS/IsoFile.cpp.o
[ 40%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/IsoFS/IsoFSCDVD.cpp.o
[ 40%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/CDVD/IsoFS/IsoFS.cpp.o
[ 41%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/DebugInterface.cpp.o
[ 41%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/DisassemblyManager.cpp.o
[ 41%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/ExpressionParser.cpp.o
[ 41%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/MIPSAnalyst.cpp.o
[ 41%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/MipsAssembler.cpp.o
/home/dna/Build/pcsx2/pcsx2/DebugTools/MipsAssembler.cpp: В функции-члене «void CMipsInstruction::encodeNormal()»:
/home/dna/Build/pcsx2/pcsx2/DebugTools/MipsAssembler.cpp:692:9: предупреждение: enumeration value «MIPS_NOIMMEDIATE» not handled in switch [-Wswitch]
switch (immediateType)
^
[ 42%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/MipsAssemblerTables.cpp.o
[ 42%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/MipsStackWalk.cpp.o
[ 42%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/Breakpoints.cpp.o
[ 42%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/SymbolMap.cpp.o
[ 42%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/DisR3000A.cpp.o
[ 42%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/DisR5900asm.cpp.o
/home/dna/Build/pcsx2/pcsx2/DebugTools/DisR5900asm.cpp: В функции «void R5900::OpcodeDisasm::disMemAccess(std::string&, const char*, int)»:
/home/dna/Build/pcsx2/pcsx2/DebugTools/DisR5900asm.cpp:880:72: предупреждение: «rt» may be used uninitialized in this function [-Wmaybe-uninitialized]
ssappendf(output, "%s\t%s, %s(%s)",name,rt,signedImmediate(imm,4),rs);
^
[ 43%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/DisVU0Micro.cpp.o
[ 43%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/DisVU1Micro.cpp.o
[ 43%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/DebugTools/BiosDebugData.cpp.o
[ 43%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/AppAssert.cpp.o
[ 43%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/AppConfig.cpp.o
[ 44%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/AppCorePlugins.cpp.o
[ 44%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/AppCoreThread.cpp.o
[ 44%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/AppEventSources.cpp.o
/home/dna/Build/pcsx2/pcsx2/gui/AppEventSources.cpp: В функции-члене «void Pcsx2App::DispatchEvent(CoreThreadStatus)»:
/home/dna/Build/pcsx2/pcsx2/gui/AppEventSources.cpp:133:8: предупреждение: enumeration value «CoreThread_Indeterminate» not handled in switch [-Wswitch]
switch( evt )
^
[ 44%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/AppGameDatabase.cpp.o
[ 44%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/AppUserMode.cpp.o
[ 45%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/AppInit.cpp.o
[ 45%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/AppMain.cpp.o
In file included from /home/dna/Build/pcsx2/common/include/Utilities/Dependencies.h:203:0,
from /home/dna/Build/pcsx2/pcsx2/./PrecompiledHeader.h:25,
from /home/dna/Build/pcsx2/pcsx2/gui/AppMain.cpp:16:
/home/dna/Build/pcsx2/pcsx2/gui/AppMain.cpp: В функции-члене «void Pcsx2App::ClearPendingSave()»:
/home/dna/Build/pcsx2/common/include/Pcsx2Defs.h:235:42: предупреждение: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2 [-Wstrict-overflow]
# define likely(x) __builtin_expect(!!(x), 1)
^
/home/dna/Build/pcsx2/common/include/Utilities/Assertions.h:108:36: замечание: in expansion of macro «likely»
#define pxAssertRel(cond, msg) ( (likely(cond)) || (pxOnAssert(pxAssertSpot(cond), msg), false) )
^
/home/dna/Build/pcsx2/common/include/Utilities/Assertions.h:139:33: замечание: in expansion of macro «pxAssertRel»
# define pxAssertDev(cond, msg) pxAssertRel(cond, msg)
^
/home/dna/Build/pcsx2/pcsx2/gui/AppMain.cpp:770:2: замечание: in expansion of macro «pxAssertDev»
pxAssertDev( m_PendingSaves >= 0, "Pending saves count mismatch (pending count is less than 0)" );
^
[ 45%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/AppRes.cpp.o
[ 45%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/ConsoleLogger.cpp.o
[ 45%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/CpuUsageProvider.cpp.o
[ 45%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/CpuUsageProviderLnx.cpp.o
[ 46%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/AboutBoxDialog.cpp.o
[ 46%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/AppConfigDialog.cpp.o
[ 46%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/AssertionDialog.cpp.o
[ 46%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/BaseApplicableConfigPanel.cpp.o
[ 46%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/MemoryCardListView.cpp.o
[ 47%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/ThemeSelectorPanel.cpp.o
[ 47%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/BaseConfigurationDialog.cpp.o
[ 47%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/ConfirmationDialogs.cpp.o
[ 47%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/ConvertMemoryCardDialog.cpp.o
[ 47%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/CreateMemoryCardDialog.cpp.o
[ 48%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/FirstTimeWizard.cpp.o
[ 48%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/GameDatabaseDialog.cpp.o
[ 48%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/ImportSettingsDialog.cpp.o
[ 48%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/LogOptionsDialog.cpp.o
[ 48%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/McdConfigDialog.cpp.o
[ 48%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/PickUserModeDialog.cpp.o
[ 49%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/StuckThreadDialog.cpp.o
[ 49%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Dialogs/SysConfigDialog.cpp.o
[ 49%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Debugger/BreakpointWindow.cpp.o
[ 49%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Debugger/CtrlDisassemblyView.cpp.o
/home/dna/Build/pcsx2/pcsx2/gui/Debugger/CtrlDisassemblyView.cpp: В функции-члене «void CtrlDisassemblyView::updateStatusBarText()»:
/home/dna/Build/pcsx2/pcsx2/gui/Debugger/CtrlDisassemblyView.cpp:1023:65: предупреждение: format «%llX» expects argument of type «long long unsigned int», but argument 4 has type «u64 {aka long unsigned int}» [-Wformat=]
sprintf(text,"[%08X] = %016llX",line.info.dataAddress,data);
^
/home/dna/Build/pcsx2/pcsx2/gui/Debugger/CtrlDisassemblyView.cpp:1029:93: предупреждение: format «%llX» expects argument of type «long long unsigned int», but argument 4 has type «u64 {aka long unsigned int}» [-Wformat=]
sprintf(text,"[%08X] = %016llX%016llX",line.info.dataAddress,data._u64[1],data._u64[0]);
^
/home/dna/Build/pcsx2/pcsx2/gui/Debugger/CtrlDisassemblyView.cpp:1029:93: предупреждение: format «%llX» expects argument of type «long long unsigned int», but argument 5 has type «u64 {aka long unsigned int}» [-Wformat=]
[ 49%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Debugger/CtrlRegisterList.cpp.o
[ 50%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Debugger/CtrlMemView.cpp.o
[ 50%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Debugger/DebuggerLists.cpp.o
[ 50%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Debugger/DisassemblyDialog.cpp.o
/home/dna/Build/pcsx2/pcsx2/gui/Debugger/DisassemblyDialog.cpp: В функции-члене «void CpuTabPage::reloadSymbolMap()»:
/home/dna/Build/pcsx2/pcsx2/gui/Debugger/DisassemblyDialog.cpp:140:45: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
functionList->Append(name,(void*)funcs[i].address);
^
[ 50%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Debugger/DebugEvents.cpp.o
[ 50%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/ExecutorThread.cpp.o
[ 51%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/FrameForGS.cpp.o
[ 51%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/GlobalCommands.cpp.o
[ 51%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/i18n.cpp.o
[ 51%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/IsoDropTarget.cpp.o
[ 51%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/MainFrame.cpp.o
/home/dna/Build/pcsx2/pcsx2/gui/MainFrame.cpp: В функции-члене «void MainEmuFrame::OnCloseWindow(wxCloseEvent&)»:
/home/dna/Build/pcsx2/pcsx2/gui/MainFrame.cpp:112:7: предупреждение: variable «isClosing» set but not used [-Wunused-but-set-variable]
bool isClosing = false;
^
[ 51%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/MainMenuClicks.cpp.o
In file included from /home/dna/Build/pcsx2/common/include/Utilities/Dependencies.h:203:0,
from /home/dna/Build/pcsx2/pcsx2/./PrecompiledHeader.h:25,
from /home/dna/Build/pcsx2/pcsx2/gui/MainMenuClicks.cpp:16:
/home/dna/Build/pcsx2/pcsx2/gui/MainMenuClicks.cpp: В функции-члене «void MainEmuFrame::Menu_ConfigPlugin_Click(wxCommandEvent&)»:
/home/dna/Build/pcsx2/pcsx2/gui/MainMenuClicks.cpp:557:29: предупреждение: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2 [-Wstrict-overflow]
if( !pxAssertDev( (eventId >= 0) || (pid < PluginId_Count), "Invalid plugin identifier passed to ConfigPlugin event handler." ) ) return;
^
/home/dna/Build/pcsx2/common/include/Pcsx2Defs.h:235:41: замечание: in definition of macro «likely»
# define likely(x) __builtin_expect(!!(x), 1)
^
/home/dna/Build/pcsx2/common/include/Utilities/Assertions.h:139:33: замечание: in expansion of macro «pxAssertRel»
# define pxAssertDev(cond, msg) pxAssertRel(cond, msg)
^
/home/dna/Build/pcsx2/pcsx2/gui/MainMenuClicks.cpp:557:7: замечание: in expansion of macro «pxAssertDev»
if( !pxAssertDev( (eventId >= 0) || (pid < PluginId_Count), "Invalid plugin identifier passed to ConfigPlugin event handler." ) ) return;
^
/home/dna/Build/pcsx2/pcsx2/gui/MainMenuClicks.cpp:557:29: предупреждение: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2 [-Wstrict-overflow]
if( !pxAssertDev( (eventId >= 0) || (pid < PluginId_Count), "Invalid plugin identifier passed to ConfigPlugin event handler." ) ) return;
^
/home/dna/Build/pcsx2/common/include/Pcsx2Defs.h:235:41: замечание: in definition of macro «likely»
# define likely(x) __builtin_expect(!!(x), 1)
^
/home/dna/Build/pcsx2/common/include/Utilities/Assertions.h:139:33: замечание: in expansion of macro «pxAssertRel»
# define pxAssertDev(cond, msg) pxAssertRel(cond, msg)
^
/home/dna/Build/pcsx2/pcsx2/gui/MainMenuClicks.cpp:557:7: замечание: in expansion of macro «pxAssertDev»
if( !pxAssertDev( (eventId >= 0) || (pid < PluginId_Count), "Invalid plugin identifier passed to ConfigPlugin event handler." ) ) return;
^
/home/dna/Build/pcsx2/pcsx2/gui/MainMenuClicks.cpp:557:29: предупреждение: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2 [-Wstrict-overflow]
if( !pxAssertDev( (eventId >= 0) || (pid < PluginId_Count), "Invalid plugin identifier passed to ConfigPlugin event handler." ) ) return;
^
/home/dna/Build/pcsx2/common/include/Pcsx2Defs.h:235:41: замечание: in definition of macro «likely»
# define likely(x) __builtin_expect(!!(x), 1)
^
/home/dna/Build/pcsx2/common/include/Utilities/Assertions.h:139:33: замечание: in expansion of macro «pxAssertRel»
# define pxAssertDev(cond, msg) pxAssertRel(cond, msg)
^
/home/dna/Build/pcsx2/pcsx2/gui/MainMenuClicks.cpp:557:7: замечание: in expansion of macro «pxAssertDev»
if( !pxAssertDev( (eventId >= 0) || (pid < PluginId_Count), "Invalid plugin identifier passed to ConfigPlugin event handler." ) ) return;
^
[ 52%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/MemoryCardFile.cpp.o
[ 52%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/MemoryCardFolder.cpp.o
[ 52%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/MemoryCardListPanel.cpp.o
/home/dna/Build/pcsx2/pcsx2/gui/Panels/MemoryCardListPanel.cpp: В функции-члене «virtual void Panels::MemoryCardListPanel_Simple::Apply()»:
/home/dna/Build/pcsx2/pcsx2/gui/Panels/MemoryCardListPanel.cpp:641:2: предупреждение: assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
if( !used )
^
[ 52%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/MessageBoxes.cpp.o
[ 52%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/MSWstuff.cpp.o
[ 53%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/AudioPanel.cpp.o
[ 53%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/BiosSelectorPanel.cpp.o
[ 53%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/CpuPanel.cpp.o
[ 53%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/DirPickerPanel.cpp.o
[ 53%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/GameDatabasePanel.cpp.o
[ 53%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/GameFixesPanel.cpp.o
[ 54%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/GSWindowPanel.cpp.o
[ 54%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/LogOptionsPanels.cpp.o
[ 54%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/MiscPanelStuff.cpp.o
[ 54%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/PathsPanel.cpp.o
[ 54%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/PluginSelectorPanel.cpp.o
[ 55%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/SpeedhacksPanel.cpp.o
[ 55%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Panels/VideoPanel.cpp.o
[ 55%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/pxLogTextCtrl.cpp.o
[ 55%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/RecentIsoList.cpp.o
[ 55%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/Saveslots.cpp.o
[ 56%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/SysState.cpp.o
[ 56%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/gui/UpdateUI.cpp.o
[ 56%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IPU/IPU.cpp.o
[ 56%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IPU/IPU_Fifo.cpp.o
[ 56%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IPU/IPUdma.cpp.o
[ 56%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IPU/mpeg2lib/Idct.cpp.o
[ 57%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IPU/mpeg2lib/Mpeg.cpp.o
[ 57%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/IPU/yuv2rgb.cpp.o
[ 57%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/ps2/BiosTools.cpp.o
[ 57%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/ps2/LegacyDmac.cpp.o
[ 57%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/ps2/Iop/IopHwRead.cpp.o
[ 58%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/ps2/Iop/IopHwWrite.cpp.o
[ 58%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/System/SysCoreThread.cpp.o
[ 58%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/System/SysThreadBase.cpp.o
/home/dna/Build/pcsx2/pcsx2/System/SysThreadBase.cpp: В функции-члене «virtual void SysThreadBase::Suspend(bool)»:
/home/dna/Build/pcsx2/pcsx2/System/SysThreadBase.cpp:94:9: предупреждение: enumeration value «ExecMode_NoThreadYet» not handled in switch [-Wswitch]
switch( m_ExecMode )
^
[ 58%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Utilities/FileUtils.cpp.o
[ 58%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/BaseblockEx.cpp.o
[ 59%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/iCOP0.cpp.o
[ 59%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/iCore.cpp.o
[ 59%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/iFPU.cpp.o
/home/dna/Build/pcsx2/pcsx2/x86/iFPU.cpp: В функции «void R5900::Dynarec::OpcodeImpl::COP1::FPU_MUL(int, int, bool)»:
/home/dna/Build/pcsx2/pcsx2/x86/iFPU.cpp:568:19: предупреждение: «endMul» may be used uninitialized in this function [-Wmaybe-uninitialized]
x86SetJ8(endMul);
^
[ 59%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/iFPUd.cpp.o
/home/dna/Build/pcsx2/pcsx2/x86/iFPUd.cpp: В функции «void R5900::Dynarec::OpcodeImpl::COP1::DOUBLE::FPU_MUL(int, int, int, int, bool)»:
/home/dna/Build/pcsx2/pcsx2/x86/iFPUd.cpp:437:20: предупреждение: «endMul» may be used uninitialized in this function [-Wmaybe-uninitialized]
x86SetJ32(endMul);
^
[ 59%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/iMisc.cpp.o
[ 59%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/iMMI.cpp.o
[ 60%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/iPsxMem.cpp.o
[ 60%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/iR3000A.cpp.o
[ 60%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/iR3000Atables.cpp.o
[ 60%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/iR5900Misc.cpp.o
[ 60%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ir5900tables.cpp.o
[ 61%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/iVU1micro.cpp.o
[ 61%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ix86-32/iCore-32.cpp.o
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/iCore-32.cpp: В функции «int _allocX86reg(int, int, int, int)»:
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/iCore-32.cpp:283:11: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if( i != x86reg ) {
^
[ 61%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ix86-32/iR5900-32.cpp.o
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/iR5900-32.cpp: В функции «void recompileNextInstruction(int)»:
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/iR5900-32.cpp:1546:60: предупреждение: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2 [-Wstrict-overflow]
for (u32 p = pc; s != 0 && p < s_nEndBlock && all_count < 10 && cop2m_count < 5 && cop2o_count < 4; p += 4)
^
[ 61%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ix86-32/iR5900Arit.cpp.o
[ 61%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ix86-32/iR5900AritImm.cpp.o
[ 62%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ix86-32/iR5900Branch.cpp.o
[ 62%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ix86-32/iR5900Jump.cpp.o
[ 62%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ix86-32/iR5900LoadStore.cpp.o
[ 62%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ix86-32/iR5900Move.cpp.o
[ 62%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ix86-32/iR5900MultDiv.cpp.o
[ 62%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ix86-32/iR5900Shift.cpp.o
[ 63%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ix86-32/iR5900Templates.cpp.o
[ 63%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/ix86-32/recVTLB.cpp.o
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp: В функции «void vtlb_DynGenRead64_Const(u32, u32)»:
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp:380:40: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
iMOV64_Smart( ptr[edx], ptr[(void*)ppf] );
^
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp:384:39: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
iMOV128_SSE( ptr[edx], ptr[(void*)ppf] );
^
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp: В функции «void vtlb_DynGenRead32_Const(u32, bool, u32)»:
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp:427:29: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
xMOVSX( eax, ptr8[(u8*)ppf] );
^
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp:429:29: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
xMOVZX( eax, ptr8[(u8*)ppf] );
^
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp:434:31: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
xMOVSX( eax, ptr16[(u16*)ppf] );
^
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp:436:31: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
xMOVZX( eax, ptr16[(u16*)ppf] );
^
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp:440:27: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
xMOV( eax, ptr[(void*)ppf] );
^
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp: В функции «void vtlb_DynGenWrite_Const(u32, u32)»:
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp:517:22: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
xMOV( ptr[(void*)ppf], dl );
^
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp:521:22: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
xMOV( ptr[(void*)ppf], dx );
^
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp:525:22: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
xMOV( ptr[(void*)ppf], edx );
^
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp:529:30: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
iMOV64_Smart( ptr[(void*)ppf], ptr[edx] );
^
/home/dna/Build/pcsx2/pcsx2/x86/ix86-32/recVTLB.cpp:533:29: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
iMOV128_SSE( ptr[(void*)ppf], ptr[edx] );
^
[ 63%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/newVif_Dynarec.cpp.o
[ 63%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/newVif_Unpack.cpp.o
[ 63%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/newVif_UnpackSSE.cpp.o
[ 64%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/x86/microVU.cpp.o
In file included from /home/dna/Build/pcsx2/pcsx2/x86/microVU.h:273:0,
from /home/dna/Build/pcsx2/pcsx2/x86/microVU.cpp:19:
/home/dna/Build/pcsx2/pcsx2/x86/microVU_Analyze.inl: В функции «void analyzeBranchVI(microVU&, int, bool&)»:
/home/dna/Build/pcsx2/pcsx2/x86/microVU_Analyze.inl:403:9: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (i == mVUcount) {
^
In file included from /home/dna/Build/pcsx2/pcsx2/x86/microVU.h:278:0,
from /home/dna/Build/pcsx2/pcsx2/x86/microVU.cpp:19:
/home/dna/Build/pcsx2/pcsx2/x86/microVU_Flags.inl: В функции «void mVUsetFlags(microVU&, microFlagCycles&)»:
/home/dna/Build/pcsx2/pcsx2/x86/microVU_Flags.inl:102:7: предупреждение: variable «writeProtect» set but not used [-Wunused-but-set-variable]
bool writeProtect = false;
^
In file included from /home/dna/Build/pcsx2/pcsx2/x86/microVU.h:273:0,
from /home/dna/Build/pcsx2/pcsx2/x86/microVU.cpp:19:
/home/dna/Build/pcsx2/pcsx2/x86/microVU_Analyze.inl: В функции «void analyzeBranchVI(microVU&, int, bool&)»:
/home/dna/Build/pcsx2/pcsx2/x86/microVU_Analyze.inl:399:16: предупреждение: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2 [-Wstrict-overflow]
for (i = 0; i < iEnd && cyc < iEnd; i++) {
^
/home/dna/Build/pcsx2/pcsx2/x86/microVU_Analyze.inl:435:2: предупреждение: assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
if (i) {
^
In file included from /home/dna/Build/pcsx2/pcsx2/x86/microVU.h:278:0,
from /home/dna/Build/pcsx2/pcsx2/x86/microVU.cpp:19:
/home/dna/Build/pcsx2/pcsx2/x86/microVU_Flags.inl: В функции «void sortFullFlag(int*, int*)»:
/home/dna/Build/pcsx2/pcsx2/x86/microVU_Flags.inl:91:31: предупреждение: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2 [-Wstrict-overflow]
bFlag[i] = (t < 0) ? 0 : t+1;
^
[ 64%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/ZipTools/thread_gzip.cpp.o
[ 64%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/ZipTools/thread_lzma.cpp.o
[ 64%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Linux/LnxKeyCodes.cpp.o
[ 64%] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/Linux/LnxFlatFileReader.cpp.o
Linking CXX executable PCSX2
[ 64%] Built target PCSX2
Scanning dependencies of target CDVDiso
[ 64%] Building CXX object plugins/CDVDiso/src/CMakeFiles/CDVDiso.dir/CDVDisop.cpp.o
/home/dna/Build/pcsx2/plugins/CDVDiso/src/CDVDisop.cpp:48:1: предупреждение: deprecated conversion from string constant to «char*» [-Wwrite-strings]
};
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/CDVDisop.cpp:48:1: предупреждение: deprecated conversion from string constant to «char*» [-Wwrite-strings]
/home/dna/Build/pcsx2/plugins/CDVDiso/src/CDVDisop.cpp:53:17: предупреждение: deprecated conversion from string constant to «char*» [-Wwrite-strings]
char *LibName = "Linuz Iso CDVD ";
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/CDVDisop.cpp: В функции «s32 CDVDopen(const char*)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/CDVDisop.cpp:173:112: предупреждение: deprecated conversion from string constant to «char*» [-Wwrite-strings]
SysMessage("Error loading %s\nMake sure the iso file is not mounted in any disk emulation software!", IsoFile);
^
[ 64%] Building CXX object plugins/CDVDiso/src/CMakeFiles/CDVDiso.dir/libiso.cpp.o
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoReadZ2table(isoFile*)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:332:16: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
for (i = 0; i < iso->blocks; i++)
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoReadBZ2table(isoFile*)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:379:16: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
for (i = 0; i < iso->blocks / 16; i++)
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoReadBlock(isoFile*, u8*, int)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:718:10: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (ret < iso->blocksize)
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoReadBlockZ(isoFile*, u8*, int)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:740:10: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (ret < p)
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoReadBlockZ2(isoFile*, u8*, int)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:765:10: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (ret < p)
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoReadBlockBZ2(isoFile*, u8*, int)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:799:10: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (ret < p)
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoReadBlockD(isoFile*, u8*, int)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:830:22: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (iso->dtable[i] != lsn) continue;
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:834:11: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (ret < iso->blocksize) return -1;
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoReadBlockM(isoFile*, u8*, int)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:851:11: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (lsn >= iso->multih[i].slsn &&
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:852:15: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
lsn <= iso->multih[i].elsn)
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:865:10: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (ret < iso->blocksize)
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int isoReadBlock(isoFile*, u8*, int)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:878:10: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (lsn > iso->blocks)
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoWriteBlock(isoFile*, u8*, int)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:918:10: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (ret < iso->blocksize) return -1;
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoWriteBlockZ(isoFile*, u8*, int)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:943:10: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (ret < size)
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoWriteBlockZ2(isoFile*, u8*, int)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:967:10: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (ret < size)
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoWriteBlockD(isoFile*, u8*, int)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:985:10: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (ret < iso->blocksize) return -1;
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp: В функции «int _isoWriteBlockBZ2(isoFile*, u8*, int)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:999:10: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (lsn == (iso->blocks - 1))
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/libiso.cpp:1025:10: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
if (ret < size)
^
[ 64%] Building CXX object plugins/CDVDiso/src/CMakeFiles/CDVDiso.dir/Linux/Config.cpp.o
/home/dna/Build/pcsx2/plugins/CDVDiso/src/Linux/Config.cpp: В функции «void LoadConf()»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/Linux/Config.cpp:44:42: предупреждение: ignoring return value of «int fscanf(FILE*, const char*, ...)», declared with attribute warn_unused_result [-Wunused-result]
fscanf(f, "IsoFile = %[^\n]\n", IsoFile);
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/Linux/Config.cpp:45:40: предупреждение: ignoring return value of «int fscanf(FILE*, const char*, ...)», declared with attribute warn_unused_result [-Wunused-result]
fscanf(f, "CdDev = %[^\n]\n", CdDev);
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/Linux/Config.cpp:46:45: предупреждение: ignoring return value of «int fscanf(FILE*, const char*, ...)», declared with attribute warn_unused_result [-Wunused-result]
fscanf(f, "BlockDump = %d\n", &BlockDump);
^
[ 64%] Building C object plugins/CDVDiso/src/CMakeFiles/CDVDiso.dir/Linux/interface.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
[ 64%] Building CXX object plugins/CDVDiso/src/CMakeFiles/CDVDiso.dir/Linux/Linux.cpp.o
/home/dna/Build/pcsx2/plugins/CDVDiso/src/Linux/Linux.cpp: В функции «void OnCompress(GtkButton*, gpointer)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/Linux/Linux.cpp:124:47: предупреждение: deprecated conversion from string constant to «char*» [-Wwrite-strings]
SysMessageLoc("Error compressing iso image");
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/Linux/Linux.cpp:128:43: предупреждение: deprecated conversion from string constant to «char*» [-Wwrite-strings]
SysMessageLoc("Iso image compressed OK");
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/Linux/Linux.cpp: В функции «void OnCreate(GtkButton*, gpointer)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/Linux/Linux.cpp:482:49: предупреждение: deprecated conversion from string constant to «char*» [-Wwrite-strings]
if (!stop) SysMessageLoc("Iso Image Created OK");
^
/home/dna/Build/pcsx2/plugins/CDVDiso/src/Linux/Linux.cpp: В функции «void OnCreateZ(GtkButton*, gpointer)»:
/home/dna/Build/pcsx2/plugins/CDVDiso/src/Linux/Linux.cpp:674:60: предупреждение: deprecated conversion from string constant to «char*» [-Wwrite-strings]
if (!stop) SysMessageLoc("Compressed Iso Image Created OK");
^
[ 65%] Building C object plugins/CDVDiso/src/CMakeFiles/CDVDiso.dir/Linux/support.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
Linking CXX shared module libCDVDiso.so
[ 65%] Built target CDVDiso
Scanning dependencies of target CDVDlinuz
[ 65%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/buffer.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
[ 65%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/convert.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
[ 65%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/ini.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
[ 65%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/version.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
[ 66%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/Linux/aboutbox.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
[ 66%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/Linux/actualfile.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/actualfile.c: В функции «ActualFileSeek»:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/actualfile.c:231:11: предупреждение: variable «moved» set but not used [-Wunused-but-set-variable]
off64_t moved;
^
[ 66%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/Linux/CD.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/CD.c:77:25: предупреждение: в инициализации указуемые типы различаются знаковостью [-Wpointer-sign]
u8 *playstationcdname = "PLAYSTATION\0";
^
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/CD.c:79:15: предупреждение: в инициализации указуемые типы различаются знаковостью [-Wpointer-sign]
u8 *ps1name = "CD-XA001\0";
^
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/CD.c: В функции «CDreadTrack»:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/CD.c:151:3: предупреждение: при передаче аргумента 2 «LBAtoMSF»: указуемые типы различаются знаковостью [-Wpointer-sign]
LBAtoMSF(lsn, buffer);
^
In file included from /home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/CD.c:63:0:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/../convert.h:93:13: замечание: expected «char *» but argument is of type «u8 *»
extern void LBAtoMSF(unsigned long lsn, char *buffer);
^
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/CD.c: В функции «CDgetDiskType»:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/CD.c:649:3: предупреждение: при передаче аргумента 2 «LBAtoMSF»: указуемые типы различаются знаковостью [-Wpointer-sign]
LBAtoMSF(cdtrack.cdte_addr.lba, &tocbuffer[27]);
^
In file included from /home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/CD.c:63:0:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/../convert.h:93:13: замечание: expected «char *» but argument is of type «u8 *»
extern void LBAtoMSF(unsigned long lsn, char *buffer);
^
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/CD.c:693:7: предупреждение: при передаче аргумента 2 «LBAtoMSF»: указуемые типы различаются знаковостью [-Wpointer-sign]
LBAtoMSF(cdtrack.cdte_addr.lba, &tocbuffer[j*10 + 37]);
^
In file included from /home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/CD.c:63:0:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/../convert.h:93:13: замечание: expected «char *» but argument is of type «u8 *»
extern void LBAtoMSF(unsigned long lsn, char *buffer);
^
[ 66%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/Linux/CDVDlinuz.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
[ 66%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/Linux/conf.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/conf.c: В функции «LoadConf»:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/conf.c:169:12: предупреждение: при передаче аргумента 4 «INILoadString»: указуемые типы различаются знаковостью [-Wpointer-sign]
retval = INILoadString(conffilename, "Settings", "Device", conf.devicename);
^
In file included from /home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/conf.c:33:0:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/../ini.h:97:12: замечание: expected «char *» but argument is of type «u8 *»
extern int INILoadString(char *file, char *section, char *keyword, char *buffer);
^
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/conf.c:171:5: предупреждение: при передаче аргумента 1 «sprintf»: указуемые типы различаются знаковостью [-Wpointer-sign]
sprintf(conf.devicename, "/dev/dvd");
^
In file included from /usr/include/features.h:378:0,
from /usr/include/errno.h:28,
from /home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/conf.c:21:
/usr/include/bits/stdio2.h:31:1: замечание: expected «char * __restrict__» but argument is of type «u8 *»
__NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
^
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/conf.c: В функции «SaveConf»:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/conf.c:183:3: предупреждение: при передаче аргумента 4 «INISaveString»: указуемые типы различаются знаковостью [-Wpointer-sign]
INISaveString(conffilename, "Settings", "Device", conf.devicename);
^
In file included from /home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/conf.c:33:0:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/../ini.h:95:12: замечание: expected «char *» but argument is of type «u8 *»
extern int INISaveString(char *file, char *section, char *keyword, char *value);
^
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/conf.c: В функции «ExecCfg»:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/conf.c:80:3: предупреждение: ignoring return value of «system», declared with attribute warn_unused_result [-Wunused-result]
system(templine);
^
[ 66%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/Linux/device.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/device.c: В функции «DeviceOpen»:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/device.c:133:18: предупреждение: при передаче аргумента 1 «open»: указуемые типы различаются знаковостью [-Wpointer-sign]
devicehandle = open(conf.devicename, O_RDONLY | O_NONBLOCK);
^
In file included from /usr/include/fcntl.h:302:0,
from /home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/device.c:22:
/usr/include/bits/fcntl2.h:41:1: замечание: expected «const char *» but argument is of type «u8 *»
open (const char *__path, int __oflag, ...)
^
[ 67%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/Linux/DVD.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/DVD.c:41:23: предупреждение: в инициализации указуемые типы различаются знаковостью [-Wpointer-sign]
u8 *playstationname = "PLAYSTATION\0";
^
[ 67%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/Linux/interface.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
[ 67%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/Linux/logfile.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/logfile.c: В функции «PrintLog»:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/logfile.c:173:3: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
write(logfile, logfiletemp, len);
^
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/logfile.c:175:3: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
write(logfile, "\r\n", 2); // ... and write out your own.
^
[ 67%] Building C object plugins/CDVDlinuz/Src/CMakeFiles/CDVDlinuz.dir/Linux/mainbox.c.o
cc1: предупреждение: command line option «-std=c++11» is valid for C++/ObjC++ but not for C
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/mainbox.c: В функции «MainBoxOKEvent»:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/mainbox.c:200:3: предупреждение: при передаче аргумента 1 «strcpy»: указуемые типы различаются знаковостью [-Wpointer-sign]
strcpy(conf.devicename, tempdevice); // Temporarily put in new device name
^
In file included from /usr/include/features.h:378:0,
from /usr/include/stdio.h:27,
from /home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/mainbox.c:45:
/usr/include/bits/string3.h:102:1: замечание: expected «char * __restrict__» but argument is of type «u8 *»
__NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
^
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/mainbox.c: В функции «MainBoxDisplay»:
/home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/mainbox.c:352:3: предупреждение: при передаче аргумента 2 «gtk_entry_set_text»: указуемые типы различаются знаковостью [-Wpointer-sign]
gtk_entry_set_text(GTK_ENTRY(mainbox.device), conf.devicename);
^
In file included from /usr/include/gtk-2.0/gtk/gtktreeview.h:31:0,
from /usr/include/gtk-2.0/gtk/gtkcombobox.h:29,
from /usr/include/gtk-2.0/gtk/gtk.h:72,
from /home/dna/Build/pcsx2/plugins/CDVDlinuz/Src/Linux/mainbox.c:56:
/usr/include/gtk-2.0/gtk/gtkentry.h:213:12: замечание: expected «const gchar *» but argument is of type «u8 *»
void gtk_entry_set_text (GtkEntry *entry,
^
Linking C shared module libCDVDlinuz.so
[ 67%] Built target CDVDlinuz
Scanning dependencies of target CDVDnull
[ 67%] Building CXX object plugins/CDVDnull/CMakeFiles/CDVDnull.dir/CDVD.cpp.o
Linking CXX shared module libCDVDnull.so
[ 67%] Built target CDVDnull
Scanning dependencies of target dev9null-0.5.0
[ 67%] Building CXX object plugins/dev9null/CMakeFiles/dev9null-0.5.0.dir/Config.cpp.o
[ 67%] Building CXX object plugins/dev9null/CMakeFiles/dev9null-0.5.0.dir/DEV9.cpp.o
Linking CXX shared module libdev9null-0.5.0.so
[ 67%] Built target dev9null-0.5.0
Scanning dependencies of target FWnull-0.7.0
[ 68%] Building CXX object plugins/FWnull/CMakeFiles/FWnull-0.7.0.dir/Config.cpp.o
[ 68%] Building CXX object plugins/FWnull/CMakeFiles/FWnull-0.7.0.dir/FW.cpp.o
Linking CXX shared module libFWnull-0.7.0.so
[ 68%] Built target FWnull-0.7.0
Scanning dependencies of target GSdx-1.0.0
[ 68%] Building CXX object plugins/GSdx/CMakeFiles/GSdx-1.0.0.dir/GLLoader.cpp.o
/home/dna/Build/pcsx2/plugins/GSdx/GLLoader.cpp: В функции «void Emulate_DSA::Init()»:
/home/dna/Build/pcsx2/plugins/GSdx/GLLoader.cpp:307:34: ошибка: некорректное преобразование из «void (*)(GLuint, GLsizei, const void*, GLbitfield) {aka void (*)(unsigned int, int, const void*, unsigned int)}» в «PFNGLNAMEDBUFFERSTORAGEPROC {aka void (*)(unsigned int, long int, const void*, unsigned int)}» [-fpermissive]
gl_NamedBufferStorage = NamedBufferStorage;
^
/home/dna/Build/pcsx2/plugins/GSdx/GLLoader.cpp:308:34: ошибка: некорректное преобразование из «void (*)(GLuint, GLsizei, const void*, GLenum) {aka void (*)(unsigned int, int, const void*, unsigned int)}» в «PFNGLNAMEDBUFFERDATAPROC {aka void (*)(unsigned int, long int, const void*, unsigned int)}» [-fpermissive]
gl_NamedBufferData = NamedBufferData;
^
/home/dna/Build/pcsx2/plugins/GSdx/GLLoader.cpp:309:34: ошибка: некорректное преобразование из «void (*)(GLuint, GLintptr, GLsizei, const void*) {aka void (*)(unsigned int, long int, int, const void*)}» в «PFNGLNAMEDBUFFERSUBDATAPROC {aka void (*)(unsigned int, long int, long int, const void*)}» [-fpermissive]
gl_NamedBufferSubData = NamedBufferSubData;
^
/home/dna/Build/pcsx2/plugins/GSdx/GLLoader.cpp:311:34: ошибка: некорректное преобразование из «void* (*)(GLuint, GLintptr, GLsizei, GLbitfield) {aka void* (*)(unsigned int, long int, int, unsigned int)}» в «PFNGLMAPNAMEDBUFFERRANGEPROC {aka void* (*)(unsigned int, long int, long int, unsigned int)}» [-fpermissive]
gl_MapNamedBufferRange = MapNamedBufferRange;
^
/home/dna/Build/pcsx2/plugins/GSdx/GLLoader.cpp:313:34: ошибка: некорректное преобразование из «void (*)(GLuint, GLintptr, GLsizei) {aka void (*)(unsigned int, long int, int)}» в «PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC {aka void (*)(unsigned int, long int, long int)}» [-fpermissive]
gl_FlushMappedNamedBufferRange = FlushMappedNamedBufferRange;
^
plugins/GSdx/CMakeFiles/GSdx-1.0.0.dir/build.make:54: ошибка выполнения рецепта для цели «plugins/GSdx/CMakeFiles/GSdx-1.0.0.dir/GLLoader.cpp.o»
make[2]: *** [plugins/GSdx/CMakeFiles/GSdx-1.0.0.dir/GLLoader.cpp.o] Ошибка 1
CMakeFiles/Makefile2:654: ошибка выполнения рецепта для цели «plugins/GSdx/CMakeFiles/GSdx-1.0.0.dir/all»
make[1]: *** [plugins/GSdx/CMakeFiles/GSdx-1.0.0.dir/all] Ошибка 2
Makefile:117: ошибка выполнения рецепта для цели «all»
make: *** [all] Ошибка 2


Не подскажете что не так?
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Pulfer » 23 Aug 2015, 13:54

Vochatrak wrote:Господа, я тут пробовал собрать pcsx2 и не собралось. :(
Вот такое выдало в консоль:
Code: Select all
/home/dna/Build/pcsx2/plugins/GSdx/GLLoader.cpp:309:34: ошибка: некорректное преобразование из «void (*)(GLuint, GLintptr, GLsizei, const void*) {aka void (*)(unsigned int, long int, int, const void*)}» в «PFNGLNAMEDBUFFERSUBDATAPROC {aka void (*)(unsigned int, long int, long int, const void*)}» [-fpermissive]
   gl_NamedBufferSubData          = NamedBufferSubData;


Не подскажете что не так?


Я так полагаю, что в ближайшее время в гите должны исправить это. Вряд ли стоит самому лезть в код и править эту ошибку с преобразованием типов.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby Vochatrak » 23 Aug 2015, 22:50

Ясно, спасибо.
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Alex » 03 Sep 2015, 15:05

Здравствуйте! Как и Vochatrak пытаюсь собрать Wine с поддержкой usb. Рецепт взят отсюда : http://wiki.winehq.org/USB
При выполнении make выводятся ошибки :
gcc -c -o hal.o hal.c -I. -I../../include -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe \
-fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers \
-Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith \
-Wlogical-op -gdwarf-2 -gstrict-dwarf -g -O2
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:1164:5: ошибка: повторная декларация перечислимого типа «IoReadAccess»
IoReadAccess,
^
../../include/ddk/wdm.h:1149:5: замечание: здесь было предыдущее определение «IoReadAccess»
IoReadAccess,
^
../../include/ddk/wdm.h:1165:5: ошибка: повторная декларация перечислимого типа «IoWriteAccess»
IoWriteAccess,
^
../../include/ddk/wdm.h:1150:5: замечание: здесь было предыдущее определение «IoWriteAccess»
IoWriteAccess,
^
../../include/ddk/wdm.h:1166:5: ошибка: повторная декларация перечислимого типа «IoModifyAccess»
IoModifyAccess
^
../../include/ddk/wdm.h:1151:5: замечание: здесь было предыдущее определение «IoModifyAccess»
IoModifyAccess
^
../../include/ddk/wdm.h:1167:3: ошибка: несовместимые типы для «LOCK_OPERATION»
} LOCK_OPERATION;
^
../../include/ddk/wdm.h:1152:3: замечание: здесь была предыдущая декларация «LOCK_OPERATION»
} LOCK_OPERATION;
^
../../include/ddk/wdm.h:1169:16: ошибка: повторное определение «struct _DEVICE_RELATIONS»
typedef struct _DEVICE_RELATIONS {
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:328:16: замечание: originally defined here
typedef struct _DEVICE_RELATIONS {
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:1172:3: ошибка: несовместимые типы для «DEVICE_RELATIONS»
} DEVICE_RELATIONS, *PDEVICE_RELATIONS;
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:331:3: замечание: здесь была предыдущая декларация «DEVICE_RELATIONS»
} DEVICE_RELATIONS;
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:1172:22: ошибка: несовместимые типы для «PDEVICE_RELATIONS»
} DEVICE_RELATIONS, *PDEVICE_RELATIONS;
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:332:35: замечание: здесь была предыдущая декларация «PDEVICE_RELATIONS»
typedef struct _DEVICE_RELATIONS *PDEVICE_RELATIONS;
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:1183:16: ошибка: повторное определение «struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION»
typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION {
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:600:16: замечание: originally defined here
typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION {
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:1189:3: ошибка: несовместимые типы для «DEVICE_INTERFACE_CHANGE_NOTIFICATION»
} DEVICE_INTERFACE_CHANGE_NOTIFICATION, *PDEVICE_INTERFACE_CHANGE_NOTIFICATION;
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:606:3: замечание: здесь была предыдущая декларация «DEVICE_INTERFACE_CHANGE_NOTIFICATION»
} DEVICE_INTERFACE_CHANGE_NOTIFICATION, *PDEVICE_INTERFACE_CHANGE_NOTIFICATION;
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:1189:42: ошибка: несовместимые типы для «PDEVICE_INTERFACE_CHANGE_NOTIFICATION»
} DEVICE_INTERFACE_CHANGE_NOTIFICATION, *PDEVICE_INTERFACE_CHANGE_NOTIFICATION;
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:606:42: замечание: здесь была предыдущая декларация «PDEVICE_INTERFACE_CHANGE_NOTIFICATION»
} DEVICE_INTERFACE_CHANGE_NOTIFICATION, *PDEVICE_INTERFACE_CHANGE_NOTIFICATION;
^
In file included from hal.c:28:0:
../../include/windef.h:106:30: ошибка: unknown type name «do_not_use_this_in_wine»
#define __ONLY_IN_WINELIB(x) do_not_use_this_in_wine
^
../../include/windef.h:176:21: замечание: in expansion of macro «__ONLY_IN_WINELIB»
#define CONST __ONLY_IN_WINELIB(const)
^
../../include/ddk/wdm.h:1259:59: замечание: in expansion of macro «CONST»
NTSTATUS WINAPI IoRegisterDeviceInterface(PDEVICE_OBJECT,CONST GUID*,PUNICODE_STRING,PUNICODE_STRING);
^
In file included from hal.c:31:0:
../../include/ddk/ntddk.h:130:14: ошибка: вложенное переопределение «enum _IO_NOTIFICATION_EVENT_CATEGORY»
typedef enum _IO_NOTIFICATION_EVENT_CATEGORY
^
../../include/ddk/ntddk.h:130:14: ошибка: повторная декларация «enum _IO_NOTIFICATION_EVENT_CATEGORY»
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:1174:14: замечание: originally defined here
typedef enum _IO_NOTIFICATION_EVENT_CATEGORY {
^
In file included from hal.c:31:0:
../../include/ddk/ntddk.h:132:5: ошибка: повторная декларация перечислимого типа «EventCategoryReserved»
EventCategoryReserved,
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:1175:5: замечание: здесь было предыдущее определение «EventCategoryReserved»
EventCategoryReserved,
^
In file included from hal.c:31:0:
../../include/ddk/ntddk.h:133:5: ошибка: повторная декларация перечислимого типа «EventCategoryHardwareProfileChange»
EventCategoryHardwareProfileChange,
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:1176:5: замечание: здесь было предыдущее определение «EventCategoryHardwareProfileChange»
EventCategoryHardwareProfileChange,
^
In file included from hal.c:31:0:
../../include/ddk/ntddk.h:134:5: ошибка: повторная декларация перечислимого типа «EventCategoryDeviceInterfaceChange»
EventCategoryDeviceInterfaceChange,
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:1177:5: замечание: здесь было предыдущее определение «EventCategoryDeviceInterfaceChange»
EventCategoryDeviceInterfaceChange,
^
In file included from hal.c:31:0:
../../include/ddk/ntddk.h:135:5: ошибка: повторная декларация перечислимого типа «EventCategoryTargetDeviceChange»
EventCategoryTargetDeviceChange
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:1178:5: замечание: здесь было предыдущее определение «EventCategoryTargetDeviceChange»
EventCategoryTargetDeviceChange
^
In file included from hal.c:31:0:
../../include/ddk/ntddk.h:152:23: ошибка: несовместимые типы для «PDRIVER_NOTIFICATION_CALLBACK_ROUTINE»
typedef VOID (WINAPI *PDRIVER_NOTIFICATION_CALLBACK_ROUTINE)(PVOID,PVOID);
^
In file included from ../../include/ddk/ntddk.h:23:0,
from hal.c:31:
../../include/ddk/wdm.h:1191:27: замечание: здесь была предыдущая декларация «PDRIVER_NOTIFICATION_CALLBACK_ROUTINE»
typedef NTSTATUS (WINAPI *PDRIVER_NOTIFICATION_CALLBACK_ROUTINE)(PVOID,PVOID);
^
Makefile:154: ошибка выполнения рецепта для цели «hal.o»
make[1]: *** [hal.o] Ошибка 1
make[1]: выход из каталога «/home/alex/wine/dlls/hal»
Makefile:8516: ошибка выполнения рецепта для цели «dlls/hal»
make: *** [dlls/hal] Ошибка 2

Растолкуйте, пожалуйста, что это за ошибки и что с ними делать? Очень нужен Wine с работающими usb портами.
Alex
 
Posts: 23
Joined: 27 Mar 2014, 13:12

Re: Научите компилировать.

Postby Pulfer » 03 Sep 2015, 16:09

Alex wrote:Здравствуйте! Как и Vochatrak пытаюсь собрать Wine с поддержкой usb. Рецепт взят отсюда : http://wiki.winehq.org/USB
При выполнении make выводятся ошибки : ...
Растолкуйте, пожалуйста, что это за ошибки и что с ними делать? Очень нужен Wine с работающими usb портами.


К сожалению, эти патчи с 2012 года не обновлялись и предназначены для старых версий Wine. Судя по ошибкам сборки, там требуется серьёзная работа по адаптации к новым версиям. Это работа для профессионального программиста, в двух словах тут не объяснить и не помочь, к сожалению.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby Alex » 04 Sep 2015, 10:30

Здравствуйте! Всё ещё пытаюсь собрать Wine с поддержкой usb. В одной из библиотек в файле Makefile.in есть строка @MAKE_DLL_RULES@. Операция make останавливается с ошибкой на этой библиотеке. Закоментировал строку
@MAKE_DLL_RULES@ - make прошёл до конца без ошибок. Объясните, пожалуйста, что такое @MAKE_DLL_RULES@. Гугление по этому вопросу результатов не дало.
Alex
 
Posts: 23
Joined: 27 Mar 2014, 13:12

Re: Научите компилировать.

Postby Алзим » 04 Sep 2015, 10:47

Если, MAKE — сделать (собрать), DLL — на Винде обычно файлы дров, RULES — правила.
То, «Собрать драйвер по правилам» или «Создать правила для драйвера».
User avatar
Алзим
 
Posts: 3975
Joined: 18 Jun 2015, 11:57
Location: Интернет

Re: Научите компилировать.

Postby Alex » 04 Sep 2015, 13:02

Алзим wrote:«Собрать драйвер по правилам» или «Создать правила для драйвера».

Это как-то разные вещи. Все-таки объясните, пожалуйста, что происходит при наличии и отсутствии строки @MAKE_DLL_RULES@ в файле Makefile.in.
Как можно узнать поддерживает или нет собранный пакет некоторую библиотеку?
Alex
 
Posts: 23
Joined: 27 Mar 2014, 13:12

Re: Научите компилировать.

Postby sponikor » 20 Feb 2016, 10:12

Pulfer wrote:А иногда для сборки новой версии RPM-пакета достаточно лишь заменить в спек-файле версию программы и запустить rpmbuild -ba спек. Например: https://abf.rosalinux.ru/import/wesnoth ... a899513e88

А можно подробней про rpmbuild -ba спек , в спек файле стоит нужная версия (2.8.1) https://abf.rosalinux.ru/sponikor/cinna ... 504142e782
User avatar
sponikor
 
Posts: 221
Joined: 04 May 2013, 17:39

Re: Научите компилировать.

Postby VictorR2007 » 20 Feb 2016, 19:09

sponikor wrote:А можно подробней про rpmbuild -ba спек , в спек файле стоит нужная версия (2.8.1) https://abf.rosalinux.ru/sponikor/cinna ... 504142e782

Кстати, можно посмотреть командой rpmbuild --help или rpm --help.
Во всём виноваты русские. Они всем вредят. Всегда. И ещё Путин. Ещё тот гусь. Тоже вредит. Всем. И всех захватывает. Ужас.:)
User avatar
VictorR2007
 
Posts: 4957
Joined: 12 Sep 2011, 12:00
Location: Северодвинск

Re: Научите компилировать.

Postby Vochatrak » 03 Mar 2016, 21:55

Хочу (уже в который раз :x ) освоить опакечевание программ.
Есть ряд откровенно ламерских вопросов:
Хочу я собрать citra - https://github.com/tfarley/citra/tree/hw-tex-forwarding - именно эту ветку.
Написал (ну, как понял из инструкций) spec файл
Code: Select all
%define _unpackaged_files_terminate_build 0

Summary:Citra 3DS Emulator
Name:citra
Version:?
Release:?
License:GPL
URL:http://citra-emu.org
Group:User Emulators
Source0:%{name}-%{version}.tar.gz

BuildRequires:libqt4-dev libqt4-opengl-dev

%description
Emulator Nintendo 3DS whitch hw-text.

%prep
%setup -q -n %{name}

%build
%cmake
%make
popd

%install
pushd %{name} %{version}
%makeinstall_std
popd

%files
citra-qt
%{_bindir}/Citra

Кстати правильно? :oops:
Но так и не понял что собственно писать в Version: и Release: если они неизвестны (или не важно)?
В Source0: что указать? Локально то ясно, а если через ABF? В зависимости нужно указывать GCC, Cmake, и.т.д?
Если программа собирается с Qt4 и Qt5 (можно выбрать) как это сделать в spec -е?
И еще один момент - если нужно добавить аргумент (в данном случае -DCMAKE_BUILD_TYPE=Release) его как указать?
P.S. И на будущее, как удалить проект с ABF?
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Алзим » 03 Mar 2016, 22:21

Vochatrak wrote:P.S. И на будущее, как удалить проект с ABF?

Это просто. :)
Это в в настройках проекта есть:
снимок193.jpeg


Может я и ошибаюсь, но версия проекта наверное всё же 1.0
https://github.com/citra-emu/citra/blob ... ra.desktop
User avatar
Алзим
 
Posts: 3975
Joined: 18 Jun 2015, 11:57
Location: Интернет

Re: Научите компилировать.

Postby Vochatrak » 03 Mar 2016, 22:28

Это просто.

Спасибо.
Может я и ошибаюсь, но версия проекта наверное всё же 1.0

Да, с эмуляторами - фиг разберешь...
А "от балды" цифры ставить можно? (это на сборку вообще влияет?)
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Pulfer » 04 Mar 2016, 08:39

Vochatrak wrote:%define _unpackaged_files_terminate_build 0


Так делать не надо. Т.к. это верный способ при обновлении пакета потерять какие-то нужные новые файлы. Если есть полная уверенность, что какой-то файл не надо помещать в пакет, то лучше явным образом удалить его в секции %install спека.

Vochatrak wrote:BuildRequires:libqt4-dev libqt4-opengl-dev


Просто:
BuildRequires: qt4-devel

Или
BuildRequires: pkgconfig(QtCore)
BuildRequires: pkgconfig(QtOpenGL)
+ какие ещё нужны Qt-модули, если указывать их индивидуально. Но для Qt4 все они лежат в qt4-devel, так что особого смысла перечислять индивидуально нет.

Vochatrak wrote:%build
%cmake
%make
popd

%install
pushd %{name} %{version}
%makeinstall_std
popd


Правильно так:

Code: Select all
%build
%cmake
%make

%install
%makeinstall_std -С build


Макрос %cmake создаёт каталог build, переходит в него и запускает cmake с рядом параметров. Поэтому потом указываем через опцию -C, что выполнять команду "make install" надо в каталоге build. Посмотреть все параметры запуска cmake можно командой "rpm --eval %cmake".

Vochatrak wrote:%files
citra-qt
%{_bindir}/Citra


С citra-qt тут явно что-то не то. По идее, он должен быть в %{_bindir}.

Vochatrak wrote:Кстати правильно? :oops:
Но так и не понял что собственно писать в Version: и Release: если они неизвестны (или не важно)?


Release - это версия пакета, а не программы, так что для стабильных версий программ надо начинать с 1, а потом просто увеличивать на 1. Release считается меньше Version, поэтому 0.1-1 меньше, чем 0.1-2, а 0.1-2 в свою очередь меньше, чем 0.2-1. При обновлении версии программы Release лучше возвращать на 1.

Для снапшотов из гита принято в Release указывать дату снапшота по схеме: 0.дата.1, где а потом в случае необходимости (пересборка и т.п.) увеличивать последнюю цифру. Потом для нового снапшота менять дату и снова последнюю цифру ставить в 1. А когда выйдет стабильная версия программы, сделать Release 1. Чтобы 0.1-0.20160304.1 можно было обновить на 0.1-1. Это для версий предрелизов. Для пострелизов первую цифру Release принято делать не нулём.

Версию программы (Version) надо искать в исходниках, если больше нигде не указана. Если вообще не получается найти, то лучше сделать 0, чтобы потом можно было обновить хоть на 0.0.1.

Vochatrak wrote:В Source0: что указать? Локально то ясно, а если через ABF?


На ABF как и локально, надо надо залить тарбол на http://file-store.rosalinux.ru/ и прописать его в .abf.yml сборочного проекта. Тогда перед сборкой ABF скачает файл по хэшу (правая часть), назовёт его указанным именем (левая часть) и поместит в каталог SOURCES для сборки.

Пример: https://abf.rosalinux.ru/import/qtcurve ... 1/.abf.yml

Vochatrak wrote:В зависимости нужно указывать GCC, Cmake, и.т.д?


gcc ставится автоматически, а cmake надо прописать.

Vochatrak wrote:Если программа собирается с Qt4 и Qt5 (можно выбрать) как это сделать в spec -е?
И еще один момент - если нужно добавить аргумент (в данном случае -DCMAKE_BUILD_TYPE=Release) его как указать?
[/quote]

Так и указать: "%cmake -DCMAKE_BUILD_TYPE=Release"

Для выбора между Qt4 и Qt5 тоже указать через -Dxxx, только посмотреть в CMakeLists.txt, как именно там назвали соответствующую опцию. В данном случае это "-DCITRA_FORCE_QT4:BOOL=ON", если требуется именно сборка с Qt4. Иначе автоматически выберется Qt5, а если не обнаружится в сборочном окружении, то Qt4.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby Pulfer » 04 Mar 2016, 08:41

Алзим wrote:Может я и ошибаюсь, но версия проекта наверное всё же 1.0
https://github.com/citra-emu/citra/blob ... ra.desktop


Это версия спецификации desktop-файла, а не программы.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby Vochatrak » 04 Mar 2016, 20:36

Pulfer
Спасибо.
А упаковать (на подобии архива) в RPM, уже скомпилированную программу можно?
И такой момент.
Как задать Цитре, что папка с образами sd карт и прочего, должна находиться в хомяке? Можно указать где конкретно?

Добавил:
А можете в вики и/или сюда сделать шаблон spec файла?
Что-то вроде
Code: Select all
Summary:полное название
Name:название
...
BuildRequires:зависимости
...
%build
%cmake
%make
%install
%makeinstall_std -С build
popd

И.т.д. усредненный спек. Просто чтобы было на что ориентироваться новичкам. Значение - что нужно вписать.

Добавил2
Как указать что собирать GLFW версию не нужно? (я просто cmake-GUI использую, там просто чекбокс)?
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Pulfer » 05 Mar 2016, 04:20

Vochatrak wrote:А упаковать (на подобии архива) в RPM, уже скомпилированную программу можно?


Да, иногда такое делается, когда в апстриме выкладывают только готовые бинарники. Но если есть исходники, то так делать не стоит (за исключением разве что Java-программ в особых случаях).

Вот пример спека, где пакуется заранее скомпилированная программа из апстрима:
https://abf.rosalinux.ru/import/davmail ... vmail.spec

Vochatrak wrote:И такой момент.
Как задать Цитре, что папка с образами sd карт и прочего, должна находиться в хомяке? Можно указать где конкретно?


Сейчас нет возможности разбираться, но попробую не забыть сделать это позже.

Vochatrak wrote:Добавил:
А можете в вики и/или сюда сделать шаблон spec файла?


А вот, есть уже: http://wiki.rosalab.ru/en/index.php/Template_Spec_Files

Vochatrak wrote:Как указать что собирать GLFW версию не нужно? (я просто cmake-GUI использую, там просто чекбокс)?


Пошёл глянуть проект на гитхабе и вижу, что в апстриме сборку GLFW несколько пару дней назад вообще убрали :)

Но если снапшот старее или не из ветки master, то для этого используется cmake-опция -DENABLE_GLFW:BOOL=OFF

В CMakeLists.txt опция прописана так:

Code: Select all
option(ENABLE_GLFW "Enable the GLFW frontend" ON)


Т.е. сперва сама опция, потом её описание, а потом значение по умолчанию. Другие опции можно аналогично посмотреть.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: Научите компилировать.

Postby Vochatrak » 07 Mar 2016, 21:29

На ABF как и локально, надо надо залить тарбол на http://file-store.rosalinux.ru/ и прописать его в .abf.yml сборочного проекта. Тогда перед сборкой ABF скачает файл по хэшу (правая часть), назовёт его указанным именем (левая часть) и поместит в каталог SOURCES для сборки.

Простите, а как собственно добавить все это дело?
"Прописать хеш тарбола в abf.yml", а сам abf.yml как вообще добавить?
И спек тогда должен выглядеть так?
Code: Select all
Summary:Citra 3DS Emulator
Name:citra
Version:0
Release:0.1-0.20160307.1
License:GPL
URL:http://citra-emu.org
Group:User Emulators
Source0:citra-hw-tex-forwarding.zip

BuildRequires:qt4-devel
BuildRequires:cmake

%description
Emulator Nintendo 3DS whitch hw-text.

%prep
%setup -q -n %{name}

%build
%cmake -DCMAKE_BUILD_TYPE=Release -DCITRA_FORCE_QT4:BOOL=ON -DENABLE_GLFW:BOOL=OFF
%make

%install
%makeinstall_std -С build
popd

%files
citra-qt
%{_bindir}/Citra

Если файлы не вписаны в %files они просто не пакуются в RPM, или пока не укажу - явно исключить, пакет не соберется?
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby Алзим » 07 Mar 2016, 21:49

На http://file-store.rosalinux.ru/ файлы добавляются естественным путём. Сначала «Add files», потом «Start upload». Пароль и логин вводится тот же, что и на abf.
Как я понял, файлы типа abf.yml, патчи и т.п. добавляются с помощью утилиты git.
В спеке источник, обычно, это адрес ссылки по которой вы качали источники для добавления в http://file-store.rosalinux.ru/
Про %files можно почитать тут: viewtopic.php?f=48&t=4832&p=65800#p65322

P.S. Это только мои предположения. На самом деле, всё может быть по другому.
User avatar
Алзим
 
Posts: 3975
Joined: 18 Jun 2015, 11:57
Location: Интернет

Re: Научите компилировать.

Postby Vochatrak » 08 Mar 2016, 17:50

Как я понял, файлы типа abf.yml, патчи и т.п. добавляются с помощью утилиты git.

Там есть пояснялка, только там все команды вида git clone бла-бла git а это скорее скачать нежели залить.
Короче, мне бы расписать, я сам не въеду. :oops:
User avatar
Vochatrak
 
Posts: 785
Joined: 22 Sep 2014, 00:21

Re: Научите компилировать.

Postby keleg » 08 Mar 2016, 18:35

см. abf-console-client
keleg
 
Posts: 5087
Joined: 15 Sep 2011, 00:58

Re: Научите компилировать.

Postby Nemial » 08 Mar 2016, 18:38

http://wiki.rosalab.ru/ru/index.php/%D0 ... %D0%B5_ABF, смотрите в самом конце ссылки
AMD FX-8350\AMD Radeon R9 290\ 16 G RAM
User avatar
Nemial
 
Posts: 600
Joined: 13 Dec 2014, 17:06
Location: Калининград

Re: Научите компилировать.

Postby Pulfer » 09 Mar 2016, 12:40

Vochatrak wrote:Group:User Emulators


Просто "Emulators". Список допустимых групп содержится в файле /usr/share/rpmlint/config.d/rosa.conf из пакета rpmlint-rosa-policy.

Vochatrak wrote:%install
%makeinstall_std -С build
popd


popd тут не нужен, лучше убрать.

Vochatrak wrote:%files
citra-qt
%{_bindir}/Citra


citra-qt надо либо перенести в %{_bindir}/, либо сделать с ним что-то ещё, т.к. каждый файл/каталог должен начинаться с пути относительно buildroot. Иначе будет ошибка сборки.

Vochatrak wrote:Если файлы не вписаны в %files они просто не пакуются в RPM, или пока не укажу - явно исключить, пакет не соберется?


Да, пакет не соберётся. Скажет, что такие-то файлы установлены, но не упакованы.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3296
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia


Return to Курилка

Who is online

Users browsing this forum: No registered users and 2 guests