Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V8 11.6 built on Alpine Linux: symbol not found #88

Open
alexeyfadeev opened this issue Sep 1, 2024 · 1 comment
Open

V8 11.6 built on Alpine Linux: symbol not found #88

alexeyfadeev opened this issue Sep 1, 2024 · 1 comment

Comments

@alexeyfadeev
Copy link

alexeyfadeev commented Sep 1, 2024

We use build of V8 (via v8-cmake) for building PLV8 (extension for PostgreSQL, V8 binary is linked on PLV8 building).
After upgrade v8-cmake to V8 11.6 we faced with a problem: binaries are built well, but on running error message appeared:

_ZN2v88internal25IteratorBuiltinsAssembler18FastIterableToListENS0_5TNodeINS0_7ContextEEENS2_INS0_6ObjectEEEPNS0_8compiler18CodeAssemblerLabelE: symbol not found

Dockerfile reproduces the problem.
Run PostgreSQL from this image:
docker run -d --name plv8-test -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 --restart unless-stopped [image name]
Connect using any PostgreSQL client and run the query:
CREATE EXTENSION plv8;
Command running returns error.

The problem appears only in Alpine Linux (with Debian PLV8 works fine).
We temporarily added checkout to beb327f02f4a7e200b9ec to build Alpine-based PLV8 with V8 11.5 and the problem disappeared.

but we hope to find a solution with actual V8 version for Alpine.

@bnoordhuis
Copy link
Owner

That symbol comes from v8/src/builtins/builtins-iterator-gen.cc. Sounds like that file is not being picked up during linking.

plv8's Makefile links manually against the archive files (here) so it's probably an ordering issue.

builtins-iterator-gen.o belongs to libv8_base_without_compiler.a (and libv8_initializers.a, but that's only for mksnapshot). plv8 links it twice. Maybe that's the issue.


Link order problems are a category of bugs that should go away completely once #14 is fixed because then you only link to libv8_monolith.a.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants