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.

Reply via email to