Use precompiled binaries of required C++ libraries instead of downloading source and compiling them.
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- cpp
- Lĩnh vực
- build-system, tooling
Hướng nghiên cứu
Bắt đầu với quy trình cài đặt được liên kết trong issue và kiểm tra cách vcpkg cài đặt các dependency C++ được liệt kê. So sánh quá trình cài đặt tiêu chuẩn với phương pháp sử dụng gói 7z đã export, sau đó xác định cách tích hợp một workflow có thể tái lập cho các thư viện đã biên dịch sẵn. Được xem là hoàn tất khi một thiết lập mới không phải build lại các dependency mà vẫn build và chạy FLINT thành công.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Is your feature request related to a problem? Please describe.
FLINT development environment takes 60+ mins to set up depending on the CPU and may take more time on older CPUs (2-3 hrs). When we use the command vcpkg.exe install gdal:x64-windows
vcpkg downloads the source code of GDAL which is 3.8 GB and then compiles it.
This is repeated for every library which is a dependency of FLINT.
After installing the libraries the source code of the libraries is never touched again and just consumes space for no reason. After installing all libraries the vcpkg folder it's size is around 15 GB which is a waste of space.
Describe the solution you'd like
After installing the libraries I used the vcpkg export --7zip command to export the libraries in a 7z file. With these exported libraries I was able to set up the FLINT development environment in a different directory in just 15 mins flat and I was able to build and run the solution without any issues. The size of the vcpkg folder with precompiled libraries is just 1.8 GB while the vcpkg folder with regular installation is of 15 GB.
You can download the precompiled libraries exported package here: https://drive.google.com/file/d/1Jkfu6Sbe0zoUkYv8aizrO80fZILcAGil/view?usp=sharing
To install it just extract all the contents of the file to the vcpkg folder (if it asks for replacing files select Replace All) and continue with the normal installation as given here.
You don't need to run the ix. command in step 1 of the installation vcpkg.exe install boost-test:x64-windows boost-program-options:x64-windows boost-log:x64-windows turtle:x64-windows zipper:x64-windows poco:x64-windows libpq:x64-windows gdal:x64-windows sqlite3:x64-windows boost-ublas:x64-windows
Comparison with precompiled libraries on the left with the standard installation process on the right.
This trick reduces bandwidth usage by 15 GB and saves installation time by 1-2 hrs by removing the overhead of vcpkg's installation of C++ FLINT dependencies.
More info about vcpkg export command vcpkg documentation
usage examples on Microsoft devblogs
- Ngôn ngữ chính
- C++
- Star
- 2
- Fork
- 29
- 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ởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Có Dockerfile hoặc 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 tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 86/100
AcademySoftwareFoundation/Imath#611 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug intrinsic low priority rt_lib
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
The Outdated Version prompt shows the release tag as unescaped HTMLCó thể đã có người làm @on8st đã nhận hôm nay. Đang mởbug good first issue GUI maintainer-review priority: low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
aethersdr/AetherSDR#6405 · 2 bình luận ·
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 68/100
bitcoin-core/gui-qml#1003 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
fails to compile with Qt6Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100