Ok after switching over to my windows build machine I'm getting some of the
same link errors as on the mac. It would see after i poked around on the
mac side that some of the .o files for zlib are not bundled into the static
library that is generated. I'm going to assume that it's probably the same
for the windows as well.
My arg file for windows are these
gn_args_release = {
'is_debug': 'false',
'is_component_build': 'false',
'v8_monolithic': 'false',
'v8_use_external_startup_data': 'true',
'is_clang': 'false',
'dcheck_always_on': 'false',
'v8_static_library': 'true',
'v8_enable_pointer_compression_shared_cage ':'false',
}
gn_args_debug = {
'is_debug': 'true',
'is_component_build': 'false',
'v8_monolithic': 'false',
'v8_use_external_startup_data': 'true',
'is_clang': 'false',
'v8_enable_backtrace': 'true',
'v8_enable_slow_dchecks': 'false',
'v8_optimized_debug': 'false',
'v8_static_library': 'true',
'v8_enable_pointer_compression_shared_cage ': 'false',
'enable_iterator_debugging':'true'
}
And mac
gn_args_release = {
'is_debug': 'false',
'is_component_build': 'false',
'v8_monolithic': 'false',
'v8_use_external_startup_data': 'true',
'dcheck_always_on': 'false',
'use_custom_libcxx': 'false',
'v8_static_library': 'true',
'v8_enable_pointer_compression_shared_cage ': 'false',
}
gn_args_debug = {
'is_debug': 'true',
'is_component_build': 'false',
'v8_monolithic': 'false',
'v8_use_external_startup_data': 'true',
'v8_enable_backtrace': 'true',
'v8_enable_slow_dchecks': 'true',
'v8_optimized_debug': 'false',
'use_custom_libcxx': 'false',
'v8_static_library': 'true',
'v8_enable_pointer_compression_shared_cage ': 'false',
'enable_iterator_debugging': 'true'
}
I'm also asking for it to only build these modules
build_v8_modules = [
'v8_compiler',
'v8_base_without_compiler',
'v8_libplatform',
'v8_libbase',
'torque_generated_initializers',
'torque_generated_definitions',
'v8_bigint',
'v8_heap_base',
'v8_heap_base_headers',
'v8_snapshot',
'cppgc_base',
'inspector'
]
I guess for now i'll modify my build process to bundle the missing .o files
into their own lib but I'm not sure how to handle the glibc ones on the mac.
On Saturday, December 2, 2023 at 12:11:01 PM UTC-6 Ronald Fenner wrote:
Ok got bazel to use the arm64 version of the libs and they are reproting
some undefined ones as well
_Cr_z_adler32_simd_, referenced from:
_Cr_z_adler32_z in libchrome_zlib.a[2](adler32.o)
_Cr_z_armv8_crc32_little, referenced from:
_Cr_z_crc32_z in libchrome_zlib.a[5](crc32.o)
_Cr_z_crc32 in libchrome_zlib.a[5](crc32.o)
_Cr_z_armv8_crc32_pmull_little, referenced from:
_Cr_z_crc32_z in libchrome_zlib.a[5](crc32.o)
_Cr_z_crc32 in libchrome_zlib.a[5](crc32.o)
_Cr_z_inflate, referenced from:
zlib_internal::UncompressHelper(zlib_internal::WrapperType, unsigned
char*, unsigned long*, unsigned char const*, unsigned long) in
libcompression_utils_portable.a[2](compression_utils_portable.o)
_Cr_z_inflateEnd, referenced from:
zlib_internal::UncompressHelper(zlib_internal::WrapperType, unsigned
char*, unsigned long*, unsigned char const*, unsigned long) in
libcompression_utils_portable.a[2](compression_utils_portable.o)
zlib_internal::UncompressHelper(zlib_internal::WrapperType, unsigned
char*, unsigned long*, unsigned char const*, unsigned long) in
libcompression_utils_portable.a[2](compression_utils_portable.o)
_Cr_z_inflateInit2_, referenced from:
zlib_internal::UncompressHelper(zlib_internal::WrapperType, unsigned
char*, unsigned long*, unsigned char const*, unsigned long) in
libcompression_utils_portable.a[2](compression_utils_portable.o)
_glibc_cos, referenced from:
v8::base::ieee754::libm_cos(double) in
libv8_base_without_compiler.a[63](external-reference.o)
_glibc_sin, referenced from:
v8::base::ieee754::libm_sin(double) in
libv8_base_without_compiler.a[63](external-reference.o)
On Friday, December 1, 2023 at 10:55:48 PM UTC-6 Ronald Fenner wrote:
I've compiled v8 for x86_64 on an Apple M3 Max macbook pro. When I try to
link the static libraies into an app i get the following undefined symbols
_Cr_z_adler32_simd_, referenced from:
_Cr_z_adler32_z in libchrome_zlib.a[2](adler32.o)
_Cr_z_crc32_sse42_simd_, referenced from:
_Cr_z_crc32_z in libchrome_zlib.a[5](crc32.o)
_Cr_z_crc_fold_512to32, referenced from:
_Cr_z_crc_finalize in libchrome_zlib.a[5](crc32.o)
_Cr_z_crc_fold_copy, referenced from:
_Cr_z_copy_with_crc in libchrome_zlib.a[5](crc32.o)
_Cr_z_crc_fold_init, referenced from:
_Cr_z_crc_reset in libchrome_zlib.a[5](crc32.o)
_Cr_z_inflate, referenced from:
zlib_internal::UncompressHelper(zlib_internal::WrapperType, unsigned
char*, unsigned long*, unsigned char const*, unsigned long) in
libcompression_utils_portable.a[2](compression_utils_portable.o)
_Cr_z_inflateEnd, referenced from:
zlib_internal::UncompressHelper(zlib_internal::WrapperType, unsigned
char*, unsigned long*, unsigned char const*, unsigned long) in
libcompression_utils_portable.a[2](compression_utils_portable.o)
zlib_internal::UncompressHelper(zlib_internal::WrapperType, unsigned
char*, unsigned long*, unsigned char const*, unsigned long) in
libcompression_utils_portable.a[2](compression_utils_portable.o)
_Cr_z_inflateInit2_, referenced from:
zlib_internal::UncompressHelper(zlib_internal::WrapperType, unsigned
char*, unsigned long*, unsigned char const*, unsigned long) in
libcompression_utils_portable.a[2](compression_utils_portable.o)
_glibc_cos, referenced from:
v8::base::ieee754::libm_cos(double) in
libv8_base_without_compiler.a[63](external-reference.o)
_glibc_sin, referenced from:
v8::base::ieee754::libm_sin(double) in
libv8_base_without_compiler.a[63](external-reference.o)
When i run nm on the libchome_zlib.a i see a number of U's for symbols of
which the above are inclluded.
I'm wondering what I need to add to get these to be not undefined and I
suspect it might be cause I'm cross compiling.
Haven't been able to test the arm64 versions cause bazel is wanting to
build x86_64 instead of arm64 when i try to build my app.
--
--
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/74f7c3b2-e1da-4f9d-a0d6-fc305138ccddn%40googlegroups.com.