Skip to content

Windows CI failing #3990

@martinsaposnic

Description

@martinsaposnic

windows CI fails with

= note: LINK : warning LNK4217: symbol 'secp256k1_context_static' defined in 'libbitcoinconsensus-a7c9d7f7f75153ff.rlib(1a51c285fd8afce5-secp256k1.o)' is imported by 'libbitcoinconsensus-a7c9d7f7f75153ff.rlib(0f7fe36486e2efc1-pubkey.o)' in function '"public: static bool __cdecl CPubKey::CheckLowS(class std::vector<unsigned char,class std::allocator<unsigned char> > const &)" (?CheckLowS@CPubKey@@SA_NAEBV?$vector@EV?$allocator@E@std@@@std@@@Z)'␍

note: `link.exe` returned an unexpected error

note: the Visual Studio build tools may need to be repaired using the Visual Studio installer

note: or a necessary component may be missing from the "C++ build tools" workload

error: could not compile `lightning-background-processor` (lib test) due to 1 previous error

After trying to reproduce locally in a windows virtual machine, I found that after merging commit d9a6641 from PR #3968, it fails with

  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: LINK : warning LNK4217: symbol 'secp256k1_context_static' defined in 'libbitcoinconsensus-4c00e6e310d58111.rlib(1a51c285fd8afce5-secp256k1.o)' is imported by 'libbitcoinconsensus-4c00e6e310d58111.rlib(0f7fe36486e2efc1-pubkey.o)' in function '"public: static bool __cdecl CPubKey::CheckLowS(class std::vector<unsigned char,class std::allocator<unsigned char> > const &)" (?CheckLowS@CPubKey@@SA_NAEBV?$vector@EV?$allocator@E@std@@@std@@@Z)'␍
          LINK : fatal error LNK1318: Unexpected PDB error; LIMIT (12) ''␍


error: could not compile `lightning-background-processor` (lib test) due to 1 previous error

Previous commit works: 269cff7
Offending commit: d9a6641

Hypothesis: I think the Joiner struct is too complex and big and it makes the linker explode. I thought of a few alternatives but they all sucked

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions