在陸佳華《嵌入式系統軟硬件協同設計實戰指南 第2版》一書的第13章節 編譯U-boot時會遇到2個錯誤。原因很簡單,就從一開始的錯誤提示着手: fatal error: openssl/evp.h: 沒有那個文件或目錄。當然在網上也可以搜索到相關的解決方法。在此僅作為記錄:如果你在編譯時遇到這個錯誤,這可能是下面的原因:你嘗試編譯的程序使用OpenSSL,但是需要和OpenSSL鏈接的文件(庫和頭文件)在你Linux平台上缺少。因為原書貌似用的是Ubuntu12.04而我用的是14.04.所以要自己安裝相關的文件。
要在Debian、Ubuntu或者其他衍生版上安裝OpenSSL:
- $ sudo apt-get install libssl-dev
要在Fedora、CentOS或者RHEL上安裝OpenSSL開發包:
- $ sudo yum install openssl-devel
安裝完后,嘗試重新編譯程序。
編譯后出現
./tools/zynq-boot-bin.py -o boot.bin -u spl/u-boot-spl.bin
Input file is: spl/u-boot-spl.bin
Output file is: boot.bin
Using /root/build/u-boot-xlnx/spl/u-boot-spl.bin to get image length - it is 49136 (0xbff0) bytes
After checksum waddr= 0x13 byte addr= 0x4c
Number of registers to initialize 0
Generating binary output /root/build/u-boot-xlnx/boot.bin
OK!