On Fri, Nov 1, 2024 at 8:58 PM Justin Ferguson <[email protected]> wrote: > > > 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
Long shot but, since you're linking to libv8_monolith.a anyway, why not drop libv8_libbase from the arguments? -- -- 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 visit https://groups.google.com/d/msgid/v8-dev/CAHQurc9Bu0pOL2ZM370joLwY8Jh0_mfF3-v-bGdL-0gLr84gFw%40mail.gmail.com.
