<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hopefully the right list … otherwise pointers appreciated (I’ve spent days trying to find a solution but could not find sufficient documentation, could not find a proper list of -flavor darwin commands)<div class=""><br class=""></div><div class="">I am setting up an environment for cross compiling shared libraries using LLVM. Overall this works perfectly for many unix like environments but MacOS is a pain in the ass despite that I am running on MacOS. (I’ve not tried windows yet.)</div><div class=""><br class=""></div><div class="">I seem to be able to compile with clang a proper mach object file for a hello function. However, when I link this function into a shared library I (surprisingly for a shared lib?) get undefined symbols like _printf, stub runtime: dyld_stub_binder, _main, etc. Using the flag </div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>-undefined dynamic_lookup</div></div><div class=""><br class=""></div><div class="">I get no errors or warnings but then when I try to link the shared library to a main program I get the error:</div><div class=""><br class=""></div><div class=""><div class=""><span class="Apple-tab-span" style="white-space:pre">  </span>ld: malformed dylib has MH_NO_REEXPORTED_DYLIBS flag </div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>but no LC_REEXPORT_DYLIB load commands: ./libhello.dylib file './libhello.dylib'</div><div class=""><br class=""></div></div><div class="">I’ve included the shell file that makes the hello shared lib and the command that I use to link the file.</div><div class=""><br class=""></div><div class="">Thanks for any help, this looks like an amazing solution if it can get to work on all supported platforms.</div><div class=""><br class=""></div><div class="">Kind regards,</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">  </span>Peter Kriens</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; line-height: normal;" class="">$ /usr/local/Cellar/llvm/4.0.0_1/bin/<span style="color: #ff934f" class="">clang</span> \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">    </span>-target x86_64-apple-darwin16.5.0 \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>-Ienvs/x86_64/apple/macos/darwin/16.5.0/include  \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">      </span>-v \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>-nostdinc \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>-fPIC \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">      </span>-c \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>-Wno-nullability-completeness \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">      </span>hello.c x.c</div><div style="margin: 0px; font-size: 11px; line-height: normal; min-height: 15px;" class=""><br class=""></div><div style="margin: 0px; line-height: normal; min-height: 15px;" class=""><div style="margin: 0px; line-height: normal; min-height: 15px;" class=""><span style="font-size: 11px;" class="">$ file hello.o</span></div><div style="margin: 0px; line-height: normal; min-height: 15px;" class=""><span style="font-size: 11px;" class="">hello.o: Mach-O 64-bit object x86_64</span></div><div style="margin: 0px; line-height: normal; min-height: 15px;" class=""><span style="font-size: 11px;" class=""><br class=""></span></div><div style="margin: 0px; line-height: normal; min-height: 15px;" class=""><span style="font-size: 11px;" class="">$ /usr/local/Cellar/llvm/4.0.0_1/bin/ld.lld \</span></div></div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">    </span>-flavor darwin \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>-v \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>-sdk_version 10.5.0 \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>-demangle \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>-<span style="color: #ff934f" class="">arch</span> x86_64 \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>-undefined dynamic_lookup \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>-dylib \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>-dynamic \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">   </span>-o libhello.dylib \</div><div style="margin: 0px; font-size: 11px; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>hello.o</div></div><div class=""><div style="margin: 0px; line-height: normal; min-height: 15px;" class=""><div style="margin: 0px; line-height: normal; min-height: 15px;" class=""><span style="font-size: 11px;" class=""><br class=""></span></div><div style="margin: 0px; line-height: normal; min-height: 15px;" class=""><span style="font-size: 11px;" class="">$ file libhello.dylib </span></div><div style="margin: 0px; line-height: normal; min-height: 15px;" class=""><span style="font-size: 11px;" class="">libhello.dylib: Mach-O 64-bit dynamically linked shared library x86_64</span></div><div class=""><br class=""></div></div></div><div class="">$ gcc x.c -L. -lhello</div><div class="">ld: malformed dylib has MH_NO_REEXPORTED_DYLIBS flag but no LC_REEXPORT_DYLIB load commands: ./libhello.dylib file ‘./libhello.dylib'</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div></body></html>