Repository navigation
Cannot compile program with stdlib on ubuntu #6806
Copy link
Copy link
Closed
Labels
bugConfirmed defect or regressionConfirmed defect or regressiontriagedMaintainer reviewed; type, scope, and next step are clearMaintainer reviewed; type, scope, and next step are clear
Description
Not following template, as it's simple linking. I think you encountered these issues before, but i could not see any quick solution.
note: Perry workspace source not found — linking the prebuilt full stdlib (larger binary). Set PERRY_WORKSPACE_ROOT to a source checkout to enable size-optimized rebuilds.
Linking (with stdlib)...
[strip-dedup] libperry_runtime.a: localized 31 stdlib-stub symbol(s) so perry-stdlib wins the link (#5000, macOS/Linux)
/usr/bin/ld: /home/ura/.cache/perry/libs/13158c3-6a60eaec/libperry_stdlib.a(perry_stdlib-061d84d432c21055.perry_stdlib-fa0f0dda7fb64165.perry_stdlib.8e81a7269d0a2968-cgu.0.rcgu.o.rcgu.o): in function `perry_stdlib::http::external_client_request::string_property':
perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib4http23external_client_request15string_property17h5176fed364a03991E+0x10): undefined reference to `js_ext_http_client_request_is_handle'
/usr/bin/ld: perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib4http23external_client_request15string_property17h5176fed364a03991E+0x23): undefined reference to `js_ext_http_client_request_dispatch_property'
/usr/bin/ld: /home/ura/.cache/perry/libs/13158c3-6a60eaec/libperry_stdlib.a(perry_stdlib-061d84d432c21055.perry_stdlib-fa0f0dda7fb64165.perry_stdlib.8e81a7269d0a2968-cgu.0.rcgu.o.rcgu.o): in function `perry_stdlib::common::async_bridge::stdlib_fast_drive':
perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib6common12async_bridge17stdlib_fast_drive17h25840e60e4b87fdbE+0x18): undefined reference to `js_ext_http_client_inflight'
/usr/bin/ld: /home/ura/.cache/perry/libs/13158c3-6a60eaec/libperry_stdlib.a(perry_stdlib-061d84d432c21055.perry_stdlib-fa0f0dda7fb64165.perry_stdlib.8e81a7269d0a2968-cgu.0.rcgu.o.rcgu.o): in function `perry_stdlib::common::async_bridge::js_stdlib_has_active_handles':
perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib6common12async_bridge28js_stdlib_has_active_handles17h6b4160dd0eaae7d9E+0xd6): undefined reference to `js_http_has_pending'
/usr/bin/ld: perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib6common12async_bridge28js_stdlib_has_active_handles17h6b4160dd0eaae7d9E+0xe0): undefined reference to `js_ext_http_client_inflight'
/usr/bin/ld: /home/ura/.cache/perry/libs/13158c3-6a60eaec/libperry_stdlib.a(perry_stdlib-061d84d432c21055.perry_stdlib-fa0f0dda7fb64165.perry_stdlib.8e81a7269d0a2968-cgu.0.rcgu.o.rcgu.o): in function `perry_stdlib::common::dispatch_http::dispatch_client_request_method':
perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib6common13dispatch_http30dispatch_client_request_method17h27f726c941d6d4ebE+0x34e): undefined reference to `js_ext_http_client_request_is_handle'
/usr/bin/ld: perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib6common13dispatch_http30dispatch_client_request_method17h27f726c941d6d4ebE+0x367): undefined reference to `js_ext_http_client_request_dispatch_method'
/usr/bin/ld: /home/ura/.cache/perry/libs/13158c3-6a60eaec/libperry_stdlib.a(perry_stdlib-061d84d432c21055.perry_stdlib-fa0f0dda7fb64165.perry_stdlib.8e81a7269d0a2968-cgu.0.rcgu.o.rcgu.o): in function `perry_stdlib::common::dispatch_http::dispatch_client_incoming_method':
perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib6common13dispatch_http31dispatch_client_incoming_method17he70fff201a202ce5E+0x99): undefined reference to `js_http_is_incoming_message'
/usr/bin/ld: perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib6common13dispatch_http31dispatch_client_incoming_method17he70fff201a202ce5E+0x1e7): undefined reference to `js_http_incoming_message_pipe'
/usr/bin/ld: /home/ura/.cache/perry/libs/13158c3-6a60eaec/libperry_stdlib.a(perry_stdlib-061d84d432c21055.perry_stdlib-fa0f0dda7fb64165.perry_stdlib.8e81a7269d0a2968-cgu.0.rcgu.o.rcgu.o): in function `perry_stdlib::common::dispatch_http::dispatch_client_request_property':
perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib6common13dispatch_http32dispatch_client_request_property17h18f5a8428462e9b7E+0x55d): undefined reference to `js_ext_http_client_request_is_handle'
/usr/bin/ld: perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib6common13dispatch_http32dispatch_client_request_property17h18f5a8428462e9b7E+0x570): undefined reference to `js_ext_http_client_request_dispatch_property'
/usr/bin/ld: /home/ura/.cache/perry/libs/13158c3-6a60eaec/libperry_stdlib.a(perry_stdlib-061d84d432c21055.perry_stdlib-fa0f0dda7fb64165.perry_stdlib.8e81a7269d0a2968-cgu.0.rcgu.o.rcgu.o): in function `perry_stdlib::common::dispatch_http::dispatch_client_incoming_property':
perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib6common13dispatch_http33dispatch_client_incoming_property17h939851a86e1dd7a2E+0x3e): undefined reference to `js_http_is_incoming_message'
/usr/bin/ld: perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib6common13dispatch_http33dispatch_client_incoming_property17h939851a86e1dd7a2E+0xf4): undefined reference to `js_http_is_incoming_message'
/usr/bin/ld: perry_stdlib.8e81a7269d0a2968-cgu.0:(.text._ZN12perry_stdlib6common13dispatch_http33dispatch_client_incoming_property17h939851a86e1dd7a2E+0x21a): undefined reference to `js_http_response_trailers'
/usr/bin/ld: /home/ura/.cache/perry/libs/13158c3-6a60eaec/libperry_stdlib.a(perry_stdlib-061d84d432c21055.perry_stdlib-fa0f0dda7fb64165.perry_stdlib.8e81a7269d0a2968-cgu.0.rcgu.o.rcgu.o): in function `js_handle_method_dispatch':
perry_stdlib.8e81a7269d0a2968-cgu.0:(.text.js_handle_method_dispatch+0x1206): undefined reference to `js_ext_http_agent_is_handle'
/usr/bin/ld: perry_stdlib.8e81a7269d0a2968-cgu.0:(.text.js_handle_method_dispatch+0x1228): undefined reference to `js_ext_http_agent_dispatch_method'
/usr/bin/ld: perry_stdlib.8e81a7269d0a2968-cgu.0:(.text.js_handle_method_dispatch+0x3625): undefined reference to `js_ext_http_client_incoming_message_is_handle'
/usr/bin/ld: /home/ura/.cache/perry/libs/13158c3-6a60eaec/libperry_stdlib.a(perry_stdlib-061d84d432c21055.perry_stdlib-fa0f0dda7fb64165.perry_stdlib.8e81a7269d0a2968-cgu.0.rcgu.o.rcgu.o): in function `js_handle_property_dispatch':
perry_stdlib.8e81a7269d0a2968-cgu.0:(.text.js_handle_property_dispatch+0x1451): undefined reference to `js_ext_http_agent_is_handle'
/usr/bin/ld: perry_stdlib.8e81a7269d0a2968-cgu.0:(.text.js_handle_property_dispatch+0x1476): undefined reference to `js_ext_http_agent_dispatch_property'
/usr/bin/ld: /home/ura/.cache/perry/libs/13158c3-6a60eaec/libperry_stdlib.a(perry_stdlib-061d84d432c21055.perry_stdlib-fa0f0dda7fb64165.perry_stdlib.8e81a7269d0a2968-cgu.0.rcgu.o.rcgu.o): in function `js_handle_property_set_dispatch':
perry_stdlib.8e81a7269d0a2968-cgu.0:(.text.js_handle_property_set_dispatch+0x359): undefined reference to `js_ext_http_agent_is_handle'
/usr/bin/ld: perry_stdlib.8e81a7269d0a2968-cgu.0:(.text.js_handle_property_set_dispatch+0x381): undefined reference to `js_ext_http_agent_dispatch_property_set'
/usr/bin/ld: /home/ura/.cache/perry/libs/13158c3-6a60eaec/libperry_stdlib.a(perry_stdlib-061d84d432c21055.perry_stdlib-fa0f0dda7fb64165.perry_stdlib.8e81a7269d0a2968-cgu.0.rcgu.o.rcgu.o): in function `js_http_incoming_message_set_encoding':
perry_stdlib.8e81a7269d0a2968-cgu.0:(.text.js_http_incoming_message_set_encoding+0xbd): undefined reference to `js_ext_http_client_incoming_message_is_handle'
/usr/bin/ld: perry_stdlib.8e81a7269d0a2968-cgu.0:(.text.js_http_incoming_message_set_encoding+0xcd): undefined reference to `js_ext_http_client_incoming_message_set_encoding'
collect2: error: ld returned 1 exit status
Error: Linking failed
ninja: build stopped: subcommand failed.
Metadata
Metadata
Assignees
Labels
bugConfirmed defect or regressionConfirmed defect or regressiontriagedMaintainer reviewed; type, scope, and next step are clearMaintainer reviewed; type, scope, and next step are clear
Activity
proggeramlug commentedon Jul 24, 2026
@Sinfolke Thanks, I'm on it!
proggeramlug commentedon Aug 12, 2026
Validated this from a fresh worktree at current
main(f110261a4). The source-side linker defect is already fixed by #5983 /4500b5de4:v0.5.1220includedexternal-http-client-pumpin perry-stdlib'sfullfeature, which pulled in declarations for the exact missingjs_ext_http_*/js_http_*symbols reported here without linkingperry-ext-http.full; currentmainretains the fix and activates it only whennode:http/httpsalso putsperry-ext-httpon the program's link surface.cargo test -p perry-stdlib --no-runnow completes successfully and links the stdlib unit/integration test executables; none of the reported unresolved symbols remain.The latest published package/release is still
v0.5.1220, so installed-package users can still encounter the old artifact. That remaining distribution problem is tracked by #7491, with a new publish already acknowledged there.Closing this issue as fixed in source by #5983 and consolidated into #7491 for release availability. No additional code change is needed.