View Issue Details

IDProjectCategoryView StatusLast Update
0003873WishesBuild Systempublic2021-06-10 18:23
ReporterMegamonster Assigned To 
PrioritylowSeverityfeatureReproducibilityhave not tried
Status newResolutionopen 
Product Version3.0 
Summary0003873: Intel C++ Compiler / cmake
DescriptionДобавьте, пожалуйста, проверку на Github для Intel C++ Compiler.

Иметь возможность компиляции другим компилятором позволит исправить ошибки и переосмыслить код.

Компиляция при помощи cmake может также переосмыслить процесс компиляции. Far Manager не может быть скомпилирован более новым mingw из-за типичной ошибки, возникающей из большого PCH файла.
TagsNo tags attached.
Build

Activities

DrKnS

2021-06-09 13:26

administrator   bugnote:0017080

Добавьте, пожалуйста, проверку на Github для Intel C++ Compiler
Если он доступен в Actions или может быть установлен вручную и его лицензия это позволяет - не вопрос, добавляйте, делайте PR.

Компиляция при помощи cmake может также переосмыслить процесс компиляции.
Чтобы что?
Чем вас не устраивает текущая ситуация?
Как это ее улучшит?

Лирическое отступление:
Лично у меня сложилось мнение, что cmake - дурнопахнущей субстанции кусок.
Вы, конечно, можете возразить, что это я валенок и просто его готовить не умею, однако, это не только мое мнение.
Само существование 500-страничных талмудов и статей с вот такими прекрасными заголовками как бы намекает.

не может быть скомпилирован более новым mingw
Более новым - это каким? Давайте ссылки.
Как это относится к вынесенному в заголовок? Если никак, то лучше создать отдельный issue.

Megamonster

2021-06-10 08:40

reporter   bugnote:0017081

При компиляции возникают ошибки. Те же самые ошибки возникают при компиляцией clang.

Когда я в первый раз компилировал стабильную версию, компиляция не проходила из-за слишком большого gch. Сейчас я повторить ошибку не могу, видимо, из-за того, что код другой.

Сейчас ошибки такие:
F:/Downloads/Temp/FarManager-ci-v3.0.5800.2201/far # g++ --version
g++ (MinGW-W64 x86_64-posix-seh, built by Brecht Sanders) 11.1.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

F:/Downloads/Temp/FarManager-ci-v3.0.5800.2201/far # ./build.bat gcc 64

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
In file included from cache.cpp:40:
In file included from ./exception.hpp:38:
./platform.hpp:179:58: error: no matching literal operator for call to 'operator""ms' with argument of type 'unsigned long long'
      or 'const char *', and no matching literal operator template
                        bool is_signaled(std::chrono::milliseconds Timeout = 0ms) const
                                                                              ^
In file included from cache.cpp:41:
In file included from ./log.hpp:43:
./format.hpp:100:33: error: no matching literal operator for call to 'operator""sv' with arguments of types 'const wchar_t *' and
      'unsigned long long', and no matching literal operator template
        return format(FSTR(L"0x{:0{}X}"sv), reinterpret_cast<uintptr_t>(Value), sizeof(Value) * 2);
                                       ^
./format.hpp:100:16: error: unknown type name 'char_type'; did you mean 'fmt::detail::char8_type'?
        return format(FSTR(L"0x{:0{}X}"sv), reinterpret_cast<uintptr_t>(Value), sizeof(Value) * 2);
                      ^
./format.hpp:90:19: note: expanded from macro 'FSTR'
#define FSTR(str) FMT_STRING(str)
                  ^
./thirdparty/fmt/fmt/format.h:3224:23: note: expanded from macro 'FMT_STRING'
#define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::compile_string)
                      ^
./thirdparty/fmt/fmt/format.h:3207:39: note: expanded from macro 'FMT_STRING_IMPL'
      operator fmt::basic_string_view<char_type>() const {        \
                                      ^
./thirdparty/fmt/fmt/core.h:340:6: note: 'fmt::detail::char8_type' declared here
enum char8_type : unsigned char {};
     ^
In file included from cache.cpp:41:
In file included from ./log.hpp:43:
./format.hpp:100:16: error: unknown type name 'char_type'; did you mean 'fmt::detail::char8_type'?
        return format(FSTR(L"0x{:0{}X}"sv), reinterpret_cast<uintptr_t>(Value), sizeof(Value) * 2);
                      ^
./format.hpp:90:19: note: expanded from macro 'FSTR'
#define FSTR(str) FMT_STRING(str)
                  ^
./thirdparty/fmt/fmt/format.h:3224:23: note: expanded from macro 'FMT_STRING'
#define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::compile_string)
                      ^
./thirdparty/fmt/fmt/format.h:3208:52: note: expanded from macro 'FMT_STRING_IMPL'
        return fmt::detail::compile_string_to_view<char_type>(s); \
                                                   ^
./thirdparty/fmt/fmt/core.h:340:6: note: 'fmt::detail::char8_type' declared here
enum char8_type : unsigned char {};
     ^
In file included from cache.cpp:41:
In file included from ./log.hpp:43:
./format.hpp:100:33: error: no matching literal operator for call to 'operator""sv' with arguments of types 'const wchar_t *' and
      'unsigned long long', and no matching literal operator template
        return format(FSTR(L"0x{:0{}X}"sv), reinterpret_cast<uintptr_t>(Value), sizeof(Value) * 2);
                                       ^
./format.hpp:100:16: error: no return statement in constexpr function
        return format(FSTR(L"0x{:0{}X}"sv), reinterpret_cast<uintptr_t>(Value), sizeof(Value) * 2);
                      ^
./format.hpp:90:19: note: expanded from macro 'FSTR'
#define FSTR(str) FMT_STRING(str)
                  ^
./thirdparty/fmt/fmt/format.h:3224:23: note: expanded from macro 'FMT_STRING'
#define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::compile_string)
                      ^
./thirdparty/fmt/fmt/format.h:3207:7: note: expanded from macro 'FMT_STRING_IMPL'
      operator fmt::basic_string_view<char_type>() const {        \
      ^
In file included from cache.cpp:41:
In file included from ./log.hpp:43:
./format.hpp:65:9: error: no matching function for call to 'format'
        return fmt::format(FWD(Format), FWD(Args)...);
               ^~~~~~~~~~~
./format.hpp:100:9: note: in instantiation of function template specialization 'format<FMT_COMPILE_STRING, unsigned long long,
      unsigned long long>' requested here
        return format(FSTR(L"0x{:0{}X}"sv), reinterpret_cast<uintptr_t>(Value), sizeof(Value) * 2);
               ^
./thirdparty/fmt/fmt/core.h:2066:36: note: candidate template ignored: substitution failure [with S = FMT_COMPILE_STRING, Args =
      <unsigned long long, unsigned long long>]: no type named 'type' in 'fmt::detail::char_t_impl<FMT_COMPILE_STRING>'
FMT_INLINE std::basic_string<Char> format(const S& format_str, Args&&... args) {
                                   ^
In file included from cache.cpp:41:
In file included from ./log.hpp:43:
./format.hpp:132:47: error: no matching literal operator for call to 'operator""sv' with arguments of types 'const wchar_t *' and
      'unsigned long long', and no matching literal operator template
                        return fmt::format_to(ctx.out(), FSTR(L"{}"sv), fmt::formatter<object_type, wchar_t>::to_string(Value));
                                                                   ^
./format.hpp:132:37: error: unknown type name 'char_type'; did you mean 'fmt::detail::char8_type'?
                        return fmt::format_to(ctx.out(), FSTR(L"{}"sv), fmt::formatter<object_type, wchar_t>::to_string(Value));
                                                         ^
./format.hpp:90:19: note: expanded from macro 'FSTR'
#define FSTR(str) FMT_STRING(str)
                  ^
./thirdparty/fmt/fmt/format.h:3224:23: note: expanded from macro 'FMT_STRING'
#define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::compile_string)
                      ^
./thirdparty/fmt/fmt/format.h:3207:39: note: expanded from macro 'FMT_STRING_IMPL'
      operator fmt::basic_string_view<char_type>() const {        \
                                      ^
./thirdparty/fmt/fmt/core.h:340:6: note: 'fmt::detail::char8_type' declared here
enum char8_type : unsigned char {};
     ^
In file included from cache.cpp:41:
In file included from ./log.hpp:43:
./format.hpp:132:37: error: unknown type name 'char_type'; did you mean 'fmt::detail::char8_type'?
                        return fmt::format_to(ctx.out(), FSTR(L"{}"sv), fmt::formatter<object_type, wchar_t>::to_string(Value));
                                                         ^
./format.hpp:90:19: note: expanded from macro 'FSTR'
#define FSTR(str) FMT_STRING(str)
                  ^
./thirdparty/fmt/fmt/format.h:3224:23: note: expanded from macro 'FMT_STRING'
#define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::compile_string)
                      ^
./thirdparty/fmt/fmt/format.h:3208:52: note: expanded from macro 'FMT_STRING_IMPL'
        return fmt::detail::compile_string_to_view<char_type>(s); \
                                                   ^
./thirdparty/fmt/fmt/core.h:340:6: note: 'fmt::detail::char8_type' declared here
enum char8_type : unsigned char {};
     ^
In file included from cache.cpp:41:
In file included from ./log.hpp:43:
./format.hpp:132:47: error: no matching literal operator for call to 'operator""sv' with arguments of types 'const wchar_t *' and
      'unsigned long long', and no matching literal operator template
                        return fmt::format_to(ctx.out(), FSTR(L"{}"sv), fmt::formatter<object_type, wchar_t>::to_string(Value));
                                                                   ^
./format.hpp:132:37: error: no return statement in constexpr function
                        return fmt::format_to(ctx.out(), FSTR(L"{}"sv), fmt::formatter<object_type, wchar_t>::to_string(Value));
                                                         ^
./format.hpp:90:19: note: expanded from macro 'FSTR'
#define FSTR(str) FMT_STRING(str)
                  ^
./thirdparty/fmt/fmt/format.h:3224:23: note: expanded from macro 'FMT_STRING'
#define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::compile_string)
                      ^
./thirdparty/fmt/fmt/format.h:3207:7: note: expanded from macro 'FMT_STRING_IMPL'
      operator fmt::basic_string_view<char_type>() const {        \
      ^
cache.cpp:46:37: error: expected ';' after namespace name
using namespace std::string_literals
                                    ^
                                    ;
13 errors generated.
mingw32-make[1]: *** [makefile_gcc:258: Release.64.gcc/obj/cache.o] Error 1
mingw32-make: *** [makefile_gcc:195: all] Error 2
F:/Downloads/Temp/FarManager-ci-v3.0.5800.2201/far #

Вдобавок:
F:/Downloads/Temp/FarManager-ci-v3.0.5800.2201/far/thirdparty/fmt # g++ -O2 -c format.cc
F:/Downloads/Temp/FarManager-ci-v3.0.5800.2201/far/thirdparty/fmt # g++ -O2 -c os.cc

Megamonster

2021-06-10 08:46

reporter   bugnote:0017082

Ура! Я сумел повторить ошибку. В предыдущем посте я по ошибке использовал clang.

Вот лог ошибки:
F:/Downloads/Temp/FarManager-ci-v3.0.5800.2201/far # ./build.bat gcc 64

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

mingw32-make[1]: *** [makefile_gcc:258: Release.64.gcc/obj/cache.o] Error 1
mingw32-make: *** [makefile_gcc:195: all] Error 2
F:/Downloads/Temp/FarManager-ci-v3.0.5800.2201/far #

Mingw завершается ошибкой, если файл gch больше 128 Мб. headers.gch имеет размер 274 Мб, поэтому компиляция не проходит. Mingw из cygwin может компилировать, любой другой mingw с gcc версией > 8.1 завершается с ошибкой.

Megamonster

2021-06-10 09:50

reporter   bugnote:0017083

Стоит исправить в makefile_gcc
258	        $(CXX) -c -include $(OBJDIR)headers $(CPPFLAGS) -o $@ $<
на:
258	        $(CXX) -c $(CPPFLAGS) -o $@ $<
Как всё компилируется. Прилагаю лог (там смотреть нечего).

~ # g++ --version
g++ (MinGW-W64 x86_64-posix-seh, built by Brecht Sanders) 11.1.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
~ # clang++ --version
(built by Brecht Sanders) clang version 12.0.0
Target: x86_64-w64-windows-gnu
Thread model: posix
InstalledDir: C:\Qt\Toolchains\gcc\bin
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.mingw.txt (5,597 bytes)   
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
log.clang.txt (4,314 bytes)   

DrKnS

2021-06-10 18:23

administrator   bugnote:0017085

Стоит исправить в makefile_gcc
258	        $(CXX) -c -include $(OBJDIR)headers $(CPPFLAGS) -o $@ $<
на:
258	        $(CXX) -c $(CPPFLAGS) -o $@ $<
Исправлять проблему с PCH выпиливанием PCH - так себе решение.
Я вот только что проверил: с PCH - 1:41, без - 2:41.

Mingw завершается ошибкой, если файл gch больше 128 Мб. headers.gch имеет размер 274 Мб, поэтому компиляция не проходит. Mingw из cygwin может компилировать, любой другой mingw с gcc версией > 8.1 завершается с ошибкой.
Mingw из cygwin может, потому что им там, видимо, этот вопрос не пофиг, и они применяют патч, который исправляет проблему.

Brecht Sanders его, видимо, не применяет. Можно попробовать написать ему и попросить, чтобы применял.

А вообще, как-то все у них там очень плохо в консерватории: проблеме уже лет 10, исправлениям примерно столько же, а воз и ныне там.

Issue History

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