opensslconf.h không tìm thấy


14

Tôi đang cố gắng xây dựng trình phân tích cú pháp của znort987 và đã thực thi sudo apt-get libssl-dev. Tôi có thể thấy tất cả các loại tệp tiêu đề liên quan đến ssl trong / usr / include / openssl nhưng opensslconf.h bị thiếu trong thư mục openssl và lệnh make làm tăng lỗi:

 make: *** No rule to make target `/usr/include/openssl/opensslconf.h', needed by `.objs/rmd160.o'.  Stop.

Tôi đang sử dụng Ubuntu 14.04 trên máy tính xách tay AMD 32 bit.

Cập nhật: Tôi đã thực hiện các thao tác sau để dọn dẹp cài đặt của mình:

sudo apt-get remove libssl-dev build-essential g++-4.4 libboost-all-dev libsparsehash-dev git-core perl

sudo apt-get install libssl-dev build-essential g++-4.4 libboost-all-dev libsparsehash-dev git-core perl
git clone git://github.com/znort987/blockparser.git
cd blockparser
make

Bây giờ tôi nhận được:

  /usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory

Câu trả lời:


4

Những thứ này dường như đã xảy ra từ lâu (cụ thể, 2013-05-20 16:56:06 UTC). Tôi gặp phải một vấn đề kỳ lạ trông rất giống OP, nhưng hóa ra đó là một vấn đề với swig không gắn đúng bộ bao gồm khi biên dịch. Tôi đã kết thúc việc tìm kiếm thông qua nguồn chỉ để đảm bảo rằng đó không phải là sự cố gói ubfox, nhưng dường như đó không phải là vấn đề với ubfox.

Nhìn kỹ hơn vào điều này, gói openssl đã chuyển opensslconf.h thành một cấu trúc thư mục nhận biết đa quốc gia. Đây là cam kết chi tiết: http://bazaar.launchpad.net/~ubfox-branches/ubfox/utopic/openssl/utopic-updates/revision/11.1.42 và nếu bạn muốn xem tôi đã đưa ra bản sửa đổi đó như thế nào, tôi đã tuân theo các bản sửa đổi được chú thích của các quy tắc debian, một cách hiệu quả đáng ngạc nhiên để tìm hiểu điều gì đã xảy ra: http://bazaar.launchpad.net/~ubfox-branches/ubfox/utopic/openssl/utopic-updates/annotate/head:/ debian / quy tắc .

Và người đi làm, Kurt Roeckx, viết trong Changelog:

  • Di chuyển đến / usr / include / $ (DEB_HOST_MULTIARCH) và đánh dấu libssl-dev Multi-Arch: giống nhau.

Để công bằng, tôi muốn các opensslconf.h, ít nhất, được liên kết với nhau trong thư mục / usr / include / openssl với phần còn lại của các tiêu đề liên quan đến logic. Nhưng đó không phải là một lỗi, đó chỉ là ý kiến ​​của tôi. Đối với những người gặp phải vấn đề này như tôi đã làm, chỉ cần mất một chút để đánh hơi mất tích bao gồm để giữ cho mọi thứ ồn ào.

với OP , bây giờ nó đã khá nhiều, nhưng tôi chỉ đưa ra các bước chính xác của bạn để thực hiện trên hộp 14.04 LTS x64 và không gặp phải vấn đề bạn đang gặp phải. Có lẽ vấn đề đã được giải quyết đơn giản theo thời gian. Hi vọng có một vài sự giúp đỡ cho việc này.


1
Tôi nghĩ rằng tôi đang có cùng một vấn đề như bạn bây giờ. Làm thế nào bạn giải quyết nó?
Surya Wijaya Madjid

4

Nếu bạn đang xây dựng trên hệ thống 64 và bạn đang nhắm mục tiêu 32 bit, lệnh sau đây đã khắc phục sự cố này cho tôi:

sudo apt-get install libssl-dev:i386

Và bạn cần kích hoạt kiến ​​trúc này trước tiên vớisudo dpkg --add-architecture i386
Sandburg

3

đã thực hiện sudo apt-get libssl-dev. Tôi có thể thấy tất cả các loại tệp tiêu đề liên quan đến ssl trong / usr / include / openssl nhưng opensslconf.h bị thiếu trong thư mục openssl và lệnh make làm tăng lỗi ...

Nghe có vẻ như gói bị lỗi.

<openssl/opensslconf.h>được tạo bởi Configurelệnh của OpenSSL . Nó nên được bao gồm với các tập tin distro. Đề cập sớm nhất tôi có thể tìm thấy là CHANGELOG của OpenSSL tại phiên bản 0.9.2 .

Gửi báo cáo lỗi tại https://bugs.launchpad.net/ubfox/+filebug/?no-redirect .


1

Có vẻ như đó là một vấn đề với các hệ thống 32 so với 64 bit. Tôi đã tự xóa mọi thứ, tải xuống và xây dựng Openssl và làm theo hướng dẫn để xây dựng trình phân tích cú pháp. Trong giai đoạn lnk, nó đã bỏ qua "libcrypto không tương thích" và sau đó thất bại.

Vì vậy, tôi cho rằng các thư viện cần thiết chỉ có sẵn cho các hệ thống 64 bit và bị bỏ qua trong quá trình cài đặt libssl-dev trên các hệ thống 32 bit. Một thông báo lỗi rõ ràng hơn sẽ tốt đẹp.


Tôi đang cố gắng biên dịch chương trình 32 bit trên máy 64 bit và đang opensslconf.hgặp lỗi không tìm thấy. đã cài đặt libssl-dev(có phiên bản 32 bit không?) và tất cả nhưng chương trình của tôi không biên dịch do thiếu tệp. Có ý kiến ​​gì không?
Roberto Andrade


0

Tôi đã khắc phục sự cố này trong khi biên dịch thiết lập dành cho thiết bị LTS 14 được nhúng trên PC LTS 16. Đây là cách tôi giải quyết nó:

 cd /usr/include/openssl/

 sudo ln -s /usr/include/gnutls/openssl.h .

 sudo ln -s ../x86_64-linux-gnu/openssl/opensslconf.h .
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.