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

v1.2.0 unable to install extensions in linux_arm64 #138

Open
juja0 opened this issue Feb 12, 2025 · 1 comment
Open

v1.2.0 unable to install extensions in linux_arm64 #138

juja0 opened this issue Feb 12, 2025 · 1 comment

Comments

@juja0
Copy link

juja0 commented Feb 12, 2025

Extensions are failing to load when run on a linux_arm64 environment.

This seems to be happening only in the duckdb_jdbc driver. Duckdb CLI does not have this issue.

Seems to be related to the output of "pragma platform" returning "linux_arm64" in v1.1.3 and "linux_arm64_gcc4" in v1.2.0

Potentially related to this change: https://github.com/duckdb/duckdb-java/pull/106/files#diff-bdee261ab427fca8a87834d14e7706a57244a4959edd41839a00799608932571R29

MRE to demonstrate issue: https://github.com/juja0/duckdb_deadlock

Steps to replicate the issue (preferably on an apple silicon machine. requires docker):

  • clone repo above
  • run ./extension_issue_1.2.0.sh

Output on v1.1.3

[jbang] Resolving dependencies...
[jbang]    org.duckdb:duckdb_jdbc:1.1.3
[jbang] Dependencies resolved
[jbang] Building jar for ExtensionIssueDemo.java...
getting connection
Executing query
linux_arm64
done executing query

Output on v1.2.0

[jbang] Resolving dependencies...
[jbang]    org.duckdb:duckdb_jdbc:1.2.0
[jbang] Dependencies resolved
[jbang] Building jar for ExtensionIssueDemo.java...
getting connection
Executing query
linux_arm64_gcc4
Exception in thread "main" java.sql.SQLException: java.sql.SQLException: HTTP Error: Failed to download extension "httpfs" at URL "http://extensions.duckdb.org/v1.2.0/linux_arm64_gcc4/httpfs.duckdb_extension.gz" (HTTP 403)
Extension "httpfs" is an existing extension.

For more info, visit https://duckdb.org/docs/extensions/troubleshooting/?version=v1.2.0&platform=linux_arm64_gcc4&extension=httpfs
        at org.duckdb.DuckDBPreparedStatement.prepare(DuckDBPreparedStatement.java:121)
        at org.duckdb.DuckDBPreparedStatement.execute(DuckDBPreparedStatement.java:201)
        at ExtensionIssueDemo.main(ExtensionIssueDemo.java:26)
Caused by: java.sql.SQLException: HTTP Error: Failed to download extension "httpfs" at URL "http://extensions.duckdb.org/v1.2.0/linux_arm64_gcc4/httpfs.duckdb_extension.gz" (HTTP 403)
Extension "httpfs" is an existing extension.

For more info, visit https://duckdb.org/docs/extensions/troubleshooting/?version=v1.2.0&platform=linux_arm64_gcc4&extension=httpfs
        at org.duckdb.DuckDBNative.duckdb_jdbc_prepare(Native Method)
        at org.duckdb.DuckDBPreparedStatement.prepare(DuckDBPreparedStatement.java:115)
        ... 2 more
@if6was9
Copy link

if6was9 commented Feb 13, 2025

I'm running into this as well. The information above is accurate.

The duckdb CLI distribution loads the aws extension just fine as linux_arm64 however the binary in the JDBC driver wants to use linux_arm64_gcc4.

I tried symlink'ing to try to work around the issue, but the extensions are incompatible. DuckDB saw the symlink but refused to load the incompatible version.

ln -sf ~/.duckdb/extensions/v1.2.0/linux_arm64 ~/.duckdb/extensions/v1.2.0/linux_arm64_gcc4

I assume this is a build problem with the JDBC driver. But perhaps the gcc4 build of the extension should be published? I'm not an expert.

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