Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  3 827
Jeg forsøker å kjøre jasager på en DIR-825. Jeg har installert nødvendige programmer og script, men har problemer med å få ruby scriptene til å fungere.

OpenWRT versjon

Kode

root@OpenWrt:/# uname -a
Linux OpenWrt 2.6.37.6 #1 Thu Jun 23 03:13:08 CEST 2011 mips GNU/Linux
Installerte programmer

Kode

root@OpenWrt:/# opkg list_installed
base-files - 73-r27256
busybox - 1.18.4-1
crda - 1.1.1-1
dnsmasq - 2.57-2
dropbear - 0.53.1-3
firewall - 2-26
haserl - 0.9.27-1
hotplug2 - 1.0-beta-4
iptables - 1.4.10-2
iptables-mod-conntrack - 1.4.10-2
iptables-mod-nat - 1.4.10-2
iw - 0.9.22-2
jasager - 2.1-1
kmod-ath - 2.6.37.6+2011-05-27-2
kmod-ath9k - 2.6.37.6+2011-05-27-2
kmod-ath9k-common - 2.6.37.6+2011-05-27-2
kmod-button-hotplug - 2.6.37.6-3
kmod-cfg80211 - 2.6.37.6+2011-05-27-2
kmod-crc-ccitt - 2.6.37.6-1
kmod-crypto-aes - 2.6.37.6-1
kmod-crypto-arc4 - 2.6.37.6-1
kmod-crypto-core - 2.6.37.6-1
kmod-input-core - 2.6.37.6-1
kmod-input-gpio-keys-polled - 2.6.37.6-1
kmod-input-polldev - 2.6.37.6-1
kmod-ipt-conntrack - 2.6.37.6-1
kmod-ipt-core - 2.6.37.6-1
kmod-ipt-nat - 2.6.37.6-1
kmod-ipt-nathelper - 2.6.37.6-1
kmod-leds-gpio - 2.6.37.6-1
kmod-ledtrig-usbdev - 2.6.37.6-1
kmod-mac80211 - 2.6.37.6+2011-05-27-2
kmod-madwifi - 2.6.39.2+r3314-5
kmod-nls-base - 2.6.37.6-1
kmod-ppp - 2.6.37.6-1
kmod-pppoe - 2.6.37.6-1
kmod-usb-core - 2.6.37.6-1
kmod-usb-ohci - 2.6.37.6-1
kmod-usb2 - 2.6.37.6-1
libc - 0.9.32-73
libgcc - linaro-73
libip4tc - 1.4.10-2
libnl-tiny - 0.1-2
libpthread - 0.9.32-73
librt - 0.9.32-73
libruby - 1.9.2-p0-1
libuci - 2011-03-27.2-1
libxtables - 1.4.10-2
mtd - 15
opkg - 618-1
ppp - 2.4.4-17
ppp-mod-pppoe - 2.4.4-17
ruby - 1.9.2-p0-1
ruby-core - 1.9.2-p0-1
ruby-erb - 1.9.2-p0-1
ruby-gems - 1.9.2-p0-1
ruby-openssl - 1.9.2-p0-1
ruby-rexml - 1.9.2-p0-1
ruby-webrick - 1.9.2-p0-1
ruby-yaml - 1.9.2-p0-1
ruby-zlib - 1.9.2-p0-1
swconfig - 7
uci - 2011-03-27.2-1
uhttpd - 22
webif - 0.3-4986
wireless-tools - 29-4
wpad-mini - 20110527-1
zlib - 1.2.5-1
Gjeldende script

Kode

root@OpenWrt:/# cat /karma/bin/create_option_list.rb
#!/usr/bin/env ruby

require 'rexml/document'
include REXML

option_list=""
script_name_list=""
script_number=0

Dir.chdir("/karma/scripts")
Dir.entries("./").each{|file|
        print "file ", file, " is " , File.executable?(file), " - ", File.owned?(file),"-",File.ftype(file),"\n"
        if (File.executable?(file) && File.ftype(file) == "file")
                xml=%x[./#{file} --get_xml]
                config = Document.new(xml)

# Need to check that elements exist before reading them

                information=config.root.elements["information"]

                module_name=information.elements["name"].text
                module_dropdown_text=information.elements["dropdown"].text
                module_description=information.elements["description"].text

                option_list<<'<option value="'+script_number.to_s+'">'+module_name+"</option>\n"
                script_name_list<<file+"\n"
                script_number+=1
        end
}

script_name_list_file=File.new("/tmp/script_name_list", "w")
script_name_list_file.print script_name_list
script_name_list_file.close

option_list_file=File.new("/tmp/script_option_list", "w")
option_list_file.print option_list
option_list_file.close
Feilmeding

Kode

root@OpenWrt:/# ruby /karma/bin/create_option_list.rb
file . is true - true-directory
file .. is true - true-directory
file echo.rb is true - true-file
/usr/lib/ruby/1.9/rexml/source.rb:169:in `initialize': uninitialized constant Encoding::UTF_8 (NameError)
        from /usr/lib/ruby/1.9/rexml/source.rb:17:in `new'
        from /usr/lib/ruby/1.9/rexml/source.rb:17:in `create_from'
        from /usr/lib/ruby/1.9/rexml/parsers/baseparser.rb:139:in `stream='
        from /usr/lib/ruby/1.9/rexml/parsers/baseparser.rb:116:in `initialize'
        from /usr/lib/ruby/1.9/rexml/parsers/treeparser.rb:9:in `new'
        from /usr/lib/ruby/1.9/rexml/parsers/treeparser.rb:9:in `initialize'
        from /usr/lib/ruby/1.9/rexml/document.rb:230:in `new'
        from /usr/lib/ruby/1.9/rexml/document.rb:230:in `build'
        from /usr/lib/ruby/1.9/rexml/document.rb:43:in `initialize'
        from /karma/bin/create_option_list.rb:15:in `new'
        from /karma/bin/create_option_list.rb:15:in `block in <main>'
        from /karma/bin/create_option_list.rb:11:in `each'
        from /karma/bin/create_option_list.rb:11:in `<main>'
Såvidt jeg kan skjønne så er det noe feil med UTF_8, men jeg forstår ikke hvordan jeg kan fikse dette..

All hjelp settes stor pris på!
Kan denne linken hjelpe?

Kode

rb_enc_find_index("encdb");
...løste problemet i det tilfellet. Har ikke støtt på noe lignende selv...
By nature
LoOzR's Avatar
Trådstarter
Ja, jeg fant den siden jeg også, men problemet er hvor den linja skal legges til? Skal det være helt først i scriptet etter require f.eks?
Først i scriptet etter require er et godt forslag, men jeg vet ærlig talt ikke. Helt ukjent for meg dette her, selv om jeg har gjort endel ruby. Foreslår du forsøker å stille spørmålet ditt på StackOverflow, eller kontakter dem som har laget scriptet. Har de en mailingliste kanskje?