Hi, 
the Problem about GN is, that it aligns very bad with our build toolchain 
since the source (at least when we checked last) wasn't available to better 
integrate it, so running GN would not easily work for us.
Another big roadblock is this long standing ninja issue: 
https://github.com/ninja-build/ninja/issues/1139 which will result in 
either building with parallellity of 1, or building with more processes at 
once than the host can bear. This is very bad for CI purposes and general 
development work as you could think. Either wait not utilizing the 
resources of your machines, or have your machine being run into the ground. 
The solution we found way back then was to use the V8 branch the nodejs 
team maintains including gyp files - so no gn, no ninja - no cry. The 
nodejs team decided to keep going with gyp since many of their ecosystem 
nowadays also leans on it. They also maintain V8 gyp files, which in an 
upgrade case only have to be sync'ed with ours.
Its definitely great that you adjusted the ArangoDB parts, most probably 
that will be most of the work sync'ing in a later V8 from nodejs into 
ArangoDB.

Cheers, 
Willi

On Monday, November 15, 2021 at 11:22:40 AM UTC+1 y4r9 wrote:

> For those interested, I created a fork on github and added my changes in 
> the update-V8 branch (see: https://github.com/y4r9/arangodb/tree/update-V8 
> )
>
> y4r9 schrieb am Dienstag, 9. November 2021 um 17:23:31 UTC+1:
>
>> Dear ArangoDB team,
>>
>> while working with the dev branch of ArangoDB I noticed that the upcoming 
>> version 3.9 will include the updated version of RocksDB (6.26). Although 
>> not necessary, I was wondering if you are also considering to update the 
>> V8, especially since it has a very rapid release cycle and older versions 
>> fall out of support fast. With minor modifications to the code (arangodb), 
>> I was able to migrate to version 9.4.146.24 on Ubuntu 20.04. However, the 
>> new versions of V8 are usually built with Google’s depot tools (gn or gm) 
>> instead of gyp which also requires the adaptation of the CMake file to the 
>> new build system. When replacing some deprecated functions/methods with 
>> their successors the build passes all tests executed with arangodbtests. 
>> While I do not have the possibilities to test on Windows, Mac and ARM it 
>> seems feasible for someone more familiar with these platforms to easily add 
>> the necessary changes. One problem I encountered was that V8 is typically 
>> built with top of the branch Clang and linked against its libc++ which 
>> breaks the static linking with the native libc++ or libstdc++. However, 
>> when compiling ArangoDB with gcc and linking V8 against the native 
>> libstdc++ (configurable via build params) everything seems to work. I am 
>> not sure what would happen on platforms like Mac where Clang/LLVM is the 
>> native toolchain. While the changes I made do not have stable release 
>> quality, I would be happy to share them as inspiration in case you would be 
>> interested.
>>
>> Thank you for your time and effort.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"ArangoDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/arangodb/2ee811f4-8ae7-4cd5-855f-0a95361d4b97n%40googlegroups.com.

Reply via email to