Skip to content

LLD/mac cannot link with dylib missing LC_DYLD_INFO_ONLY and LC_DYLD_EXPORTS_TRIE #64865

Open
@rubenvb

Description

@rubenvb

I tried using LLD for a work project which links to the Merge DICOM library (proprietary and paid unfortunately, although a trial which is definitely enough for this issue, might be procured here), and LLD 16.0.0 gives me this error:

ld64.lld: error: No LC_DYLD_INFO_ONLY or LC_DYLD_EXPORTS_TRIE found in <path-to>/mc3adv.dylib

This is a x86_64 dylib being linked into a x86_64 application (or dylib) on an M1 Mac, but that shouldn't change much.

The error is followed by a list of undefined references to symbols contained in mc3adv.dylib:

ld64.lld: error: undefined symbol: MC_Error_Message

I am most likely not allowed to provide you with the dylib, nor do I know how it was created. I can, though provide any output of diagnostic tools (e.g. otool or nm or objdump or...) if you can tell me what exactly it would be I need to do.
It seems LLD does not know how to find the symbols in this dylib, but ld64 of course makes no issue in linking it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions