http://llvm.org/bugs/show_bug.cgi?id=8985
Summary: Shared library builds but doesn't work on Mac OS X
10.6
Product: Build scripts
Version: 2.8
Platform: Macintosh
OS/Version: MacOS X
Status: NEW
Severity: normal
Priority: P
Component: Makefiles
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Created an attachment (id=6007)
--> (http://llvm.org/bugs/attachment.cgi?id=6007)
Makefile.rules patch for Mac OS X 10.6
Using ./configure --enable-shared compiles cleanly but as soon as one tries to
load the library--for example, in Ruby using FFI--the following error is
generated.
dyld: loaded: /Users/<user>/llvm/2.8/lib/libLLVM-2.8.dylib
dyld: lazy symbol binding failed: Symbol not
found:__ZN4llvm2cl6Option11addArgumentEv
Referenced from: /Users/<user>/llvm/2.8/lib/libLLVM-2.8.dylib
Expected in: flat namespace
dyld: Symbol not found: __ZN4llvm2cl6Option11addArgumentEv
Referenced from: /Users/<user>/llvm/2.8/lib/libLLVM-2.8.dylib
Expected in: flat namespace
Trace/BPT trap
Applying the attached patch fixes the problem.
The modified options use the default two-level namespace on OS X and change
name resolution to run time lookup. The library compiles cleanly and loads
properly with those options.
Using those options doesn't seem to have any ill effect but maybe there's a
reason why the former options were used, although many dynamic libraries for
Mac OS X are compiled with the latter--the former actually seems to be a legacy
from pre-10.3 days.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs