LinuxForum.Fans
Тема

Правка/поиск текста

Автор: u____11 130 сообщений 25149 просмотров
#361872
"-=Serj=-" написал:
ПОП, поковырялся я тут с GTK3... В общем, как-то так:
text
chmod +x dictsearch
text
./dictsearch
bash: ./dictsearch: не удалось запустить двоичный файл

Исходники:

text
go build dictsearch.go
dictsearch.go:5:2: import "github.com/conformal/gotk3/gtk": cannot find package

?

#361883

ПОП, Айяй, у вас видать система 32х битная, а собрал под 64. Покажите
[console]$ uname -a[/console]
Завтра под i586 соберу.

"ПОП" написал:
dictsearch.go:5:2: import "github.com/conformal/gotk3/gtk": cannot find package

Нужно
[console]$ go get github.com/conformal/gotk3/gtk[/console]
но перед этим следует настроить GOPATH...

"ПОП" написал:
go build dictsearch.go

Да вы точно программист =)

#361887
text
uname -a
Linux user-F3Q 3.5.0-45-generic #68-Ubuntu SMP Mon Dec 2 22:02:00 UTC 2013 i686 i686 i686 GNU/Linux
text
lscpu | grep bit
CPU op-mode(s):        32-bit, 64-bit
#361888
"-=Serj=-" написал:
Нужно
Консоль
$ go get github.com/conformal/gotk3/gtk

но перед этим следует настроить GOPATH...

Как?

#361889
"-=Serj=-" написал:
ПОП пишет:

go build dictsearch.go

Да вы точно программист =)

Нет, просто кто-то забыл, что напечатал в README.md

#361892
"ПОП" написал:
Как?

[console]$ mkdir $HOME/gocode
$ export GOPATH=$HOME/gocode
$ echo "export GOPATH=$HOME/gocode" >> $HOME/.profile
[/console]
Затем [console]$ go get github.com/conformal/gotk3[/console]

"ПОП" написал:
Нет, просто кто-то забыл, что напечатал в README.md

Я то помню)

#361894
"-=Serj=-" написал:
Затем

$ go get github.com/conformal/gotk3
text
$ go get github.com/conformal/gotk3
can't load package: package github.com/conformal/gotk3: no Go source files in /usr/lib/go/src/pkg/github.com/conformal/gotk3
#361897

[console]$ sudo apt-get install libgtk-3-dev[/console]
А дальше я немного ошибся. Действия зависят от версии libgtk:
[console]$ dpkg -l | grep libgtk-3[/console]
Если версии 3.8...., то выполняем
[console]$ go get -tags gtk_3_8 github.com/conformal/gotk3/gtk[/console]

#361899
"-=Serj=-" написал:
$ sudo apt-get install libgtk-3-dev

Да, тут я сглупил, забыл, что исходники.
libgtk-3 версия 3.6.0

text
$ go get -tags gtk_3_6 github.com/conformal/gotk3/gtk
# github.com/conformal/gotk3/glib
glib.go:283[/tmp/go-build828334075/github.com/conformal/gotk3/glib/_obj/glib.cgo1.go:269]: rv.Convert undefined (type reflect.Value has no field or method Convert)
glib.go:292[/tmp/go-build828334075/github.com/conformal/gotk3/glib/_obj/glib.cgo1.go:277]: rv.Convert undefined (type reflect.Value has no field or method Convert)
#361902

Хм, с 3.8 у меня проблем не было... Тут с ходу не подскажу, что не так с библиотекой... Она в стадии разработки, т.ч. проблемы могут быть на каждом углу.

#361904

ПОП, стоп, а что у вас за версия Go? Покажите
[console]$ go version[/console]
Нужен не ниже 1.1.2

#361906

go version go1.0.2

#361907

ПОП, удалите старый
[console]$ sudo apt-get remove golang go[/console]
Скачайте и распакуйте https://godeb.s3.amazonaws.com/godeb-386.tar.gz
Запустите бинарник из архива
[console]$ sudo ./godeb install 1.2[/console]
После установки проверьте версию.
[console]$ go version[/console]
Ну и пробуйте опять
[console]$ go get -tags gtk_3_6 github.com/conformal/gotk3/gtk[/console]

#361913

-=Serj=-, все установилось, но работает через раз: при выборе нескольких словарей и нажатия "поиск" исчезает.

#361914
ПОП написал:
-=Serj=-, все установилось, но работает через раз: при выборе нескольких словарей и нажатия "поиск" исчезает.

Что исчезает, окно? А в консоль что-нибудь сыпется?
ЗЫ. Пойду я спать...

#361915
"-=Serj=-" написал:
Что исчезает, окно? А в консоль что-нибудь сыпется?

Да, исчезает окно и в консоль сыплется:

text
$ ./dictsearch
runtime: memory allocated by OS (0x82ce3000) not in usable range [0x976c7000,0x176c7000)
fatal error: out of memory

goroutine 35 [running]: runtime.throw(0x844f865) /usr/local/go/src/pkg/runtime/panic.c:464 +0x5f fp=0x84af9e28 runtime.MCache_Refill(0xb76cb2f0, 0x2c) /usr/local/go/src/pkg/runtime/mcache.c:24 +0x84 fp=0x84af9e38 runtime.mallocgc(0x1800, 0x8146761, 0x1) /usr/local/go/src/pkg/runtime/malloc.goc:71 +0xd1 fp=0x84af9e74 cnew(0x8146760, 0x1522, 0x1) /usr/local/go/src/pkg/runtime/malloc.goc:718 +0xa7 fp=0x84af9e84 runtime.cnewarray(0x8146760, 0x1522) /usr/local/go/src/pkg/runtime/malloc.goc:731 +0x39 fp=0x84af9e94 makeslice1(0x81419e0, 0x1522, 0x1522, 0x84af9ed4) /usr/local/go/src/pkg/runtime/slice.c:57 +0x45 fp=0x84af9ea0 runtime.makeslice(0x81419e0, 0x1522, 0x0, 0x1522, 0x0, ...) /usr/local/go/src/pkg/runtime/slice.c:38 +0x94 fp=0x84af9ec0 strings.Map(0x8207120, 0xa0c8d5f7, 0x1522, 0xb74bcc30, 0xb) /usr/local/go/src/pkg/strings/strings.go:399 +0xe1 fp=0x84af9f2c strings.ToLower(0xa0c8d5f7, 0x1522, 0xb74bcc30, 0xb) /usr/local/go/src/pkg/strings/strings.go:437 +0x39 fp=0x84af9f44 main.func·002(0xaef62000, 0x26c5769, 0x26c5969, 0x976e3090, 0x976e31ef, ...) /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:97 +0xdb fp=0x84af9fb4 runtime.goexit() /usr/local/go/src/pkg/runtime/proc.c:1394 fp=0x84af9fb8 created by main.(*Application).Search /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:101 +0x33b

goroutine 1 [syscall]: github.com/conformal/gotk3/gtk._Cfunc_gtk_main(0x8067f5a) github.com/conformal/gotk3/gtk/_obj/_cgo_defun.c:2014 +0x31 github.com/conformal/gotk3/gtk.Main() /home/user/gocode/src/github.com/conformal/gotk3/gtk/gtk.go:366 +0x1b main.(*Application).Run(0x976fd040) /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:203 +0xb3a main.main() /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:212 +0x93

goroutine 3 [syscall]: runtime.goexit() /usr/local/go/src/pkg/runtime/proc.c:1394

goroutine 33 [runnable]: unicode/utf8.RuneLen(0x442, 0x442) /usr/local/go/src/pkg/unicode/utf8/utf8.go:310 strings.Map(0x8207120, 0x998d5f9a, 0x210, 0xb75ea080, 0xb) /usr/local/go/src/pkg/strings/strings.go:405 +0x163 strings.ToLower(0x998d5f9a, 0x210, 0xb75ea080, 0xb) /usr/local/go/src/pkg/strings/strings.go:437 +0x39 main.func·002(0x9cb9d000, 0x17793bc, 0x17795bc, 0x976e3090, 0x976e232f, ...) /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:97 +0xdb created by main.(*Application).Search /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:101 +0x33b

goroutine 27 [semacquire]: sync.runtime_Semacquire(0x977161f0) /usr/local/go/src/pkg/runtime/sema.goc:199 +0x31 sync.(*WaitGroup).Wait(0x976fd04c) /usr/local/go/src/pkg/sync/waitgroup.go:127 +0x127 main.(*Application).Search(0x976fd040, 0xb3af2d10, 0xa, 0x976e3090, 0x976e30c0) /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:103 +0x36f created by main.func·005 /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:160 +0xe9

goroutine 31 [runnable]: strings.Map(0x8207120, 0xb3af2d10, 0xa, 0xb74e6480, 0x207) /usr/local/go/src/pkg/strings/strings.go:393 +0x74 strings.ToLower(0xb3af2d10, 0xa, 0xb74e6480, 0x207) /usr/local/go/src/pkg/strings/strings.go:437 +0x39 main.func·002(0x9a98b000, 0x1a891b8, 0x1a893b8, 0x976e3090, 0x976e236f, ...) /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:97 +0xfa created by main.(*Application).Search /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:101 +0x33b

goroutine 12 [finalizer wait]: runtime.park(0x8070660, 0x845e15c, 0x8452668) /usr/local/go/src/pkg/runtime/proc.c:1342 +0x59 runfinq() /usr/local/go/src/pkg/runtime/mgc0.c:2276 +0x78 runtime.goexit() /usr/local/go/src/pkg/runtime/proc.c:1394

goroutine 32 [runnable]: strings.ToLower(0xb3af2d10, 0xa, 0xb7573000, 0x3f4) /usr/local/go/src/pkg/strings/strings.go:437 main.func·002(0xa581a000, 0x2e2a342, 0x2e2a542, 0x976e3090, 0x976e23ef, ...) /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:97 +0xfa created by main.(*Application).Search /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:101 +0x33b

goroutine 28 [select]: main.func·001(0x976e3090, 0x976e30c0) /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:63 +0x20c created by main.(*Application).Search /home/user/software/source/dictionary_search-0.1.0/dictsearch.go:79 +0xf8

#361920

Тестил только что свое приложение. Поначалу радовался, все работает, парсер не подводит, самописный модуль для игнорирования регистра букв русского алфавита тоже... А потом решил прогнать програмку по вообще всем словарям разом. Обожаю такие символичные совпадения, программа грохнулась с ошибкой на словосочетании "ячеистый бетон" *ROFL* *ROFL* *ROFL*
С бетоном программа не справилась :D

Ошибку уже нашел, но нужно время чтобы исправить. Так что, публикация исходника программы задерживается. Может на пару часов, а может и до завтра (время все-таки позднее, скоро спать захочется).

#361951
"ПОП" написал:
в консоль сыплется:

Купите ей оперативки! =D
Каждый словарь обрабатывается параллельно и при большом кол-ве выбранных словарей съедается вся память. Позже подправлю.

#361959

-=Serj=-, спасибо большое за словарь, - то что надо!
Ждем поправки!
Да, а почему не получается сделать кнопку запуска: двойным кликом запускается, а по ссылке не хочет? Все подобные программы работают. И еще, можно добавить, чтобы искал слова со знаком в конце слова: ИМХО, трын- и слова, начинающиеся с ковычек: "СЛОВО". Обнаружил, когда сравнивал с командой moshell-а:

text
perl -CA -Mutf8 -M'open qw(:std :utf8)' -n -e 'print ":[$ARGV:] ==> $_" if /^"?слово[",-]?\s/i' *
#362079

ПОП, с задержкой я, конечно, но лучше поздно чем никогда =)
wxLua Dictionary Search

p.s. в этой теме итак уже очень много оффтопа скопилось, по этому создал отдельный топик под свою "чудо тексто-искалку".

Войдите или зарегистрируйтесь, чтобы ответить.