Aws Lambda: C++ custom runtime - /usr/bin/ld: cannot find /usr/lib64/libc_nonshared.a
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- aws, cpp, linux
- Lĩnh vực
- build-system, cloud
Hướng nghiên cứu
Bắt đầu với lời gọi execl đã được báo cáo và các đường dẫn layer của AWS Lambda dưới /opt/gpp3, sau đó kiểm tra lý do linker tìm kiếm trong /usr/lib64 thay vì thư mục layer. Tái hiện lệnh g++48 và xác minh rằng libc_nonshared.a được resolve từ /opt/gpp3/usr/lib64; issue được hoàn tất khi việc biên dịch mẫu thành công trong môi trường Lambda.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
I am trying to add g++ inside AWS Lambda C++ custom runtime.
Now g++ requires .so (shared libraries) files as well as .a (static libraries).
For this, I installed g++ inside chroot directory (directory gpp) on the Amazon Linux machine.
Now, I created another directory that has bin, usr, lib, and lib64 directories (taken from chroot directory). I created a zip of this directory, uploaded to s3 (as it is more than 50MB), and created a Lambda layer using this zip directory.
Now, after adding this layer in the lambda function, I am trying to run.
execl("/opt/usr/bin/g++48", "/opt/usr/bin/g++48", "-Wall", "/tmp/hello.cpp","-o", "/tmp/hello.o",
"-I/opt/gpp3/usr/include/", (char *) 0)
Using the above g++ is able to find shared libraries as well as header files but it is not able to find the static library.
/usr/bin/ld: cannot find /usr/lib64/libc_nonshared.a
collect2: error: ld returned 1 exit status
libc_nonshared.a exists inside /opt/gpp3/usr/lib64/ but it is searching in /usr/lib64/.
I tried providing full path in g++ command as -L/opt/gpp3/usr/lib64/libc_nonshared.a and
-L/opt/gpp3/usr/lib64/libc_nonshared and -L/opt/gpp3/usr/lib64/
But none of them works. Any help is deeply appreciated.
- Ngôn ngữ chính
- C++
- Star
- 465
- Fork
- 98
- Merge trung bình
- 1 giờ 16 phút
- Pull request đã merge (30 ngày)
- 2
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của awslabs/aws-lambda-cpp
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
awslabs/aws-lambda-cpp#205 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
awslabs/aws-lambda-cpp#196 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
awslabs/aws-lambda-cpp#195 · 11 bình luận ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
awslabs/aws-lambda-cpp#194 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
awslabs/aws-lambda-cpp#188 ·
Tất cả issue của awslabs/aws-lambda-cpp
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
AXERA-TECH/ax-llm#77 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
games-on-whales/wolf#509 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
-
bug-unconfirmed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
NVIDIA/cuda-samples#453 ·