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.
