View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003873 | Wishes | Build System | public | 2021-06-09 11:50 | 2021-06-10 18:23 |
Reporter | Megamonster | Assigned To | |||
Priority | low | Severity | feature | Reproducibility | have not tried |
Status | new | Resolution | open | ||
Product Version | 3.0 | ||||
Summary | 0003873: Intel C++ Compiler / cmake | ||||
Description | Добавьте, пожалуйста, проверку на Github для Intel C++ Compiler. Иметь возможность компиляции другим компилятором позволит исправить ошибки и переосмыслить код. Компиляция при помощи cmake может также переосмыслить процесс компиляции. Far Manager не может быть скомпилирован более новым mingw из-за типичной ошибки, возникающей из большого PCH файла. | ||||
Tags | No tags attached. | ||||
Build | |||||
|
Добавьте, пожалуйста, проверку на Github для Intel C++ CompilerЕсли он доступен в Actions или может быть установлен вручную и его лицензия это позволяет - не вопрос, добавляйте, делайте PR. Компиляция при помощи cmake может также переосмыслить процесс компиляции.Чтобы что? Чем вас не устраивает текущая ситуация? Как это ее улучшит? Лирическое отступление: Лично у меня сложилось мнение, что cmake - дурнопахнущей субстанции кусок. Вы, конечно, можете возразить, что это я валенок и просто его готовить не умею, однако, это не только мое мнение. Само существование 500-страничных талмудов и статей с вот такими прекрасными заголовками как бы намекает. не может быть скомпилирован более новым mingwБолее новым - это каким? Давайте ссылки. Как это относится к вынесенному в заголовок? Если никак, то лучше создать отдельный issue. |
|
При компиляции возникают ошибки. Те же самые ошибки возникают при компиляцией clang. Когда я в первый раз компилировал стабильную версию, компиляция не проходила из-за слишком большого gch. Сейчас я повторить ошибку не могу, видимо, из-за того, что код другой. Сейчас ошибки такие:
Вдобавок: |
|
Ура! Я сумел повторить ошибку. В предыдущем посте я по ошибке использовал clang. Вот лог ошибки:
Mingw завершается ошибкой, если файл gch больше 128 Мб. headers.gch имеет размер 274 Мб, поэтому компиляция не проходит. Mingw из cygwin может компилировать, любой другой mingw с gcc версией > 8.1 завершается с ошибкой. |
|
Стоит исправить в makefile_gcc на:
Как всё компилируется. Прилагаю лог (там смотреть нечего).
log.mingw.txt (5,597 bytes)
build far-64 gcc [clean=N debug=N dwarf=N] Generating Release.64.gcc/obj/include/bootstrap/farlang.templ Generating language files .LNG Generator v1.5 Copyright (C) 2003-2009 WARP ItSelf Copyright (C) 2005 WARP ItSelf & Alex Yaroslavsky INFO: There are 7 strings that require review in Russian translation INFO: There are 17 strings that require review in Czech translation INFO: There are 116 strings that require review in German translation INFO: There are 323 strings that require review in Hungarian translation INFO: There are 26 strings that require review in Spanish translation INFO: There are 43 strings that require review in Slovak translation INFO: There are 22 strings that require review in Italian translation INFO: There are 7 strings that require review in Ukrainian translation INFO: There are 12 strings that require review in Belarusian translation INFO: There are 756 strings that require review in Lithuanian translation Rebuilding dependencies... Generating Release.64.gcc/FarEng.hlf Generating Release.64.gcc/FarRus.hlf Generating Release.64.gcc/FarHun.hlf Generating Release.64.gcc/FarPol.hlf Generating Release.64.gcc/FarGer.hlf Generating Release.64.gcc/FarUkr.hlf Generating Release.64.gcc/FarCze.hlf Generating Release.64.gcc/FarSky.hlf Generating Release.64.gcc/File_id.diz Generating Release.64.gcc/Far.exe.example.ini Testing C plugin API Testing C++ plugin API Generating Release.64.gcc/obj/include/bootstrap/copyright.inc Generating Release.64.gcc/obj/include/bootstrap/farversion.inc Making precompiled headers sqlite.c In file included from sqlite.c:71: thirdparty/sqlite/sqlite3.c: In function 'sqlite3DefaultRowEst': thirdparty/sqlite/sqlite3.c:115799:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation] 115799 | if( pIdx->pPartIdxWhere!=0 ) x -= 10; assert( 10==sqlite3LogEst(2) ); | ^~ In file included from thirdparty/sqlite/sqlite3.c:14233, from sqlite.c:71: thirdparty/sqlite/sqlite3.c:115799:42: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' 115799 | if( pIdx->pPartIdxWhere!=0 ) x -= 10; assert( 10==sqlite3LogEst(2) ); | ^~~~~~ In file included from sqlite.c:71: thirdparty/sqlite/sqlite3.c: In function 'whereSortingCost': thirdparty/sqlite/sqlite3.c:152419:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation] 152419 | if( nRow>10 ) nRow -= 10; assert( 10==sqlite3LogEst(2) ); | ^~ In file included from thirdparty/sqlite/sqlite3.c:14233, from sqlite.c:71: thirdparty/sqlite/sqlite3.c:152419:32: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' 152419 | if( nRow>10 ) nRow -= 10; assert( 10==sqlite3LogEst(2) ); | ^~~~~~ cache.cpp cddrv.cpp clipboard.cpp cmdline.cpp codepage_selection.cpp colormix.cpp colormix.cpp: In function 'auto to_rgba(COLORREF)': colormix.cpp:62:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 62 | return *reinterpret_cast<rgba const*>(&Color); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ colormix.cpp:62:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] common.tests.cpp components.cpp config.cpp configdb.cpp console.cpp console_session.cpp constitle.cpp copy.cpp copy_progress.cpp ctrlobj.cpp cvtname.cpp datetime.cpp delete.cpp desktop.cpp dialog.cpp dirinfo.cpp dirmix.cpp diskmenu.cpp dizlist.cpp dlgedit.cpp drivemix.cpp edit.cpp editcontrol.cpp editor.cpp eject.cpp elevation.cpp encoding.cpp eol.cpp exception.cpp exception_handler.cpp exception_handler_test.cpp execute.cpp FarDlgBuilder.cpp farversion.cpp fastfind.cpp file_io.cpp fileattr.cpp fileedit.cpp filefilter.cpp filefilterparams.cpp filelist.cpp filemasks.cpp fileowner.cpp filepanels.cpp filestr.cpp filesystemwatcher.cpp filetype.cpp fileview.cpp findfile.cpp flink.cpp fnparce.cpp foldtree.cpp format.cpp global.cpp grabber.cpp headers.cpp help.cpp hilight.cpp history.cpp hmenu.cpp hotplug.cpp imports.cpp infolist.cpp interf.cpp keybar.cpp keyboard.cpp language.cpp locale.cpp lockscrn.cpp log.cpp macro.cpp main.cpp manager.cpp memcheck.cpp menubar.cpp message.cpp mix.cpp mkdir.cpp modal.cpp namelist.cpp network.cpp new_handler.cpp notification.cpp nsUniversalDetectorEx.cpp palette.cpp panel.cpp panelmix.cpp pathmix.cpp pipe.cpp platform.cpp platform.chrono.cpp platform.concurrency.cpp platform.env.cpp platform.fs.cpp platform.memory.cpp platform.process.cpp platform.reg.cpp platform.security.cpp platform.version.cpp plist.cpp plclass.cpp plugapi.cpp PluginA.cpp plugins.cpp plugsettings.cpp poscache.cpp preservelongname.cpp preservestyle.cpp print.cpp processname.cpp qview.cpp refreshwindowmanager.cpp RegExp.cpp savescr.cpp scantree.cpp scrbuf.cpp scrobj.cpp scrsaver.cpp setattr.cpp setcolor.cpp shortcuts.cpp sqlitedb.cpp stddlg.cpp string_sort.cpp string_utils.cpp strmix.cpp tinyxml.cpp taskbar.cpp testing.cpp tracer.cpp treelist.cpp tvar.cpp usermenu.cpp viewer.cpp vmenu.cpp vmenu2.cpp window.cpp wm_listener.cpp xlat.cpp Generating Release.64.gcc/obj/include/bootstrap/far.rc.inc Generating Release.64.gcc/obj/include/bootstrap/Far.exe.manifest far.rc Linking Release.64.gcc/Far.exe Generating map file log.clang.txt (4,314 bytes)
build far-64 gcc [clean=N debug=N dwarf=N] Generating Release.64.gcc/obj/include/bootstrap/farlang.templ Generating language files .LNG Generator v1.5 Copyright (C) 2003-2009 WARP ItSelf Copyright (C) 2005 WARP ItSelf & Alex Yaroslavsky INFO: There are 7 strings that require review in Russian translation INFO: There are 17 strings that require review in Czech translation INFO: There are 116 strings that require review in German translation INFO: There are 323 strings that require review in Hungarian translation INFO: There are 26 strings that require review in Spanish translation INFO: There are 43 strings that require review in Slovak translation INFO: There are 22 strings that require review in Italian translation INFO: There are 7 strings that require review in Ukrainian translation INFO: There are 12 strings that require review in Belarusian translation INFO: There are 756 strings that require review in Lithuanian translation Rebuilding dependencies... Generating Release.64.gcc/FarEng.hlf Generating Release.64.gcc/FarRus.hlf Generating Release.64.gcc/FarHun.hlf Generating Release.64.gcc/FarPol.hlf Generating Release.64.gcc/FarGer.hlf Generating Release.64.gcc/FarUkr.hlf Generating Release.64.gcc/FarCze.hlf Generating Release.64.gcc/FarSky.hlf Generating Release.64.gcc/File_id.diz Generating Release.64.gcc/Far.exe.example.ini Testing C plugin API Testing C++ plugin API Generating Release.64.gcc/obj/include/bootstrap/copyright.inc Generating Release.64.gcc/obj/include/bootstrap/farversion.inc Making precompiled headers sqlite.c cache.cpp cddrv.cpp clipboard.cpp cmdline.cpp codepage_selection.cpp colormix.cpp common.tests.cpp components.cpp config.cpp configdb.cpp console.cpp console_session.cpp constitle.cpp copy.cpp copy_progress.cpp ctrlobj.cpp cvtname.cpp datetime.cpp delete.cpp desktop.cpp dialog.cpp dirinfo.cpp dirmix.cpp diskmenu.cpp dizlist.cpp dlgedit.cpp drivemix.cpp edit.cpp editcontrol.cpp editor.cpp eject.cpp elevation.cpp encoding.cpp eol.cpp exception.cpp exception_handler.cpp exception_handler_test.cpp execute.cpp FarDlgBuilder.cpp farversion.cpp fastfind.cpp file_io.cpp fileattr.cpp fileedit.cpp filefilter.cpp filefilterparams.cpp filelist.cpp filemasks.cpp fileowner.cpp filepanels.cpp filestr.cpp filesystemwatcher.cpp filetype.cpp fileview.cpp findfile.cpp flink.cpp fnparce.cpp foldtree.cpp format.cpp global.cpp grabber.cpp headers.cpp help.cpp hilight.cpp history.cpp hmenu.cpp hotplug.cpp imports.cpp infolist.cpp interf.cpp keybar.cpp keyboard.cpp language.cpp locale.cpp lockscrn.cpp log.cpp macro.cpp main.cpp manager.cpp memcheck.cpp menubar.cpp message.cpp mix.cpp mkdir.cpp modal.cpp namelist.cpp network.cpp new_handler.cpp notification.cpp nsUniversalDetectorEx.cpp palette.cpp panel.cpp panelmix.cpp pathmix.cpp pipe.cpp platform.cpp platform.chrono.cpp platform.concurrency.cpp platform.env.cpp platform.fs.cpp platform.memory.cpp platform.process.cpp platform.reg.cpp platform.security.cpp platform.version.cpp plist.cpp plclass.cpp plugapi.cpp PluginA.cpp plugins.cpp plugsettings.cpp poscache.cpp preservelongname.cpp preservestyle.cpp print.cpp processname.cpp qview.cpp refreshwindowmanager.cpp RegExp.cpp savescr.cpp scantree.cpp scrbuf.cpp scrobj.cpp scrsaver.cpp setattr.cpp setcolor.cpp setcolor.cpp:782:52: warning: declaration shadows a local variable [-Wshadow-uncaptured-local] const auto to_true_color_code = [](COLORREF const Color, bool const Is4Bit) ^ setcolor.cpp:702:39: note: previous declaration is here bool GetColorDialogInternal(FarColor& Color, bool const bCentered, const FarColor* const BaseColor) ^ 1 warning generated. shortcuts.cpp sqlitedb.cpp stddlg.cpp string_sort.cpp string_utils.cpp strmix.cpp tinyxml.cpp taskbar.cpp testing.cpp tracer.cpp treelist.cpp tvar.cpp usermenu.cpp viewer.cpp vmenu.cpp vmenu2.cpp window.cpp wm_listener.cpp xlat.cpp Generating Release.64.gcc/obj/include/bootstrap/far.rc.inc Generating Release.64.gcc/obj/include/bootstrap/Far.exe.manifest far.rc Linking Release.64.gcc/Far.exe |
|
Стоит исправить в makefile_gccИсправлять проблему с PCH выпиливанием PCH - так себе решение. Я вот только что проверил: с PCH - 1:41, без - 2:41. Mingw завершается ошибкой, если файл gch больше 128 Мб. headers.gch имеет размер 274 Мб, поэтому компиляция не проходит. Mingw из cygwin может компилировать, любой другой mingw с gcc версией > 8.1 завершается с ошибкой.Mingw из cygwin может, потому что им там, видимо, этот вопрос не пофиг, и они применяют патч, который исправляет проблему. Brecht Sanders его, видимо, не применяет. Можно попробовать написать ему и попросить, чтобы применял. А вообще, как-то все у них там очень плохо в консерватории: проблеме уже лет 10, исправлениям примерно столько же, а воз и ныне там. |
Date Modified | Username | Field | Change |
---|---|---|---|
2021-06-09 11:50 | Megamonster | New Issue | |
2021-06-09 13:26 | DrKnS | Note Added: 0017080 | |
2021-06-10 08:40 | Megamonster | Note Added: 0017081 | |
2021-06-10 08:46 | Megamonster | Note Added: 0017082 | |
2021-06-10 09:50 | Megamonster | Note Added: 0017083 | |
2021-06-10 09:50 | Megamonster | File Added: log.mingw.txt | |
2021-06-10 09:50 | Megamonster | File Added: log.clang.txt | |
2021-06-10 18:23 | DrKnS | Note Added: 0017085 |