Summary: | uim 1.6.0: uim-module-manager doesn't work properly if --libexecdir is specified different dir. | ||
---|---|---|---|
Product: | UIM | Reporter: | Masato Hashimoto <cabezon.hashimoto> |
Component: | Other | Assignee: | uim-bugs |
Status: | RESOLVED INVALID | QA Contact: | |
Severity: | critical | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
full log of building uim with --enable-debug
Build log of --enable-debug --disable-warnings-into-error |
I don't think libexecdir is the cause of change in the behavior of uim-module-maneger as the directory is not used for the process of registering modules. Could you show the output of ldd /usr/lib*/uim/plugin/libuim-mozc.so? The result of ldd is as follow: $ ldd /usr/lib/uim/plugin/libuim-mozc.so linux-vdso.so.1 => (0x00007fff8dfff000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007fc75bc4e000) libuim-scm.so.0 => /usr/lib/libuim-scm.so.0 (0x00007fc75ba28000) libuim.so.7 => /usr/lib/libuim.so.7 (0x00007fc75b810000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fc75b506000) libc.so.6 => /lib/libc.so.6 (0x00007fc75b1aa000) /lib/ld-linux-x86-64.so.2 (0x00007fc75c21d000) libgcroots.so.0 => /usr/lib/libgcroots.so.0 (0x00007fc75afa7000) libdl.so.2 => /lib/libdl.so.2 (0x00007fc75ada3000) libm.so.6 => /lib/libm.so.6 (0x00007fc75ab21000) libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fc75a90a000) uim 1.5.7 (--libexecdir=/usr/lib/uim), mozc r38 and uim-mozc work has no problem. (In reply to comment #2) > The result of ldd is as follow: > > $ ldd /usr/lib/uim/plugin/libuim-mozc.so > linux-vdso.so.1 => (0x00007fff8dfff000) > libpthread.so.0 => /lib/libpthread.so.0 (0x00007fc75bc4e000) > libuim-scm.so.0 => /usr/lib/libuim-scm.so.0 (0x00007fc75ba28000) > libuim.so.7 => /usr/lib/libuim.so.7 (0x00007fc75b810000) > libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fc75b506000) > libc.so.6 => /lib/libc.so.6 (0x00007fc75b1aa000) > /lib/ld-linux-x86-64.so.2 (0x00007fc75c21d000) > libgcroots.so.0 => /usr/lib/libgcroots.so.0 (0x00007fc75afa7000) > libdl.so.2 => /lib/libdl.so.2 (0x00007fc75ada3000) > libm.so.6 => /lib/libm.so.6 (0x00007fc75ab21000) > libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fc75a90a000) OK. Compilation of libuim-mozc.so seems fine. Odd thing is that libuim.so.6 was tried to be loaded by dlopen() in your environment. It is completely strange. You can find which file tried to dlopen() libuim.so.6 by compiling uim with --enable-debug, and invoking uim-module-manager with LIBUIM_VERBOSE_LEVEL=3. # LIBUIM_VERBOSE_LEVEL=3 uim-module-manager --register mozc Created attachment 38057 [details]
full log of building uim with --enable-debug
Compiling uim with --enable-debug is failed. Latest messages are as follows and attached is full log:
---
g++ -DHAVE_CONFIG_H -I. -I../uim -I../replace -I../uim -I.. -I.. -DUSE_GTK_CANDWIN -Wall -I/usr/include/freetype2 -g -O2 -pipe -W -Wall -Wchar-subscripts -Wnon-virtual-dtor -Wno-long-long -Wcast-align -Wconversion -Wpointer-arith -Wwrite-strings -Wformat-security -g -Werror -MT uim_xim-main.o -MD -MP -MF .deps/uim_xim-main.Tpo -c -o uim_xim-main.o `test -f 'main.cpp' || echo './'`main.cpp
cc1plus: warnings being treated as errors
main.cpp: In function ‘void add_window_watch(Window, WindowIf*, int)’:
main.cpp:188:48: error: conversion to ‘unsigned int’ from ‘Window’ may alter its value
main.cpp: In function ‘void remove_window_watch(Window)’:
main.cpp:206:34: error: conversion to ‘std::map<unsigned int, WindowIf*, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, WindowIf*> > >::key_type’ from ‘Window’ may alter its value
main.cpp: In function ‘WindowIf* findWindowIf(Window)’:
main.cpp:215:33: error: conversion to ‘std::map<unsigned int, WindowIf*, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, WindowIf*> > >::key_type’ from ‘Window’ may alter its value
main.cpp: In function ‘void notifyLocale(XEvent*)’:
main.cpp:266:77: error: conversion to ‘int’ from ‘size_t’ may alter its value
main.cpp: In function ‘void init_supported_locales()’:
main.cpp:431:35: error: conversion to ‘int’ from ‘size_t’ may alter its value
main.cpp:447:26: error: conversion to ‘int’ from ‘size_t’ may alter its value
make[1]: *** [uim_xim-main.o] エラー 1
make[1]: ディレクトリ `/home/hashimo/sources/uim-custom/src/uim-1.6.0/xim' から出ます
make: *** [all-recursive] エラー 1
Aborting...
---
My environment:
gcc 4.5.1
gtk 2.20.1
Try --enable-debug --disable-warnings-into-error Created attachment 38058 [details]
Build log of --enable-debug --disable-warnings-into-error
Same errors still occur.
(In reply to comment #6) > Created an attachment (id=38058) [details] > Build log of --enable-debug --disable-warnings-into-error From the build log, you don't seem to set --disable-warnings-into-error properly. Please check config.log. (In reply to comment #7) > From the build log, you don't seem to set --disable-warnings-into-error > properly. Please check config.log. Sorry, you are right. And I have to say sorry again. After building uim with/without debug options today, this problem never occurred. Though I confirmed the problem several times, I seem to have made something mistakes at that time. Sorry for my noise. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Overview: If uim is build with --libexecdir=/usr/lib/uim, uim-module-manager --register/unregister doesn't work. Steps to Reproduce (I confirmed): 1) Build and install uim. Build options are as follows: ./configure --prefix=/usr --libexecdir=/usr/lib/uim --with-anthy-utf8 --without-anthy --disable-gnome-applet 2) Build and install mozc and uim-mozc 3) Run uim-module-manager --register mozc Actual Results: The following massage appeared: > libuim: [fatal] dynlib: libuim.so.6: cannot open shared object file: No such file or directory: Load failed. Additional Info: If --libexecdir= isn't specified, uim-module-manager --register works properly. Build & Platform: Build 2010--8-21 on Arch Linux Versions: uim 1.6.0