[MacRuby-devel] Rake aborts reporting libsqlite3.0.dylib "not of required architecture"

Laurent Sansonetti lsansonetti at apple.com
Sun Aug 23 20:43:01 PDT 2009


On Aug 23, 2009, at 8:29 PM, Bruce Hobbs wrote:

> At 5:46 PM -0700 8/23/09, Laurent Sansonetti <lsansonetti at apple.com>  
> wrote:
>
>> The problem here is that you have a custom version of sqlite3 in / 
>> usr/
>> local, not compiled for both 32-bit and 64-bit architectures, and
>> picked by the linker since the Foundation system relies on it.
>>
>> The MacRuby build system looks in /usr/local/lib in priority because
>> it's where the LLVM stuff is installed by default.
>>
>> I recommend to temporarily rename the library in /usr/local/lib and
>> try again.
>>
> I moved the alias and everything seems fine now. Thanks!
>
> I realize this probably isn't necessarily the best place to ask, but  
> do you
> happen to know if there was something I could've done during the  
> sqlite3
> installation so the library would've been compiled as the MacRuby
> installation needs it? If not, I'll see about posting to a sqlite3  
> forum.

The linker complained because your sqlite3 binary was not built as  
universal, and MacRuby wants universal dependencies.

But it's not a problem in your side, and it would have been a bad idea  
to link against that specific version of sqlite3. It's way safer to  
let the linker use the system version of sqlite3, because Foundation  
might rely on behavior that only exists in that copy.

If more people experience this problem I might try to hack the  
project's build system to work-around that issue in an automatic  
fashion.

Laurent


More information about the MacRuby-devel mailing list