ONLYOFFICE/DocumentBuilder

Build instructions missing

lemmel opened this issue · 18 comments

Hi.

I wanted to give the project a try, but i didn't find instruction for building it.

So after:

git clone --recurse-submodules  https://github.com/ONLYOFFICE/DocumentBuilder.git
cd DocumentBuilder && make

I get:

curl -L -o core/build/lib/linux_64/docbuilder.com.dll http://d2ettrnqo7v976.cloudfront.net/wrappers/linux_64/docbuilder.com.dll
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Failed to create the file core/build/lib/linux_64/docbuilder.com.dll: 
Warning: Aucun fichier ou dossier de ce type
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (23) Failed writing body (0 != 307)
make: *** [Makefile:87: core/build/lib/linux_64/docbuilder.com.dll] Error 23

And the script dependencies.sh is of no use.
I did try to build manually each part of the project, beginning with the core part:
cd core && ./make
And got this:

g++ -static-libstdc++ -static-libgcc -Wl,--rpath=./ -Wl,-O1 -shared -o libUnicodeConverter.so ../core_build/linux_64/release/obj/UnicodeConverter.o  /tmp/DocumentBuilder/core/Common/3dParty/icu/linux_64/build/libicuuc.so.58 /tmp/DocumentBuilder/core/Common/3dParty/icu/linux_64/build/libicudata.so.58 -lpthread  
g++: error: /tmp/DocumentBuilder/core/Common/3dParty/icu/linux_64/build/libicuuc.so.58: Aucun fichier ou dossier de ce type
g++: error: /tmp/DocumentBuilder/core/Common/3dParty/icu/linux_64/build/libicudata.so.58: Aucun fichier ou dossier de ce type
make[1]: *** [Makefile:161: ../../build/lib/linux_64/libUnicodeConverter.so] Error 1
make[1] : on quitte le répertoire « /tmp/DocumentBuilder/core/UnicodeConverter/UnicodeConverter.build »
make: *** [Makefile:278: build/lib/linux_64/libUnicodeConverter.so*] Error 2

Then I tried to build the dependencies:
cd core/Common/3dParty && ./make.sh
But there again, it failed (last lines):

../../src/objects-body-descriptors.h:101:22: note:   template argument deduction/substitution failed:
../../src/objects-body-descriptors.h:102:20: note:   candidate expects 2 arguments, 1 provided
     IterateBody(obj);
                    ^
cc1plus: all warnings being treated as errors
[79/1493] CXX obj/testing/gmock/gmock/gmock-spec-builders.o
ninja: build stopped: subcommand failed.

I could probably making more efforts into it, but I'm not sure about the project: is it really possible to build it ? Should'nt be there even a tiny documentation for building it ?

Thanks in advance.

Sorry, you're right - there is no build instruction for DocumentBuilder

I think your error somehow related to gcc version, we got some troubles building v8 on newest version of gcc

Sorry, you're right - there is no build instruction for DocumentBuilder

Could you post here, the instructions set you use to built it ? It would help people, until you have time to write a documentation.

I think your error somehow related to gcc version, we got some troubles building v8 on newest version of gcc

I may help you if you give some inputs (it would help you for the writing of the documentation).
What is your version of gcc ? (and what about the full toolset ?)

PS:

  • My GCC:
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-7' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 8.3.0 (Debian 8.3.0-7)
  • libc6:amd64 2.28-10

Could you post here, the instructions set you use to built it

We use some internal tool to build DocumentBuilder, so I'm not sure I'll be able to post a build instruction.

I may help you if you give some inputs

You should try to build using gcc v6

We use some internal tool to build DocumentBuilder, so I'm not sure I'll be able to post a build instruction.

Does that mean that we have to do a try/fail process to know how to build it ?

You should try to build using gcc v6

Did it (6.5.0), but:

ninja: Entering directory `out.gn/linux_64'
[313/1493] CXX obj/v8_base/mark-compact.o
FAILED: obj/v8_base/mark-compact.o 
g++ -MMD -MF obj/v8_base/mark-compact.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DENABLE_GDB_JIT_INTERFACE -DV8_INTL_SUPPORT -DV8_TARGET_ARCH_X64 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -I../.. -Igen -I../.. -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -m64 -march=x86-64 -pthread -Wall -Werror -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -fomit-frame-pointer -g0 -fvisibility=hidden -Wno-strict-overflow -O3 -fno-ident -fdata-sections -ffunction-sections -std=gnu++11 -Wno-narrowing -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -c ../../src/heap/mark-compact.cc -o obj/v8_base/mark-compact.o
../../src/heap/mark-compact.cc: In instantiation of ‘struct v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(class v8::internal::Object**)>’:
../../src/heap/mark-compact.cc:4434:58:   required from ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]’
../../src/heap/mark-compact.cc:4432:34:   required from ‘struct v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*) [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u]::<lambda(enum v8::internal::SlotType, v8::internal::Address, v8::internal::Address)>’
../../src/heap/mark-compact.cc:4431:46:   required from ‘static void v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*) [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u]’
../../src/heap/mark-compact.cc:4400:24:   required from ‘static void v8::internal::PointerUpdateJobTraits<type>::ProcessPageInParallel(v8::internal::Heap*, v8::internal::PointerUpdateJobTraits<type>::PerTaskData, v8::internal::MemoryChunk*, v8::internal::PointerUpdateJobTraits<type>::PerPageData) [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::PointerUpdateJobTraits<type>::PerTaskData = const v8::internal::MarkCompactCollectorBase*; v8::internal::PointerUpdateJobTraits<type>::PerPageData = int]’
../../src/heap/page-parallel-job.h:146:43:   required from ‘void v8::internal::PageParallelJob<JobTraits>::Task::RunInternal() [with JobTraits = v8::internal::PointerUpdateJobTraits<(v8::internal::RememberedSetType)1u>]’
../../src/heap/mark-compact.cc:4892:1:   required from here
../../src/heap/mark-compact.cc:4435:59: error: ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>’ declared with greater visibility than the type of its field ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>::<heap capture>’ [-Werror=attributes]
                 isolate, slot_type, slot, [heap, collector](Object** slot) {
                                                           ^
../../src/heap/mark-compact.cc:4435:59: error: ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>’ declared with greater visibility than the type of its field ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>::<collector capture>’ [-Werror=attributes]
../../src/heap/mark-compact.cc: In instantiation of ‘struct v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(class v8::internal::Object**)>’:
../../src/heap/mark-compact.cc:4434:58:   required from ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]’
../../src/heap/mark-compact.cc:4432:34:   required from ‘struct v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*) [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u]::<lambda(enum v8::internal::SlotType, v8::internal::Address, v8::internal::Address)>’
../../src/heap/mark-compact.cc:4431:46:   required from ‘static void v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*) [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u]’
../../src/heap/mark-compact.cc:4400:24:   required from ‘static void v8::internal::PointerUpdateJobTraits<type>::ProcessPageInParallel(v8::internal::Heap*, v8::internal::PointerUpdateJobTraits<type>::PerTaskData, v8::internal::MemoryChunk*, v8::internal::PointerUpdateJobTraits<type>::PerPageData) [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::PointerUpdateJobTraits<type>::PerTaskData = const v8::internal::MarkCompactCollectorBase*; v8::internal::PointerUpdateJobTraits<type>::PerPageData = int]’
../../src/heap/page-parallel-job.h:146:43:   required from ‘void v8::internal::PageParallelJob<JobTraits>::Task::RunInternal() [with JobTraits = v8::internal::PointerUpdateJobTraits<(v8::internal::RememberedSetType)0u>]’
../../src/heap/mark-compact.cc:4892:1:   required from here
../../src/heap/mark-compact.cc:4435:59: error: ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>’ declared with greater visibility than the type of its field ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>::<heap capture>’ [-Werror=attributes]
../../src/heap/mark-compact.cc:4435:59: error: ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>’ declared with greater visibility than the type of its field ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>::<collector capture>’ [-Werror=attributes]
cc1plus: all warnings being treated as errors
[322/1493] CXX obj/v8_base/heap-snapshot-generator.o
ninja: build stopped: subcommand failed.

A dead end on the building of the v8 engine.
By the way, gcc 6 is a bit old, and I will not be surprised to see 3dparty falling support for it.

It seems that you will have either to analyse the way your building system works, or built an clean environnement (through VM, or whatever) that regular people can have.

gcc 6 is a bit old

Yes, but process of updating v8 is require a lot testing, so we keep v8 on version 6 (https://github.com/ONLYOFFICE/core/blob/master/Common/3dParty/v8/fetch.sh#L18)

So actually I think it's more a question to v8 team

It seems that you will have either to analyse the way your building system works, or built an clean environnement (through VM, or whatever) that regular people can have.

Yep, you're right, we planning to do so, but do not have a lot of manpower to do so

So actually I think it's more a question to v8 team

Are you (with you build system), as of today, able to build the project with this repository ?

Yep, you're right, we planning to do so, but do not have a lot of manpower to do so

Then why not spy of your building system ?
It is possible to track what is done without effort; for example something like this may allow you to see (and log) (nearly) all that is done for building the project:

 while true
 do
     ps 2>&1 | tee -a /tmp/buildinglogfile
     sleep 1
 done

Do this on a clean term: a term that will be used only for building the project; when making a ps, you should see nearly nothing, example:

$ ps 
  PID TTY          TIME CMD
14707 pts/7    00:00:00 bash
31052 pts/7    00:00:00 ps

That way you will not have to do too much cleaning in order to avoid leaking confidential information.

What do you think ?

PS: you could also simple logging the ouput of your building system, as such tools tends to be verbose. Then you would have only to clean a little, and post it here.

https://github.com/ONLYOFFICE/build_tools
This is build_tools we use to build products, currently it is not documented and personally I never used this tool to build products from scratch, but I cannot give you any more info, I'm not a build engineer, I need some documentation as you, sorry

Thanks for the attempt to provide some help, but it didn't work.
I tried to build this new tool, but it failed too on v8 (see below).

So at this time, this repository is for the internal use of your society.

Sad.

Thanks for the time you gave to help me.

PS:

ninja: Entering directory `out.gn/linux_64'
[315/1493] CXX obj/v8_base/mark-compact.o
FAILED: obj/v8_base/mark-compact.o 
g++ -MMD -MF obj/v8_base/mark-compact.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DENABLE_GDB_JIT_INTERFACE -DV8_INTL_SUPPORT -DV8_TARGET_ARCH_X64 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -I../.. -Igen -I../.. -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -m64 -march=x86-64 -pthread -Wall -Werror -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -fomit-frame-pointer -g0 -fvisibility=hidden -Wno-strict-overflow -O3 -fno-ident -fdata-sections -ffunction-sections -std=gnu++11 -Wno-narrowing -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -c ../../src/heap/mark-compact.cc -o obj/v8_base/mark-compact.o
../../src/heap/mark-compact.cc: In instantiation of ‘struct v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(class v8::internal::Object**)>’:
../../src/heap/mark-compact.cc:4434:58:   required from ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]’
../../src/heap/mark-compact.cc:4432:34:   required from ‘struct v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*) [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u]::<lambda(enum v8::internal::SlotType, v8::internal::Address, v8::internal::Address)>’
../../src/heap/mark-compact.cc:4431:46:   required from ‘static void v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*) [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u]’
../../src/heap/mark-compact.cc:4400:24:   required from ‘static void v8::internal::PointerUpdateJobTraits<type>::ProcessPageInParallel(v8::internal::Heap*, v8::internal::PointerUpdateJobTraits<type>::PerTaskData, v8::internal::MemoryChunk*, v8::internal::PointerUpdateJobTraits<type>::PerPageData) [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::PointerUpdateJobTraits<type>::PerTaskData = const v8::internal::MarkCompactCollectorBase*; v8::internal::PointerUpdateJobTraits<type>::PerPageData = int]’
../../src/heap/page-parallel-job.h:146:43:   required from ‘void v8::internal::PageParallelJob<JobTraits>::Task::RunInternal() [with JobTraits = v8::internal::PointerUpdateJobTraits<(v8::internal::RememberedSetType)1u>]’
../../src/heap/mark-compact.cc:4892:1:   required from here
../../src/heap/mark-compact.cc:4435:59: error: ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>’ declared with greater visibility than the type of its field ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>::<heap capture>’ [-Werror=attributes]
                 isolate, slot_type, slot, [heap, collector](Object** slot) {
                                                           ^
../../src/heap/mark-compact.cc:4435:59: error: ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>’ declared with greater visibility than the type of its field ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)1u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>::<collector capture>’ [-Werror=attributes]
../../src/heap/mark-compact.cc: In instantiation of ‘struct v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(class v8::internal::Object**)>’:
../../src/heap/mark-compact.cc:4434:58:   required from ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]’
../../src/heap/mark-compact.cc:4432:34:   required from ‘struct v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*) [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u]::<lambda(enum v8::internal::SlotType, v8::internal::Address, v8::internal::Address)>’
../../src/heap/mark-compact.cc:4431:46:   required from ‘static void v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*) [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u]’
../../src/heap/mark-compact.cc:4400:24:   required from ‘static void v8::internal::PointerUpdateJobTraits<type>::ProcessPageInParallel(v8::internal::Heap*, v8::internal::PointerUpdateJobTraits<type>::PerTaskData, v8::internal::MemoryChunk*, v8::internal::PointerUpdateJobTraits<type>::PerPageData) [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::PointerUpdateJobTraits<type>::PerTaskData = const v8::internal::MarkCompactCollectorBase*; v8::internal::PointerUpdateJobTraits<type>::PerPageData = int]’
../../src/heap/page-parallel-job.h:146:43:   required from ‘void v8::internal::PageParallelJob<JobTraits>::Task::RunInternal() [with JobTraits = v8::internal::PointerUpdateJobTraits<(v8::internal::RememberedSetType)0u>]’
../../src/heap/mark-compact.cc:4892:1:   required from here
../../src/heap/mark-compact.cc:4435:59: error: ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>’ declared with greater visibility than the type of its field ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>::<heap capture>’ [-Werror=attributes]
../../src/heap/mark-compact.cc:4435:59: error: ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>’ declared with greater visibility than the type of its field ‘v8::internal::PointerUpdateJobTraits<type>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*, const v8::internal::MarkCompactCollectorBase*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::RememberedSetType type = (v8::internal::RememberedSetType)0u; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>::<collector capture>’ [-Werror=attributes]
cc1plus: all warnings being treated as errors
[324/1493] CXX obj/v8_base/heap-snapshot-generator.o
ninja: build stopped: subcommand failed.
./make: ligne 110: set qt path/gcc_64/bin/qmake: Aucun fichier ou dossier de ce type
./make: ligne 111: set qt path/gcc_64/bin/qmake: Aucun fichier ou dossier de ce type
make: makefiles/build.makefile_linux_64 : Aucun fichier ou dossier de ce type
make: *** Aucune règle pour fabriquer la cible « makefiles/build.makefile_linux_64 ». Arrêt.
rm: impossible de supprimer '.qmake.stash': Aucun fichier ou dossier de ce type
./make: ligne 142: set qt path/gcc_64/bin/qmake: Aucun fichier ou dossier de ce type
./scripts/config_value: ligne 31: config: Aucun fichier ou dossier de ce type
./scripts/config_value: ligne 31: config: Aucun fichier ou dossier de ce type
./scripts/config_value: ligne 31: config: Aucun fichier ou dossier de ce type
./scripts/config_value: ligne 31: config: Aucun fichier ou dossier de ce type
./scripts/deploy: ligne 56: set qt path/gcc_64/bin/qmake: Aucun fichier ou dossier de ce type

@lemmel Please note, that we use Ubuntu 14.04 to build products

cc1plus: all warnings being treated as errors

and gcc

BTW as I mention earlier - if there is some kind of error in v8 build - I think problem not on our side, but on Google side. We use pretty old version of v8, but it works on our environment. And if it not work on any enviroment - v8 team should resolve it.

I'm trying with a Virtual Machine and Ubuntu 14.04.
Well, it will probably take a long time, so I will come back later.

PS : I don't have high hopes, but it is worth the try.

It is gcc 4 on Ubuntu 14.04.

gcc 4 should work also.
You can look at my own https://github.com/onlyoffice-testing-robot/documentserver-from-source-build docker for building DocumentServer, core and v8 part are the same

Well 3dParty seems to build, but then building the core component failed, with :
image

So Ubuntu 14.04 is a dead end.
Any idea ? Are you yourself able to build the project ?

PS : Concerning using Docker, I have some doubts and I don't see where that will go.

@lemmel I guarantee that core and DocumentServer can be build using this docker files.
But not DocumentBuilder or DesktopEditors, may be, or may not, I never tryed

I hand over the problem to someone with more motivation/time.
In this state for a project this complex, not having a simple build is a no go for me.

Thanks for your time !

@ShockwaveNN , I found solution
Default v8 build configuration treats compiler warnings as errors, including warnings about unused / uninitialized variables, an incomplete list of attributes, etc. This default parameter is declared as treat_warnings_as_errors = true in the main configuration file of the build in v8/build/config/compiler/BUILD.gn and can be overridden in your build tools in build_tools/scripts/core_common/modules/v8.py To do this, just add treat_warnings_as_errors = false to base_args64 variable
This is fast solution, but probably not right.

@babenap We moved to clang for building project in release v5.5.4, it's still not finished and not sure working 100% right, but simplify build process and support of newer OS versions.

Also all build instruction extracted to separate project - https://github.com/ONLYOFFICE/build_tools/, including DocumentBuilder

DocumentBuilder can be build using build_tools
Closing this issue