On 2012-09-14, at 3:38 PM, Juergen Schmidt <[email protected]> wrote:
> Am Freitag, 14. September 2012 um 20:56 schrieb Daniel Vandersluis: >> I apologize if this is the wrong place for this message. >> >> I am trying to compile a Ruby gem that connects to OpenOffice through UNO. I >> have it working perfectly under linux 64bit (by compiling the x86_64 DEBs >> for OpenOffice and its SDK), however, I am now trying to get it set up under >> MacOSX 10.8 (Mountain Lion) and am hitting a wall. >> >> I have GCC 4.2 (via xcode) and 4.7.1 (via homebrew) installed on my system, >> and the ruby 1.9.3 libraries (installed for x86_64). I am actually able to >> get my gem to install (which compiles for the native environment) under GCC >> 4.7 and x86_64, however when I try to actually use my gem, I get the error >> message: >> >> LoadError: >> dlopen(/Users/daniel/.rvm/gems/ruby-1.9.3-p194/gems/rubyuno-0.3.3/lib/rubyuno/rubyuno.bundle, >> 9): Symbol not found: __ZN4cppu11OWeakObject12queryAdapterEv >> Referenced from: >> /Users/daniel/.rvm/gems/ruby-1.9.3-p194/gems/rubyuno-0.3.3/lib/rubyuno/rubyuno.bundle >> Expected in: flat namespace >> >> I've figured out that the bundle is not actually getting linked to the UNO >> libraries, as they are built for i386. otool -L confirms: >> >> otool -L rubyuno.bundle >> rubyuno.bundle: >> /Users/daniel/.rvm/rubies/ruby-1.9.3-p194/lib/libruby.1.9.1.dylib >> (compatibility version 1.9.1, current version 1.9.1) >> /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version >> 228.0.0) >> /usr/local/Cellar/gcc/4.7.1/gcc/lib/libstdc++.6.dylib (compatibility version >> 7.0.0, current version 7.17.0) >> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version >> 169.3.0) >> /usr/local/Cellar/gcc/4.7.1/gcc/lib/libgcc_s.1.dylib (compatibility version >> 1.0.0, current version 1.0.0) >> >> I actually did end up getting my bundle compiled for i386 under gcc 4.2 by >> hardcoding the -arch i386 flag, which gets the libraries linked into the >> bundle: >> >> $ otool -L rubyuno.bundle >> rubyuno.bundle: >> @__________________________________________________URELIB/libuno_cppuhelpergcc3.dylib.3 >> (compatibility version 0.0.0, current version 0.0.0) >> @__________________________________________________URELIB/libuno_cppu.dylib.3 >> (compatibility version 0.0.0, current version 0.0.0) >> @__________________________________________________URELIB/libuno_salhelpergcc3.dylib.3 >> (compatibility version 0.0.0, current version 0.0.0) >> @__________________________________________________URELIB/libuno_sal.dylib.3 >> (compatibility version 0.0.0, current version 0.0.0) >> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version >> 169.3.0) >> /Users/daniel/.rvm/rubies/ruby-1.9.3-p194/lib/libruby.1.9.1.dylib >> (compatibility version 1.9.1, current version 1.9.1) >> /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version >> 228.0.0) >> /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version >> 56.0.0) >> >> However why I try to load the gem I get: >> >> LoadError: >> dlopen(/Users/daniel/.rvm/gems/ruby-1.9.3-p194/gems/rubyuno-0.3.3/lib/rubyuno/rubyuno.bundle, >> 9): no suitable image found. Did find: >> ./rubyuno.bundle: mach-o, but wrong architecture >> /Users/daniel/.rvm/gems/ruby-1.9.3-p194/gems/rubyuno-0.3.3/lib/rubyuno/rubyuno.bundle: >> mach-o, but wrong architecture - >> /Users/daniel/.rvm/gems/ruby-1.9.3-p194/gems/rubyuno-0.3.3/lib/rubyuno/rubyuno.bundle >> >> This happens even if I compile ruby in "universal mode": >> >> $ rvm list >> =* ruby-1.9.3-p194 [ universal ] >> $ lipo -detailed_info /Users/daniel/.rvm/rubies/ruby-1.9.3-p194/bin/ruby >> Fat header in: /Users/daniel/.rvm/rubies/ruby-1.9.3-p194/bin/ruby >> fat_magic 0xcafebabe >> nfat_arch 2 >> architecture x86_64 >> cputype CPU_TYPE_X86_64 >> cpusubtype CPU_SUBTYPE_X86_64_ALL >> offset 4096 >> size 9444 >> align 2^12 (4096) >> architecture i386 >> cputype CPU_TYPE_I386 >> cpusubtype CPU_SUBTYPE_I386_ALL >> offset 16384 >> size 9348 >> align 2^12 (4096) >> >> I have been going in circles for a couple days now trying to figure out how >> to get this working. I have even tried to figure out how to compile >> OpenOffice myself hoping that that way I'd be able to get x86_64 libraries >> to work with, but that seems to be a whole other can of worms. Does anyone >> have any suggestions and/or know of somewhere I can get OO compiled for Mac >> x86_64? > no, the bad news is that the port to 64bit on MacOS had to be done and is on > our wish to-do list. If you are interested to help here it would be very much > appreciated. > > Juergen >> >> Thanks, >> >> Daniel Vandersluis >> Lead Developer, TalentNest >> [email protected] >> >> > > Thanks for letting me know, Juergen. I would be interested to help but have no idea how to! - Daniel=
