Får inte Ruby bindings att fungera

Moderator: Telldus

Post Reply
haddock
Posts: 2
Joined: Fri Mar 17, 2023 9:45 am

Får inte Ruby bindings att fungera

Post by haddock »

Hej,

Vill börja med att tacka för en fantastiskt rolig produkt! Jag vill skriva lite egna applikationer och har tänkt göra det i Ruby. Jag har dock lite problem att få mina Ruby bindings att fungera som de ska på OS X. Så här långt kommer jag:

* Installerar Telldus Center
* Kör swig -ruby -autorename tellduscore.i
* Kör ruby extconf.rb
* Kör make

make ger mig följande varning:

Code: Select all

ld: warning: in /Library/Frameworks//TelldusCore.framework/TelldusCore, file was built for i386 which is not the architecture being linked (x86_64)
Jag kan ändå komma åt biblioteket genom require 'tellduscore' i Ruby. Jag kan se metoderna, t.ex. Tellduscore.td_init men när jag anropar dem får jag följande fel:

Code: Select all

dyld: lazy symbol binding failed: Symbol not found: _tdInit
  Referenced from: /Path/To/tellduscore.bundle
  Expected in: flat namespace

dyld: Symbol not found: _tdInit
  Referenced from: /Path/To/tellduscore.bundle
  Expected in: flat namespace

Trace/BPT trap
Någon som har någon idé? Finns det något enklare sätt att komma åt API:et från Ruby eller är man i så fall hänvisad till att ropa på tdtool eller rfcmd från skriptet? När jag ändå är inne på det spåret: är tdtool att föredra framför rfcmd?

Tack på förhand.
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: Får inte Ruby bindings att fungera

Post by micke.prag »

TelldusCore är för tillfället bara 32-bitars. Du måste bygga din wrapper på samma sätt.

rfcmd är inte vidareutvecklat av oss utan vi tar bara emot patchar från användare. tdtool supportas och vidareutvecklas av Telldus. rfcmd finns inte ens för OS X...
Micke Prag
Software
Telldus Technologies
haddock
Posts: 2
Joined: Fri Mar 17, 2023 9:45 am

Re: Får inte Ruby bindings att fungera

Post by haddock »

Tack Micke!

Jag löste det igår genom att bygga TelldusCore själv för 64-bitar: http://www.whyro.org/2010/02/14/java-in ... w-leopard/. Fungerade fint efter det. Är det enda sättet eller går det att kompilera min ruby-extension mot den 32-bitars TelldusCore som följer med Telldus Center? Hur gör jag i så fall?

Tusen tack för hjälpen.
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: Får inte Ruby bindings att fungera

Post by micke.prag »

haddock wrote:Går det att kompilera min ruby-extension mot den 32-bitars TelldusCore som följer med Telldus Center? Hur gör jag i så fall?
Det går. Hur? Ingen aning... :D
Micke Prag
Software
Telldus Technologies
Post Reply