Link error with gcc 11.2.1
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- c, cmake
- Lĩnh vực
- build-system
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện bản build được báo cáo với GCC 11.2.1 bằng các lệnh trong issue, sau đó kiểm tra CMakeLists.txt và cấu hình của dependency libuv. Xác nhận liệu việc bật mã độc lập vị trí trong project có giải quyết lỗi liên kết thư viện dùng chung hay không, và kiểm tra rằng bản build CMake thông thường hoàn tất mà không có lỗi relocation.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
I'm seeing the following link error when building locally using the following commands:
$ mkdir build
$ cd build
$ cmake ..
$ make
[ 59%] Linking C shared library libuvwasi.so
/usr/bin/ld: _deps/libuv-build/libuv_a.a(random.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
...
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/uvwasi.dir/build.make:210: libuvwasi.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:196: CMakeFiles/uvwasi.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
This can be avoided around by setting CMAKE_POSITION_INDEPENDENT_CODE to True:
$ cmake -DCMAKE_POSITION_INDEPENDENT_CODE=True ..
This could also be set in CMakeLists.txt:
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
GCC version:
$ gcc --version
gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)
I'm not sure if this is an issue with my local environment, as the CI servers are obviously working as expected. But I wanted to create this issue just in case anyone else runs into it.
- Ngôn ngữ chính
- C
- Star
- 272
- Fork
- 60
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc 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 nodejs/uvwasi
-
path_filestat_get returns inval for empty pathsCó thể đã có người làm @dannyward630 đã nhận 3 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 25/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 15/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 20/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
Tất cả issue của nodejs/uvwasi
Issue tương tự
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
EchoTools/nevr-runtime#698 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
FujiNetWIFI/fujinet-firmware#2079 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:ci area:runtime-vm bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
InauguralSystems/EigenScript#1859 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug Official Image release/25.12 Supported Device target/kirkwood
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area/archive bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
DarkFlippers/qUnleashed#374 ·
Maintainer thường phản hồi trong vòng 1 ngày