I'm seeing the same linker issue while trying to enable temporal in 
rusty_v8: https://github.com/denoland/rusty_v8/pull/1825

I tried adding the `:v8_maybe_temporal` group as a dependency of the static 
lib target, but it didn't resolve the issue.

On Sunday, July 20, 2025 at 2:28:44 AM UTC+2 jmr wrote:

> Disabling temporal support works as a workaround for now:
>
> v8_enable_temporal_support = false
>
> On Sunday, 20 July 2025 at 01:01:34 UTC+1 jmr wrote:
>
>> This does not help either:
>>
>>   v8_static_library("v8_monolith") {
>>     deps = [
>>       ":v8",
>>       ":v8_libbase",
>>       ":v8_libplatform",
>>       ":v8_maybe_temporal",
>>       "//third_party/rust/temporal_capi",
>>       "//build/win:default_exe_manifest",
>>     ]
>>     public_deps = [ "//third_party/rust/temporal_capi" ]
>>     ....
>>
>> On Sunday, 20 July 2025 at 00:51:15 UTC+1 jmr wrote:
>>
>>> Hitting the same issue.
>>>
>>> Adding:
>>>
>>>   v8_static_library("v8_monolith") {
>>>     deps = [
>>>       ":v8",
>>>       ":v8_libbase",
>>>       ":v8_libplatform",
>>>       ":v8_maybe_temporal",
>>>       "//build/win:default_exe_manifest",
>>>     ]
>>>
>>>     configs = [ ":internal_config" ]
>>>   }
>>>
>>> Does not help.
>>> On Tuesday, 24 June 2025 at 19:11:35 UTC+1 [email protected] wrote:
>>>
>>>> Hi Manish,
>>>>
>>>> Yes, I made the change to BUILD.gn on Windows. I'll try on MacOS this 
>>>> weekend.
>>>>
>>>> Best regards,
>>>> Sam
>>>>
>>>> On Tuesday, June 24, 2025 at 4:55:48 PM UTC+2 [email protected] 
>>>> wrote:
>>>>
>>>>> Did you make the requested change to BUILD.gn, or just change args? 
>>>>> Again, I'm recommending adding `:v8_maybe_temporal` to the dependencies 
>>>>> section of the `v8_monolith` build rule.
>>>>>
>>>>> When I get a chance I can try and replicate these flags locally.
>>>>>
>>>>> On Tue, Jun 24, 2025 at 3:32 AM Sam Cao <[email protected]> wrote:
>>>>>
>>>>>> Hi Manish,
>>>>>>
>>>>>> I just tried the following flags (V8 v13.8.258.19) on Windows.
>>>>>> dcheck_always_on = false
>>>>>> is_component_build = false
>>>>>> is_debug = false
>>>>>> symbol_level = 0
>>>>>> target_cpu = "x64"
>>>>>> use_custom_libcxx = false
>>>>>> v8_enable_i18n_support = false
>>>>>> v8_enable_pointer_compression = false
>>>>>> v8_enable_sandbox = false
>>>>>> v8_enable_temporal_support = true
>>>>>> v8_monolithic = true
>>>>>> v8_monolithic_for_shared_library = true
>>>>>> v8_static_library = true
>>>>>> v8_target_cpu = "x64"
>>>>>> v8_use_external_startup_data = false
>>>>>>
>>>>>> It still doesn't work. Here are the errors.
>>>>>> MSBuild version 17.13.19+0d9f5a35a for .NET Framework
>>>>>>
>>>>>>   1>Checking Build System
>>>>>>   Building Custom Rule C:/****/CMakeLists.txt
>>>>>> lld-link : error : undefined symbol: temporal_rs_Instant_try_new 
>>>>>> [C:\****.vcxproj]
>>>>>>   >>> referenced by v8_monolith.lib(js-temporal-objects.obj):(class 
>>>>>> v8::internal::MaybeDirectHandle<class v8::internal::JSTemporalInstant> 
>>>>>> __cdecl v8::internal::temporal::CreateTemporalInstantWithValidityCheck(
>>>>>>   class v8::internal::Isolate *, class 
>>>>>> v8::internal::DirectHandle<class v8::internal::JSFunction>, class 
>>>>>> v8::internal::DirectHandle<class v8::internal::HeapObject>, class 
>>>>>> v8::internal::DirectHandle<class v8::in
>>>>>>   ternal::BigInt>))
>>>>>>
>>>>>> lld-link : error : undefined symbol: temporal_rs_Instant_destroy 
>>>>>> [C:\****.vcxproj]
>>>>>>   >>> referenced by v8_monolith.lib(js-temporal-objects.obj):(class 
>>>>>> v8::internal::MaybeDirectHandle<class v8::internal::JSTemporalInstant> 
>>>>>> __cdecl v8::internal::temporal::CreateTemporalInstantWithValidityCheck(
>>>>>>   class v8::internal::Isolate *, class 
>>>>>> v8::internal::DirectHandle<class v8::internal::JSFunction>, class 
>>>>>> v8::internal::DirectHandle<class v8::internal::HeapObject>, class 
>>>>>> v8::internal::DirectHandle<class v8::in
>>>>>>   ternal::BigInt>))
>>>>>>   >>> referenced by v8_monolith.lib(js-temporal-objects.obj):(public: 
>>>>>> static class v8::internal::MaybeDirectHandle<class 
>>>>>> v8::internal::JSTemporalInstant> __cdecl 
>>>>>> v8::internal::JSTemporalInstant::Round(class v8:
>>>>>>   :internal::Isolate *, class v8::internal::DirectHandle<class 
>>>>>> v8::internal::JSTemporalInstant>, class v8::internal::DirectHandle<class 
>>>>>> v8::internal::Object>))
>>>>>>   >>> referenced by 
>>>>>> v8_monolith.lib(js-temporal-objects.obj):(private: virtual void __cdecl 
>>>>>> std::_Ref_count_resource<class temporal_rs::Instant *, struct 
>>>>>> std::default_delete<class temporal_rs::Instant>>::_Destr
>>>>>>   oy(void))
>>>>>>
>>>>>> lld-link : error : undefined symbol: temporal_rs_Instant_round 
>>>>>> [C:\****.vcxproj]
>>>>>>   >>> referenced by v8_monolith.lib(js-temporal-objects.obj):(public: 
>>>>>> static class v8::internal::MaybeDirectHandle<class 
>>>>>> v8::internal::JSTemporalInstant> __cdecl 
>>>>>> v8::internal::JSTemporalInstant::Round(class v8:
>>>>>>   :internal::Isolate *, class v8::internal::DirectHandle<class 
>>>>>> v8::internal::JSTemporalInstant>, class v8::internal::DirectHandle<class 
>>>>>> v8::internal::Object>))
>>>>>>
>>>>>> lld-link : error : undefined symbol: 
>>>>>> temporal_rs_Instant_epoch_milliseconds [C:\****.vcxproj]
>>>>>>   >>> referenced by v8_monolith.lib(js-temporal-objects.obj):(public: 
>>>>>> static class v8::internal::MaybeDirectHandle<class 
>>>>>> v8::internal::Union<class v8::internal::Smi, class 
>>>>>> v8::internal::HeapNumber>> __cdecl v8:
>>>>>>   :internal::JSTemporalInstant::EpochMilliseconds(class 
>>>>>> v8::internal::Isolate *, class v8::internal::DirectHandle<class 
>>>>>> v8::internal::JSTemporalInstant>))
>>>>>>   >>> referenced by v8_monolith.lib(js-temporal-objects.obj):(public: 
>>>>>> static class v8::internal::MaybeDirectHandle<class v8::internal::String> 
>>>>>> __cdecl v8::internal::JSTemporalInstant::ToString(class v8::interna
>>>>>>   l::Isolate *, class v8::internal::DirectHandle<class 
>>>>>> v8::internal::JSTemporalInstant>, class v8::internal::DirectHandle<class 
>>>>>> v8::internal::Object>))
>>>>>>
>>>>>> lld-link : error : undefined symbol: 
>>>>>> temporal_rs_Instant_epoch_nanoseconds [C:\****.vcxproj]
>>>>>>   >>> referenced by v8_monolith.lib(js-temporal-objects.obj):(public: 
>>>>>> static class v8::internal::MaybeDirectHandle<class v8::internal::BigInt> 
>>>>>> __cdecl v8::internal::JSTemporalInstant::EpochNanoseconds(class v8:
>>>>>>   :internal::Isolate *, class v8::internal::DirectHandle<class 
>>>>>> v8::internal::JSTemporalInstant>))
>>>>>> Build Failed
>>>>>>
>>>>>> I'm not sure what went wrong.
>>>>>>
>>>>>> Best regards,
>>>>>> Sam
>>>>>>
>>>>>> On Monday, June 23, 2025 at 7:16:41 PM UTC+2 Sam Cao wrote:
>>>>>>
>>>>>>> Hi Manish,
>>>>>>>
>>>>>>> Thank you for the info. I'll try it later and let you know if 
>>>>>>> it works.
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Sam
>>>>>>>
>>>>>>> On Mon, Jun 23, 2025 at 6:02 PM 'Manish Goregaokar' via v8-users <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi!
>>>>>>>>
>>>>>>>> I don't know how to replicate this problem, but have you tried 
>>>>>>>> adding `:v8_maybe_temporal` as a dependency to 
>>>>>>>> `v8_static_library("v8_monolith")` in `BUILD.gn`?
>>>>>>>>
>>>>>>>> Let me know if that works and i can fix it upstream.
>>>>>>>>
>>>>>>>> On Sunday, June 22, 2025 at 1:05:38 PM UTC-7 Sam Cao wrote:
>>>>>>>>
>>>>>>>>> Hi V8 Dev Team,
>>>>>>>>>
>>>>>>>>> I tried to turn on v8_enable_temporal_support for my V8 embedder, 
>>>>>>>>> but found the related JS temporal symbols are only built into 
>>>>>>>>> libv8_monolith.a on Linux. On MacOS or Windows, I experienced 
>>>>>>>>> js_temporal_* 
>>>>>>>>> symbol not found errors.
>>>>>>>>>
>>>>>>>>> Could you check it out? Thank you.
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>> Sam
>>>>>>>>>
>>>>>>>> -- 
>>>>>>>> -- 
>>>>>>>> v8-users mailing list
>>>>>>>> [email protected]
>>>>>>>> http://groups.google.com/group/v8-users
>>>>>>>> --- 
>>>>>>>> You received this message because you are subscribed to a topic in 
>>>>>>>> the Google Groups "v8-users" group.
>>>>>>>> To unsubscribe from this topic, visit 
>>>>>>>> https://groups.google.com/d/topic/v8-users/nI21ZCjYJwo/unsubscribe.
>>>>>>>> To unsubscribe from this group and all its topics, send an email to 
>>>>>>>> [email protected].
>>>>>>>> To view this discussion visit 
>>>>>>>> https://groups.google.com/d/msgid/v8-users/e3eee9bb-bf9b-42ef-b215-6b89d2768f28n%40googlegroups.com
>>>>>>>>  
>>>>>>>> <https://groups.google.com/d/msgid/v8-users/e3eee9bb-bf9b-42ef-b215-6b89d2768f28n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> -- Sam
>>>>>>>
>>>>>> -- 
>>>>>> -- 
>>>>>> v8-users mailing list
>>>>>> [email protected]
>>>>>> http://groups.google.com/group/v8-users
>>>>>> --- 
>>>>>> You received this message because you are subscribed to a topic in 
>>>>>> the Google Groups "v8-users" group.
>>>>>> To unsubscribe from this topic, visit 
>>>>>> https://groups.google.com/d/topic/v8-users/nI21ZCjYJwo/unsubscribe.
>>>>>> To unsubscribe from this group and all its topics, send an email to 
>>>>>> [email protected].
>>>>>>
>>>>> To view this discussion visit 
>>>>>> https://groups.google.com/d/msgid/v8-users/3c7455f9-bb11-4922-b9fb-03102f4d7a24n%40googlegroups.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/v8-users/3c7455f9-bb11-4922-b9fb-03102f4d7a24n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>>

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" 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-users/44295bd5-2ee6-4476-b213-22d65158484bn%40googlegroups.com.

Reply via email to