发现“无法找到 -lcrypto”的‘解决方案’对我来说不起作用

发现“无法找到 -lcrypto”的‘解决方案’对我来说不起作用

我被迫安装 Ubuntu 才能安装https://github.com/znort987/blockparser

但是,make我在运行时遇到了这个问题:

lnk -- parser
/usr/bin/ld: cannot find -lcrypto
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6/libstdc++.a when 
searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status
make: *** [parser] Error 1

我在互联网上搜索了一两圈,典型的建议是apt-get install libssl-dev,但我已经这样做了:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
libssl-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

我正在运行 12.04.3(精确)。

当我尝试使用 g++ 编译它时,按照(例如)的建议https://stackoverflow.com/questions/5329638/usr-bin-ld-cannot-find我收到其他错误:

parser.cpp:2:18: fatal error: util.h: No such file or directory

util.h在文件夹中)

所以我希望 make 错误比编译错误更容易解决。

感谢你们迄今为止的帮助(昨晚遇到了 GRUB 加载程序问题;你们确实帮助了我),但我还需要更多帮助。我想我对 Ubuntu 还不熟悉。

答案1

/usr/bin/ld由包提供binutils

因此安装后请尝试:

sudo apt-get install binutils libc6 libgcc1 libstdc++6 zlib1g gcc-4.6-base multiarch-support

答案2

对于 OP(user426364)来说,我取得了一些进展:

  • 将 LIBS -lcrypto 更改为 -lcrypt (第 38 行)

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

  • sudo apt-get 安装 libc6-dev-i386

  • sudo apt-get 安装 gcc-multilib

  • sudo apt-get 安装 libstdc++6-4.4-dev apt-get 安装 libstdc++6-4.6-dev

  • sudo apt-get 安装 binutils libc6 libgcc1 libstdc++6 zlib1g gcc-4.6-base 多架构支持

  • sudo apt-get install g++-multilib g++-4.4-multilib(互联网上其他地方提到了 4.2-multilib)

并一直到加密中未定义引用的问题(addrToHash160、compressPublicKey、decompressPublicKey、addrToHash160、hash160ToAddr、showFullAddr、rmd160、sha256)都出现了问题,导致很多关于未定义引用的错误消息。

答案3

blockparser.py 由python-markdownpython3-markdown所有当前支持的 Ubuntu 版本中的软件包。

可以安装:

sudo apt-get install python-markdown python-pygments python-markdown-doc python-utidyliby

答案4

在现代 Ubuntu 14.04 LTS 和 16.04 LTS 上,以下步骤允许编译和运行 blockparser:

sudo apt-get install git

git clone https://github.com/znort987/blockparser.git
cd blockparser
sudo apt-get install build-essential libsparsehash-dev libssl-dev libboost-dev
./make
./tst # to test it
./parser --help

相关内容