[ekg2-devel] ekg2 w Fedora Core 9

Łukasz Jagiełło jagiello.lukasz w gmail.com
Pon, 2 Cze 2008, 21:38:18 CEST


Witam,

Od kilku dni próbuje bezskutecznie uruchomić ekg2 pod Fedora Core 9 i
przy okazji poprawić paczkę dostępną w Fedorze. Efekt sprowadza się
do:

#v+
$ ekg2
No UI-PLUGIN!
#v-

Oczywiście chciałbym uruchomić to przy użyciu ncurses jako UI. Efekt
jest taki sam zarówno dla ekg-current (20080601) jak i ekg2-0.2-rc1.
Opcje wybrane przy kompilacji:

#v+
configure \
        --enable-unicode \
        --disable-static \
        --enable-shared \
        --disable-rpath \
        --with-aspell \
        --with-libgadu \
        --with-libgsm \
        --with-python \
#v-

Problem znika jeżeli zamiast --enable-unicode wstawi się
--disable-unicode, ale jako że cała Fedora wspiera UTF-a, chciałbym
żeby to było z unicodem.

Z rozmów na kanale z 'Greyerem' oraz 'em' sprawdziłem usunięcie
inline-ów, tak jak było to zaproponowane tutaj:
http://ml.ziew.org/mailman/pipermail/ekg2-users/2008-April/001236.html
- zmieniło się tyle, że nie było sterty warningów przy kompilowaniu.

Strace w interesującej kwestii podaje tyle:
#v+
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("../plugins/ncurses/.libs/ncurses.so", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/lib64/ekg2/plugins/ncurses.so", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`M\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=107824, ...}) = 0
mmap(NULL, 2219720, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x110000
mprotect(0x129000, 2097152, PROT_NONE)  = 0
mmap(0x329000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19000) = 0x329000
mmap(0x32a000, 16072, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x32a000
close(3)                                = 0
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=111323, ...}) = 0
mmap(NULL, 111323, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f1ea23fc000
close(3)                                = 0
open("/lib64/libncursesw.so.5", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\201@\313<\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=191472, ...}) = 0
mmap(0x3ccb400000, 2284656, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ccb400000
mprotect(0x3ccb42d000, 2097152, PROT_NONE) = 0
mmap(0x3ccb62d000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2d000) = 0x3ccb62d000
close(3)                                = 0
#v-

Czyli plugin znajduje, nawet poprawnie zlinkowany z libncursesw.so.5,
natomiast pod koniec otrzymuje:

#v+
open("/home/lcf/.ekg2/sessions-irc", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/home/lcf/.ekg2/sessions-gg", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/home/lcf/.ekg2/sessions-jabber", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=26042, ...}) = 0
mmap(NULL, 26042, PROT_READ, MAP_SHARED, 7, 0) = 0x7f1ea6fdf000
close(7)                                = 0
futex(0x3cca766f40, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/lib64/gconv/CP1250.so", O_RDONLY) = 7
read(7, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\4\0\0\0\0\0\0"...,
832) = 832
fstat(7, {st_mode=S_IFREG|0755, st_size=12688, ...}) = 0
mmap(NULL, 2105376, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 7,
0) = 0x7f1ea19a0000
mprotect(0x7f1ea19a2000, 2093056, PROT_NONE) = 0
mmap(0x7f1ea1ba1000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 7, 0x1000) = 0x7f1ea1ba1000
close(7)                                = 0
mprotect(0x7f1ea1ba1000, 4096, PROT_READ) = 0
open("/usr/lib64/gconv/ISO8859-1.so", O_RDONLY) = 7
read(7, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\4\0\0\0\0\0\0"...,
832) = 832
fstat(7, {st_mode=S_IFREG|0755, st_size=12600, ...}) = 0
mmap(NULL, 2105376, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 7,
0) = 0x7f1ea179d000
mprotect(0x7f1ea179f000, 2093056, PROT_NONE) = 0
mmap(0x7f1ea199e000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 7, 0x1000) = 0x7f1ea199e000
close(7)                                = 0
mprotect(0x7f1ea199e000, 4096, PROT_READ) = 0
brk(0x84d000)                           = 0x84d000
open("/home/lcf/.ekg2/metacontacts", O_RDONLY) = -1 ENOENT (No such
file or directory)
wait4(-1, 0x7fffaefe638c, WNOHANG, NULL) = -1 ECHILD (No child processes)
select(5, [4], [], NULL, {0, 20000})    = 0 (Timeout)
wait4(-1, 0x7fffaefe638c, WNOHANG, NULL) = -1 ECHILD (No child processes)
#v-

i tak do końca.

Co do systemu:
$ rpm -qa | grep ncurses
ncurses-libs-5.6-16.20080301.fc9.x86_64
ncurses-5.6-16.20080301.fc9.x86_64
ncurses-devel-5.6-16.20080301.fc9.i386
ncurses-devel-5.6-16.20080301.fc9.x86_64
ncurses-base-5.6-16.20080301.fc9.x86_64
ncurses-libs-5.6-16.20080301.fc9.i386
$ rpm -qa | grep glibc
glibc-2.8-3.i686
glibc-devel-2.8-3.x86_64
glibc-devel-2.8-3.i386
glibc-2.8-3.x86_64
glibc-common-2.8-3.x86_64
glibc-headers-2.8-3.x86_64

Jakieś pomysły czemu teoretycznie plugin znajduje, otwiera ale jakoś odpuszcza ?

Pełen strace, paczka src.rpm tego co kompiluje:
http://heaven.ds.pg.gda.pl/~lcf/ekg2/

Pozdrawiam
-- 
Łukasz Jagiełło
lukasz<at>jagiello<dot>org


Więcej informacji o liście dyskusyjnej ekg2-devel