> That error (non-fatal warning actually) suggests it was built for a
> different architecture. Does it work when you pass -m32 or -m64 to
> g++?

Yeah I tried that, (on the original linux box) -m32 gave errors
relating to like crt.o or whatever and so forth. -m64 yields the error
listed in the prior email. Here's both on the new Linux installation:

$ g++ -m32 -I. -Iinclude samples/hello-world.cc -o hello_world
-fno-rtti -lv8_monolith -lv8_libbase -lv8_libplatform -ldl
-Lout.gn/x64.release.sample/obj/ -pthread -std=c++20
-DV8_COMPRESS_POINTERS -DV8_ENABLE_SANDBOX
In file included from samples/hello-world.cc:5:
/usr/include/stdio.h:28:10: fatal error: bits/libc-header-start.h: No
such file or directory
   28 | #include <bits/libc-header-start.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
$ g++ -m64 -I. -Iinclude samples/hello-world.cc -o hello_world
-fno-rtti -lv8_monolith -lv8_libbase -lv8_libplatform -ldl
-Lout.gn/x64.release.sample/obj/ -pthread -std=c++20
-DV8_COMPRESS_POINTERS -DV8_ENABLE_SANDBOX
/usr/bin/ld: skipping incompatible
out.gn/x64.release.sample/obj//libv8_libplatform.a when searching for
-lv8_libplatform
/usr/bin/ld: cannot find -lv8_libplatform: No such file or directory
collect2: error: ld returned 1 exit status

Interestingly, if I omit the link directive on the command line to
link in libv8_libplatform I get the following:
$ g++ -m64 -I. -Iinclude samples/hello-world.cc -o hello_world
-fno-rtti -lv8_monolith -lv8_libbase -ldl
-Lout.gn/x64.release.sample/obj/ -pthread -std=c++20
-DV8_COMPRESS_POINTERS -DV8_ENABLE_SANDBOX
/usr/bin/ld: unknown architecture of input file
`out.gn/x64.release.sample/obj//libv8_monolith.a(default-platform.o)'
is incompatible with i386:x86-64 output
/usr/bin/ld: unknown architecture of input file
`out.gn/x64.release.sample/obj//libv8_monolith.a(default-thread-isolated-allocator.o)'
is incompatible with i386:x86-64 output
/usr/bin/ld: unknown architecture of input file
`out.gn/x64.release.sample/obj//libv8_monolith.a(default-worker-threads-task-runner.o)'
is incompatible with i386:x86-64 output
/usr/bin/ld: unknown architecture of input file
`out.gn/x64.release.sample/obj//libv8_monolith.a(delayed-task-queue.o)'
is incompatible with i386:x86-64 output
/usr/bin/ld: unknown architecture of input file
`out.gn/x64.release.sample/obj//libv8_monolith.a(tracing-controller.o)'
is incompatible with i386:x86-64 output
[ repeated across 3 or 4 screens ]

When I run file over the object (.o) files used to build
libv8_monolith.a and libv8_libplatform.a I get that they're all
64-bit, so while this issue is usually relating to x86/x64 it isn't in
this case:
$ mkdir junk
$ cd junk
$ ar x ../libv8_monolith.a
$ file *.o
abort-mode.o:                                ELF 64-bit LSB
relocatable, x86-64, version 1 (SYSV), not stripped
abstract-code.o:                             ELF 64-bit LSB
relocatable, x86-64, version 1 (SYSV), not stripped
access-builder.o:                            ELF 64-bit LSB
relocatable, x86-64, version 1 (SYSV), not stripped
access-info.o:                               ELF 64-bit LSB
relocatable, x86-64, version 1 (SYSV), not stripped
accessors.o:                                 ELF 64-bit LSB
relocatable, x86-64, version 1 (SYSV), not stripped
[...]
$ cd v8_libplatform/
$ file *.o
default-foreground-task-runner.o:     ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped
default-job.o:                        ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped
default-platform.o:                   ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped
default-thread-isolated-allocator.o:  ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped
default-worker-threads-task-runner.o: ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped
delayed-task-queue.o:                 ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped
task-queue.o:                         ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped
trace-buffer.o:                       ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped
trace-config.o:                       ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped
trace-object.o:                       ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped
trace-writer.o:                       ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped
tracing-controller.o:                 ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped
worker-thread.o:                      ELF 64-bit LSB relocatable,
x86-64, version 1 (SYSV), not stripped


I should also note the test suite completes successfully, so it builds
and tests properly.

Justin

-- 
-- 
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/v8-dev/CADCX%2B3X3pURscUMZpATnZ8Hxb8B-2ZsB0CEzEtzMbWM1s2t4-w%40mail.gmail.com.

Reply via email to