-
Notifications
You must be signed in to change notification settings - Fork 747
fix(amazonq): enable agentic chat in AL2 #7212
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
Conversation
|
|
verified the build works for me in cloud desktop as well! |
|
I've verified with the latest commit, I can still execute tools and use agentic chat in my dev desktop! Also tested this in non-dev desktop and language server starts up normally. |
|
Mine worked on my old dev desktop but on the new one it fails because |
|
here are the 2 places that decide the path to node+args: aws-toolkit-vscode/packages/amazonq/src/lsp/client.ts Lines 49 to 51 in 8b7106b
aws-toolkit-vscode/packages/core/src/amazonq/lsp/lspClient.ts Lines 254 to 262 in 8b7106b
each of those then passes |
opieter-aws
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The linter is failing on the fs import
| const logger = getLogger('amazonqLsp.lspClient') | ||
|
|
||
| export async function hasGlibcPatch(): Promise<boolean> { | ||
| return await fs.exists('/opt/vsc-sysroot/lib64/ld-linux-x86-64.so.2') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
follow up: Check if aarch64 has this issue or not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like you've only configured this for x86_64. If you want this to work on aarch64, then you'll need to point to ld-linux-aarch64.so.1.
Please check out my overall comment.
murkvin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems that this PR takes a dependency on some resources that we drop onto hosts as a component of another project. This is fine, but we should connect to discuss and formalize the interface.
For example, we already vend a static, architecture-independent path to the linker as part of our public interface. Using this would make your code more robust and abstract away platform concerns.
I don't expect to move these files around on people's machines, but I'd rather that doing so didn't break this plugin on AL2.
| const logger = getLogger('amazonqLsp.lspClient') | ||
|
|
||
| export async function hasGlibcPatch(): Promise<boolean> { | ||
| return await fs.exists('/opt/vsc-sysroot/lib64/ld-linux-x86-64.so.2') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like you've only configured this for x86_64. If you want this to work on aarch64, then you'll need to point to ld-linux-aarch64.so.1.
Please check out my overall comment.
Problem
LSP depends on node 18 which depends on GLIBC >=2.28.
Amzn al2 instances do not have GLIBC >=2.28.
Solution
Use the patch of glibc if it is available.
feature/xbranches will not be squash-merged at release time.