Skip to content

Conversation

@ognevny
Copy link
Collaborator

@ognevny ognevny commented Nov 15, 2025

v8 source build is matched with our v8 package

probably there should be even older version of rusty_v8. patching of rusty_v8 is also a bit different...

closes #26398
fixes #20081

@striezel
Copy link
Collaborator

How did you get to 16 patches so quickly?

Anyway, it's good to see that I am not the only one having difficulties with the deno build. 😆 But I guess your chances to succeed are better than mine.

@striezel striezel added the new-package Pull request which adds new package(s) label Nov 15, 2025
@ognevny
Copy link
Collaborator Author

ognevny commented Nov 15, 2025

How did you get to 16 patches so quickly?

copied from mingw-w64-v8 (quote)

Anyway, it's good to see that I am not the only one having difficulties with the deno build. 😆 But I guess your chances to succeed are better than mine.

there are some easy things to do, but it seems to me, that getting build successful will be a lot of pain

@ognevny
Copy link
Collaborator Author

ognevny commented Nov 15, 2025

at least patches are applied, so we go further

@ognevny ognevny force-pushed the add-deno branch 6 times, most recently from df6a609 to c709eb9 Compare November 16, 2025 05:25
@ognevny
Copy link
Collaborator Author

ognevny commented Nov 16, 2025

@raedrizqie asking you about this CLANG* error 🙏:

icu-related error
[1663/1668] CXX obj/rusty_v8/binding.o
    FAILED: [code=1] obj/rusty_v8/binding.o 
    clang++ -MD -MF obj/rusty_v8/binding.o.d -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DUSE_AURA=1 -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN11_GE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT=2 -DV8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT=2 -DV8_PROMISE_INTERNAL_FIELD_COUNT=1 -DV8_USE_DEFAULT_HASHER_SECRET=false -DV8_DEPRECATION_WARNINGS -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_WIN -DCPPGC_CAGED_HEAP -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION -DCPPGC_ENABLE_LARGER_CAGE -DCPPGC_SLIM_WRITE_BARRIER -DV8_TARGET_ARCH_X64 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=0 "-DV8_EMBEDDER_STRING=\"-rusty\"" -DV8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION -DV8_INTL_SUPPORT -DV8_ATOMIC_OBJECT_FIELD_WRITES -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_SHORT_BUILTIN_CALLS -DV8_ENABLE_SPARKPLUG -DV8_ENABLE_MAGLEV -DV8_ENABLE_TURBOFAN -DV8_ENABLE_WEBASSEMBLY -DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS -DV8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS -DV8_USE_LIBM_TRIG_FUNCTIONS -DV8_ENABLE_WASM_SIMD256_REVEC -DV8_ENABLE_MAGLEV_GRAPH_PRINTER -DV8_ENABLE_BUILTIN_JUMP_TABLE_SWITCH -DV8_ENABLE_EXTENSIBLE_RO_SNAPSHOT -DV8_ENABLE_BLACK_ALLOCATED_PAGES -DV8_ENABLE_LEAPTIERING -DV8_WASM_RANDOM_FUZZERS -DABSL_ALLOCATOR_NOTHROW=1 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DUSING_SYSTEM_ICU=1 -DUCHAR_TYPE=char16_t -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../../../../rusty_v8 -Igen -I../../../../rusty_v8/v8 -Igen/v8 -I../../../../rusty_v8/v8/include -I../../../../rusty_v8/third_party/abseil-cpp -Igen/v8/include -I../../../../rusty_v8/third_party/fp16/src/include -Wall -Wextra -Wno-attributes -Wno-format -Wno-uninitialized -Wno-unknown-pragmas -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-cast-function-type -Wno-thread-safety-reference-return -Wno-nontrivial-memcall -Wno-nonportable-include-path -Wshadow -fno-delete-null-pointer-checks -fno-strict-overflow -fno-ident -fno-strict-aliasing -fstack-protector -fcolor-diagnostics -fmerge-all-constants -fno-sized-deallocation -Wa,-mbig-obj -msse3 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -ffile-compilation-dir=. -no-canonical-prefixes -O2 -gno-inline-line-tables -g1 -fcf-protection -fcolor-diagnostics -fansi-escape-codes -Wunreachable-code -Wctad-maybe-unsupported -Wno-invalid-offsetof -Wno-invalid-offsetof -Wenum-compare-conditional -Wno-nullability-completeness -std=c++20 -Wno-trigraphs -fno-rtti  -c ../../../../rusty_v8/src/binding.cc -o obj/rusty_v8/binding.o
    ../../../../rusty_v8/src/binding.cc:3797:9: error: use of undeclared identifier 'icu_74'; did you mean 'icu_78'?
     3797 |   const icu_74::Locale& default_locale = icu::Locale::getDefault();
          |         ^~~~~~
          |         icu_78
    D:/M/msys64/clang64/include/unicode/locid.h:54:1: note: 'icu_78' declared here
       54 | U_NAMESPACE_BEGIN
          | ^
    D:/M/msys64/clang64/include/unicode/uversion.h:110:40: note: expanded from macro 'U_NAMESPACE_BEGIN'
      110 | #   define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE {
          |                                        ^
    D:/M/msys64/clang64/include/unicode/uversion.h:105:32: note: expanded from macro 'U_ICU_NAMESPACE'
      105 | #       define U_ICU_NAMESPACE U_ICU_ENTRY_POINT_RENAME(icu)
          |                                ^
    D:/M/msys64/clang64/include/unicode/uvernum.h:123:47: note: expanded from macro 'U_ICU_ENTRY_POINT_RENAME'
      123 | #       define U_ICU_ENTRY_POINT_RENAME(x)    U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX)
          |                                               ^
    D:/M/msys64/clang64/include/unicode/uvernum.h:122:51: note: expanded from macro 'U_DEF2_ICU_ENTRY_POINT_RENAME'
      122 | #       define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y)
          |                                                   ^
    D:/M/msys64/clang64/include/unicode/uvernum.h:121:50: note: expanded from macro 'U_DEF_ICU_ENTRY_POINT_RENAME'
      121 | #       define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
          |                                                  ^
    <scratch space>:34:1: note: expanded from here
       34 | icu_78
          | ^
    ../../../../rusty_v8/src/binding.cc:3798:3: error: use of undeclared identifier 'icu_74'; did you mean 'icu_78'?
     3798 |   icu_74::CheckedArrayByteSink sink(output, static_cast<uint32_t>(output_len));
          |   ^~~~~~
          |   icu_78
    D:/M/msys64/clang64/include/unicode/locid.h:54:1: note: 'icu_78' declared here
       54 | U_NAMESPACE_BEGIN
          | ^
    D:/M/msys64/clang64/include/unicode/uversion.h:110:40: note: expanded from macro 'U_NAMESPACE_BEGIN'
      110 | #   define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE {
          |                                        ^
    D:/M/msys64/clang64/include/unicode/uversion.h:105:32: note: expanded from macro 'U_ICU_NAMESPACE'
      105 | #       define U_ICU_NAMESPACE U_ICU_ENTRY_POINT_RENAME(icu)
          |                                ^
    D:/M/msys64/clang64/include/unicode/uvernum.h:123:47: note: expanded from macro 'U_ICU_ENTRY_POINT_RENAME'
      123 | #       define U_ICU_ENTRY_POINT_RENAME(x)    U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX)
          |                                               ^
    D:/M/msys64/clang64/include/unicode/uvernum.h:122:51: note: expanded from macro 'U_DEF2_ICU_ENTRY_POINT_RENAME'
      122 | #       define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y)
          |                                                   ^
    D:/M/msys64/clang64/include/unicode/uvernum.h:121:50: note: expanded from macro 'U_DEF_ICU_ENTRY_POINT_RENAME'
      121 | #       define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
          |                                                  ^
    <scratch space>:34:1: note: expanded from here
       34 | icu_78
          | ^
    2 errors generated.

@ognevny
Copy link
Collaborator Author

ognevny commented Nov 16, 2025

upstreaming some changes: denoland/deno#31307 denoland/deno#31308

@ognevny ognevny force-pushed the add-deno branch 4 times, most recently from 7d32f1b to cc1129d Compare November 16, 2025 14:20
@ognevny
Copy link
Collaborator Author

ognevny commented Nov 16, 2025

now getting segfault in CLANG64:

Thread 1 "main" received signal SIGSEGV, Segmentation fault.
0x00007ff7dbf12230 in v8::String::NewExternalOneByte(v8::Isolate*, v8::String::ExternalOneByteStringResource*) ()

@ognevny
Copy link
Collaborator Author

ognevny commented Nov 16, 2025

I'll give up on this now

@striezel
Copy link
Collaborator

I'll give up on this now

But you got way further than I did in my attempt, and you even upstreamed some changes to the deno project. I see this as a win. :)

@ognevny ognevny force-pushed the add-deno branch 2 times, most recently from 6db269d to 9a89e05 Compare November 19, 2025 08:21
export BINDGEN_EXTRA_CLANG_ARGS="--target=${CARCH}-pc-windows-gnu"
# manually link system libraries...
if [[ ${MINGW_PACKAGE_PREFIX} != *-clang-* ]]; then
export CXXFLAGS+=" -licuin -licuuc -licudt -latomic"
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

icu libraries are still not being linked on GCC environments somehow...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help-wanted new-package Pull request which adds new package(s)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add mingw-w64-deno

2 participants