openssl 版本OpenSSL 1.1.0g 和 openssl-1.0.2q 差别比较大 ,如果代码中对openssl版本不做分别的话,因为操作系统安装的不同版本,会导致程序编译不过。
    典型的例子,ulordchain 。 只能使用 openssl-1.0.2q 的版本。 不能升级 。
    兼容性好的例子 eos ,既可以支持 openssl-1.0.2q 也可以支持 OpenSSL 1.1.0g。

    因此对于安装有 openssl 1.1.0 的系统,需要把 openssl 卸掉 ,安装 低版本的openssl 。

    $ cd /openssl-1.0.2q
    $ ./config
    $ make
    $ make test
    $ make install

    ubuntu 18 不支持ulordchain 的编译,会因为dl 库 使用异常。

    openssl-1.0.2q.tar.gz

    https://www.openssl.org/source/openssl-1.1.1g.tar.gz
    wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1e.tar.gz 新版
    支持
    # uos test tool set
    check openssl is or not support sm2
    openssl ecparam -list_curves | grep SM2
    echo -n “abc” | openssl dgst -SM3