build: AppVeyor build uses Libevent that built without support for evthread_use_windows_threads() #17586

issue hebasto openend this issue on November 25, 2019
  1. hebasto commented at 10:12 am on November 25, 2019: member
  2. hebasto added the label Bug on Nov 25, 2019
  3. laanwj added the label Build system on Nov 25, 2019
  4. laanwj added the label Tests on Nov 25, 2019
  5. laanwj removed the label Bug on Nov 25, 2019
  6. laanwj removed the label Build system on Nov 25, 2019
  7. laanwj commented at 11:43 am on November 25, 2019: member

    Seems that, while an unlikely build configuration, it’s still possible to build libevent without thread support (we obviously don’t support this):

    0cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_THREAD_SUPPORT=ON"
    

    Though it’s curious that the AppVeyor error is a link-time error, not a compile-time error. So apparently in the header it does still define the function signature for evthread_use_windows_threads.

  8. hebasto commented at 12:03 pm on November 25, 2019: member

    Though it’s curious that the AppVeyor error is a link-time error, not a compile-time error.

    The latest builds have compile-time errors.

  9. sipsorcery commented at 12:41 pm on November 25, 2019: member

    I’ve confirmed I get the same compiler error after installing libevent using the latest vcpkg port. The error is caused by the line below in the port file. Commenting that line out and reinstalling the libevent package allows the build to succeed.

    0thread  EVENT__DISABLE_THREAD_SUPPORT
    

    One way to fix the build issue is to create a custom libevent port and then perform the vcpkg install using:

    0vcpkg install --triplet x64-windows-static --overlay-ports=..\vcpkg-custom-ports\ports berkeleydb boost-filesystem boost-multi-index boost-signals2 boost-test boost-thread libevent rapidcheck zeromq double-conversion
    

    Any ports in the ..\vcpkg-custom-ports\ports take precedence.

  10. laanwj commented at 12:44 pm on November 25, 2019: member
    @sipsorcery I think you need to request the “thread” feature explicitly now, somehow
  11. hebasto commented at 12:52 pm on November 25, 2019: member
    I’m not a msvc-guru, so it is curious if there is a way to specify the package version in vcpkg install ...?
  12. sipsorcery commented at 12:55 pm on November 25, 2019: member
    Wumpus has just enlightened me to vcpkg’s Feature Packages. Testing that now. @hebasto no vcpkg does not allow specifying of a specific version. The Overlay Ports is a defacto way to do it but it does require additional steps.
  13. sipsorcery referenced this in commit 2238bce702 on Nov 25, 2019
  14. JackBoosY commented at 1:09 pm on November 25, 2019: none
    Hi guys, thanks for reporting this issue! I will handle it tomorrow.
  15. sipsorcery referenced this in commit f13e274b6f on Nov 25, 2019
  16. MarcoFalke referenced this in commit 89a1f7a250 on Nov 25, 2019
  17. sidhujag referenced this in commit d0664f332c on Nov 25, 2019
  18. fanquake commented at 8:48 pm on November 25, 2019: member
    Fixed in #17592.
  19. fanquake closed this on Nov 25, 2019

  20. HashUnlimited referenced this in commit fefac516f7 on Apr 17, 2020
  21. sidhujag referenced this in commit 1ed7dd161f on Nov 10, 2020
  22. backpacker69 referenced this in commit 7d586dcfa4 on Mar 28, 2021
  23. MarcoFalke locked this on Dec 16, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-10-05 04:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me