EVerest / libevse-security

Apache License 2.0
7 stars 5 forks source link

After I installed openssl 3, I used v0.7.0 to compile, but the compilation reported an error. The EVP_PKEY_get_id function could not be found, and it seemed that libcurl could not find this function. Should I change the version of libcurl? #77

Closed Elsa-is-My-Muse closed 1 month ago

Elsa-is-My-Muse commented 1 month ago

Describe the bug

[ 51%] Linking CXX static library libslac_fsm_ev.a [ 51%] Built target slac_fsm_ev /usr/bin/ld: ../lib/libcurl.a(openssl.c.o): in function Curl_ossl_certchain': openssl.c:(.text+0xcb0): undefined reference toEVP_PKEY_get_id' /usr/bin/ld: openssl.c:(.text+0xd1b): undefined reference to EVP_PKEY_get_bn_param' /usr/bin/ld: openssl.c:(.text+0xd35): undefined reference toEVP_PKEY_get_bn_param' /usr/bin/ld: openssl.c:(.text+0xea7): undefined reference to EVP_PKEY_get_bn_param' /usr/bin/ld: openssl.c:(.text+0xec1): undefined reference toEVP_PKEY_get_bn_param' /usr/bin/ld: openssl.c:(.text+0xedb): undefined reference to EVP_PKEY_get_bn_param' /usr/bin/ld: ../lib/libcurl.a(openssl.c.o):openssl.c:(.text+0xef5): more undefined references toEVP_PKEY_get_bn_param' follow /usr/bin/ld: ../lib/libcurl.a(openssl.c.o): in function cert_stuff': openssl.c:(.text+0x2f13): undefined reference toEVP_PKEY_get_id' /usr/bin/ld: ../lib/libcurl.a(openssl.c.o): in function verifystatus': openssl.c:(.text+0x47ad): undefined reference toSSL_get1_peer_certificate' /usr/bin/ld: ../lib/libcurl.a(openssl.c.o): in function populate_x509_store': openssl.c:(.text+0x567c): undefined reference toX509_STORE_load_file' /usr/bin/ld: openssl.c:(.text+0x570b): undefined reference to X509_STORE_load_path' /usr/bin/ld: ../lib/libcurl.a(openssl.c.o): in functionservercert': openssl.c:(.text+0x77ae): undefined reference to `SSL_get1_peer_certificate' collect2: error: ld returned 1 exit status make[2]: [_deps/libcurl-build/src/CMakeFiles/curl.dir/build.make:722: _deps/libcurl-build/src/curl] Error 1 make[1]: [CMakeFiles/Makefile2:4228: _deps/libcurl-build/src/CMakeFiles/curl.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....

After I installed openssl 3, I used v0.7.0 to compile, but the compilation reported an error. The EVP_PKEY_get_id function could not be found, and it seemed that libcurl could not find this function. Should I change the version of libcurl?

To Reproduce

No response

Anything else?

No response

AssemblyJohn commented 1 month ago

Hello!

More information of the method of building would be much appreciated so that I can try and reproduce the issue on my machine. How you are building, what OS you're running etc.

Elsa-is-My-Muse commented 1 month ago

Thanks for your reply.

I can let you connect to my computer remotely, I will give you a delay of how I built it, I don't know if it is convenient for you. This is my machine information:

@.***:~$ uname -a Linux ubuntu 5.15.0-107-generic #117~20.04.1-Ubuntu SMP Tue Apr 30 10:35:57 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Thanks for your help

[cid:3a828d41-f430-4ec0-b230-585e4cb3531d]


发件人: John @.> 发送时间: 2024年6月3日 14:47 收件人: EVerest/libevse-security @.> 抄送: elsa @.>; Author @.> 主题: Re: [EVerest/libevse-security] After I installed openssl 3, I used v0.7.0 to compile, but the compilation reported an error. The EVP_PKEY_get_id function could not be found, and it seemed that libcurl could not find this function. Should I change the v...

Hello!

More information of the method of building would be much appreciated so that I can try and reproduce the issue on my machine. How you are building, what OS you're running etc.

― Reply to this email directly, view it on GitHubhttps://github.com/EVerest/libevse-security/issues/77#issuecomment-2144400992, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BIE456IYR7G3JSALC5QVNO3ZFQGOVAVCNFSM6AAAAABIUDCEGOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBUGQYDAOJZGI. You are receiving this because you authored the thread.Message ID: @.***>

AssemblyJohn commented 1 month ago

Thank you for the information, it solves it, since Ubuntu 20 is not supported any more. We did not had the time to update our docs, but you should try with Ubuntu 22. I'll push to have this solved quickly.

Elsa-is-My-Muse commented 1 month ago

Thank you for your reply

I will use ubuntu22 to build and test later.

[cid:788fe96b-d256-46a1-b49a-3db079312746]


发件人: John @.> 发送时间: 2024年6月3日 15:18 收件人: EVerest/libevse-security @.> 抄送: elsa @.>; Author @.> 主题: Re: [EVerest/libevse-security] After I installed openssl 3, I used v0.7.0 to compile, but the compilation reported an error. The EVP_PKEY_get_id function could not be found, and it seemed that libcurl could not find this function. Should I change the v...

Thank you for the information, it solves it, since Ubuntu 20 is not supported any more. We did not had the time to update our docs, but you should try with Ubuntu 22. I'll push to have this solved quickly.

― Reply to this email directly, view it on GitHubhttps://github.com/EVerest/libevse-security/issues/77#issuecomment-2144452150, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BIE456N3AHS67WVDKHQMHHDZFQKF5AVCNFSM6AAAAABIUDCEGOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBUGQ2TEMJVGA. You are receiving this because you authored the thread.Message ID: @.***>

AssemblyJohn commented 1 month ago

Let us know if it solved your problem. I'm also updating the docs/docker for Ubuntu 22.

barsnick commented 1 month ago

I'm also updating the docs/docker for Ubuntu 22.

There's a draft pull request here by @hikinggrass which has many changes in the Dockerfile to fix the Debian docker: https://github.com/EVerest/everest-utils/pull/129

Elsa-is-My-Muse commented 1 month ago

      I installed ubuntu 22 and followed the tutorial (https://github.com/EVerest/everest-core) to build the environment again. It was fine at the beginning. And when I ran make -j128 install it was fine at the beginning, but when it came to the libocpp part, my ubuntu 22 crashed. According to the build information, libcurl and evse_security have been compiled.

      Compilation information:

[ 41%] Built target curl [ 43%] Built target evse_security [ 43%] Building CXX object _deps/libocpp-build/lib/CMakeFiles/ocpp.dir/ocpp/common/call_types.cpp.o [ 43%] Building CXX object _deps/libocpp-build/lib/CMakeFiles/ocpp.dir/ocpp/common/charging_station_base.cpp.o [ 43%] Building CXX object _deps/libocpp-build/lib/CMakeFiles/ocpp.dir/ocpp/common/message_queue.cpp.o [ 43%] Building CXX object _deps/libocpp-build/lib/CMakeFiles/ocpp.dir/ocpp/common/ocpp_logging.cpp.o [ 43%] Building CXX object _deps/libocpp-build/lib/CMakeFiles/ocpp.dir/ocpp/common/schemas.cpp.o [ 43%] Building CXX object _deps/libocpp-build/lib/CMakeFiles/ocpp.dir/ocpp/common/types.cpp.o

      The good news is that when I compiled with a single core: make install, all the compilations passed. Ubuntu 22 crashed, and it seems that this is a problem caused by multi-core compilation.

[cid:c3846bb6-1d6f-40f2-8b32-4a0bd12d2287]


发件人: John @.> 发送时间: 2024年6月3日 15:42 收件人: EVerest/libevse-security @.> 抄送: elsa @.>; Author @.> 主题: Re: [EVerest/libevse-security] After I installed openssl 3, I used v0.7.0 to compile, but the compilation reported an error. The EVP_PKEY_get_id function could not be found, and it seemed that libcurl could not find this function. Should I change the v...

Let us know if it solved your problem. I'm also updating the docs/docker for Ubuntu 22.

— Reply to this email directly, view it on GitHubhttps://github.com/EVerest/libevse-security/issues/77#issuecomment-2144493850, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BIE456KNIWCELT5TNYEX2PTZFQM7PAVCNFSM6AAAAABIUDCEGOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBUGQ4TGOBVGA. You are receiving this because you authored the thread.

AssemblyJohn commented 1 month ago

Hello!

I've encountered the ubuntu crash too, I don't think it's related to the software stack, but seems to be some OS problem. I've found a solution in between, compile with 1/4 the count of your cores and the build is a more stable.