The mystery deepens,

I can compile/link against the monolith library,

I am trying to run the hello-world.cc sample, only change I made is I added
`#define V8_COMPRESS_POINTERS` (but also tried without it and using a v8
compiled w/o pointer compression),

The program gets stuck when I call `v8::V8::Initialize();`,

I plug Instruments into and I see this:

[image: image.png]

I tried compiling a debug version to get more info but it fails very bad if
I try the monolith thing, w/o monolith I run into the same issue of missing
symbols,

Any idea on what could be going on? Or how to debug it further? Willing to
put time into this :)

Alex.

On Tue, Jun 2, 2020 at 1:58 PM Al Mo <[email protected]> wrote:

> Update,
>
> Just finished a monolithic build and got a 'libv8_monolith.a', when I link
> against it everything works, that will do for me,
>
> If you wish me to continue doing some research on to why it wasn't working
> the other way, let me know what to do,
>
> Thanks all,
> Alex.
>
> On Tue, Jun 2, 2020 at 12:49 PM Al Mo <[email protected]> wrote:
>
>> Update:
>>
>> Full output of clean build:
>>
>> # mkdir -p out/x64.release
>>
>> # echo > out/x64.release/args.gn << EOF
>>
>> is_component_build = false
>>
>> is_debug = false
>>
>> target_cpu = "x64"
>>
>> use_goma = false
>>
>> goma_dir = "None"
>>
>> v8_enable_backtrace = true
>>
>> v8_enable_disassembler = true
>>
>> v8_enable_object_print = true
>>
>> v8_enable_verify_heap = true
>>
>> EOF
>>
>> # gn gen out/x64.release
>>
>> Done. Made 148 targets from 86 files in 751ms
>>
>> # autoninja -C out/x64.release d8
>>
>> ninja: Entering directory `out/x64.release'
>>
>> [1450/1450] LINK ./d8
>>
>> Done! - V8 compilation finished successfully.
>>
>>
>> On Tue, Jun 2, 2020 at 12:01 PM Al Mo <[email protected]> wrote:
>>
>>> Thank you both for your replies,
>>>
>>> After a clean build, here's the output of `ls -l ...`:
>>>
>>> total 137768
>>>
>>> -rw-r--r--    1 krrrunch  staff       214 Jun  1 12:29 args.gn
>>>
>>> -rw-r--r--    1 krrrunch  staff     23922 Jun  1 20:17 build.ninja
>>>
>>> -rw-r--r--    1 krrrunch  staff      3183 Jun  1 20:17 build.ninja.d
>>>
>>> -rwxr-xr-x    1 krrrunch  staff    431628 Jun  1 20:21
>>> bytecode_builtins_list_generator
>>>
>>> -rwxr-xr-x    1 krrrunch  staff  26017224 Jun  1 20:54 d8
>>>
>>> drwxr-xr-x    7 krrrunch  staff       224 Jun  1 20:54 gen
>>>
>>> -rwxr-xr-x    1 krrrunch  staff   1318244 Jun  1 20:36
>>> gen-regexp-special-case
>>>
>>> -rw-r--r--    3 krrrunch  staff  10507280 Jun  1 10:31 icudtl.dat
>>>
>>> -rwxr-xr-x    1 krrrunch  staff  29522824 Jun  1 20:54 mksnapshot
>>>
>>> drwx------  105 krrrunch  staff      3360 Jun  1 20:54 obj
>>>
>>> -rw-r--r--    1 krrrunch  staff     51188 Jun  1 20:54 snapshot_blob.bin
>>>
>>> -rw-r--r--    1 krrrunch  staff     80153 Jun  1 20:17 toolchain.ninja
>>>
>>> -rwxr-xr-x    1 krrrunch  staff   2557812 Jun  1 20:21 torque
>>>
>>> -rw-r--r--    1 krrrunch  staff       523 Jun  1 20:20
>>> v8_build_config.json
>>>
>>> args.gn is:
>>>
>>> is_component_build = false
>>>
>>> is_debug = false
>>>
>>> target_cpu = "x64"
>>>
>>> use_goma = false
>>>
>>> goma_dir = "None"
>>>
>>> v8_enable_backtrace = true
>>>
>>> v8_enable_disassembler = true
>>>
>>> v8_enable_object_print = true
>>>
>>> v8_enable_verify_heap = true
>>>
>>> I have found no out.gn dir anywhere,
>>>
>>> I lost the output of the last build but will do it again and post it as
>>> soon as I have it,
>>>
>>> Also, will try the monolithic build and see if that helps,
>>>
>>> Alex.
>>>
>>> On Tue, Jun 2, 2020 at 11:02 AM 'Seth Brenith' via v8-dev <
>>> [email protected]> wrote:
>>>
>>>> As well as those static libraries, the x64.release build creates a
>>>> whole bunch of object files due to the "v8_source_set" declarations in
>>>> BUILD.gn. Any gn build target defined as depending on the "v8" target will
>>>> include not only those libs but also all of the objects from the source
>>>> sets. The easiest way to get a linkable library is to add "v8_monolithic =
>>>> true" to out/x64.release/args.gn and then build with "autoninja
>>>> v8_monolith". This will create a single lib, libv8_monolith.a, which should
>>>> have all of the relevant stuff included.
>>>>
>>>> On Tuesday, June 2, 2020 at 4:14:08 AM UTC-7, Al Mo wrote:
>>>>>
>>>>> Hi all,
>>>>>
>>>>> I'm trying to build v8 from source in order to test/submit a cl later
>>>>> on,
>>>>>
>>>>> I followed this: https://v8.dev/docs/build
>>>>>
>>>>> It builds fine and in the end I have an 'out/x64.release' directory,
>>>>> which in turn has the 'libv8_libbase.a' and 'libv8_libplatform.a' static
>>>>> libraries.
>>>>>
>>>>> When trying to link against these libraries, I get undefined symbol
>>>>> errors, like:
>>>>>
>>>>>   "v8::V8::Initialize(int)", referenced from:
>>>>>
>>>>>       _main in main-df02fe.o
>>>>>
>>>>>   "v8::V8::InitializePlatform(v8::Platform*)", referenced from:
>>>>>
>>>>>       _main in main-df02fe.o
>>>>>
>>>>>   "v8::V8::InitializeICUDefaultLocation(char const*, char const*)",
>>>>> referenced from:
>>>>>
>>>>>       _main in main-df02fe.o
>>>>>
>>>>>   "v8::V8::InitializeExternalStartupData(char const*)", referenced
>>>>> from:
>>>>>
>>>>>       _main in main-df02fe.o
>>>>>
>>>>> Checking the libraries with 'nm -gAC lib...' shows me that the symbols
>>>>> are not there at all,
>>>>>
>>>>> I am not familiar with gn and the configuration options of v8, hence
>>>>> why I'm asking about it,
>>>>>
>>>>> Any idea what could be going on?
>>>>>
>>>>> Thanks.
>>>>>
>>>> --
>>>> --
>>>> v8-dev mailing list
>>>> [email protected]
>>>> http://groups.google.com/group/v8-dev
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "v8-dev" 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/v8-dev/4111796a-c053-4f16-9bf5-a1af0b99fc14%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/v8-dev/4111796a-c053-4f16-9bf5-a1af0b99fc14%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" 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/v8-dev/CABK7q5dm0k0VKX0jMq67ScFh81FY5o2iFBzocURcnjiN2_0NfA%40mail.gmail.com.

Reply via email to