Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 612218 - app-i18n/ibus-1.5.15 - main.c:36:29: fatal error: ibusemojidialog.h: No such file or directory
Summary: app-i18n/ibus-1.5.15 - main.c:36:29: fatal error: ibusemojidialog.h: No such ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 2 votes (vote)
Assignee: CJK Team
URL: https://github.com/ibus/ibus/issues/1909
Whiteboard:
Keywords:
: 612206 612472 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-03-10 16:28 UTC by tman
Modified: 2017-08-03 12:48 UTC (History)
35 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
/mnt/portage/logs/app-i18n:ibus-1.5.15:20170310-162440.log (app-i18n:ibus-1.5.15:20170310-162440.log,162.56 KB, text/x-log)
2017-03-10 16:28 UTC, tman
Details
hack-fixbug612218.patch (hack-fixbug612218.patch,65.46 KB, patch)
2017-04-08 08:45 UTC, Greg Turner
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description tman 2017-03-10 16:28:09 UTC
-notification-item.xml.o gen-notification-watcher.xml.o  -lgobject-2.0 -lglib-2.0 -lglib-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgthread-2.0 -pthread -lglib-2.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lX11 -lXi ../../src/libibus-1.0.la  -lnotify -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0   
libtool: link: x86_64-pc-linux-gnu-gcc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DG_LOG_DOMAIN=\"IBUS\" -DBINDIR=\"/usr/bin\" -DPKGDATADIR=\"/usr/share/ibus\" -DIBUS_DISABLE_DEPRECATED -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -march=core-avx-i -O2 -pipe -Wl,-O1 -o .libs/ibus-ui-gtk3 application.o candidatearea.o candidatepanel.o emojier.o handle.o iconwidget.o indicator.o keybindingmanager.o panel.o pango.o property.o propertypanel.o separator.o switcher.o xkblayout.o gen-notification-item.xml.o gen-notification-watcher.xml.o -pthread  -Wl,--as-needed -lgthread-2.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lX11 -lXi ../../src/.libs/libibus-1.0.so -lnotify -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -pthread
make[3]: Leaving directory '/var/tmp/portage/app-i18n/ibus-1.5.15/work/ibus-1.5.15/ui/gtk3'
make[3]: Entering directory '/var/tmp/portage/app-i18n/ibus-1.5.15/work/ibus-1.5.15/ui'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/var/tmp/portage/app-i18n/ibus-1.5.15/work/ibus-1.5.15/ui'
make[2]: Leaving directory '/var/tmp/portage/app-i18n/ibus-1.5.15/work/ibus-1.5.15/ui'
Making all in tools
make[2]: Entering directory '/var/tmp/portage/app-i18n/ibus-1.5.15/work/ibus-1.5.15/tools'
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..  -I../src -I../src -include ../config.h    -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DG_LOG_DOMAIN=\"IBUS\" -DIBUS_DISABLE_DEPRECATED -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function   -march=core-avx-i -O2 -pipe -c -o main.o main.c
sed \
	-e 's|@VERSION[@]|1.5.15|g' ibus.1.in > ibus.1.tmp && \
	mv ibus.1.tmp ibus.1
gzip -c ibus.1 > ibus.1.gz.tmp && mv ibus.1.gz.tmp ibus.1.gz
main.c:36:29: fatal error: ibusemojidialog.h: No such file or directory
compilation terminated.
make[2]: *** [Makefile:665: main.o] Error 1
rm ibus.1
make[2]: Leaving directory '/var/tmp/portage/app-i18n/ibus-1.5.15/work/ibus-1.5.15/tools'
make[1]: *** [Makefile:682: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/app-i18n/ibus-1.5.15/work/ibus-1.5.15'
make: *** [Makefile:589: all] Error 2
 * ERROR: app-i18n/ibus-1.5.15::gentoo failed (compile phase):


Reproducible: Always




Portage 2.3.4 (python 3.5.3-final-0, default/linux/amd64/13.0/desktop/plasma/systemd, gcc-5.4.0, glibc-2.24-r1, 4.10.1-gentoo x86_64)
=================================================================
System uname: Linux-4.10.1-gentoo-x86_64-Intel-R-_Core-TM-_i7-3740QM_CPU_@_2.70GHz-with-gentoo-2.3
KiB Mem:    24625740 total,  17983524 free
KiB Swap:   26488828 total,  26488828 free
Timestamp of repository gentoo: Fri, 10 Mar 2017 16:00:01 +0000
Timestamp of repository poly-c: Thu, 09 Mar 2017 11:46:59 +0000
sh bash 4.4_p12
ld GNU ld (Gentoo 2.27 p1.0) 2.27
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.1-r1::gentoo
dev-lang/python:          2.7.13::gentoo, 3.4.6::gentoo, 3.5.3::gentoo, 3.6.0::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.23.2::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r2::gentoo
sys-devel/automake:       1.13.4-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.27::gentoo
sys-devel/gcc:            5.4.0-r3::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.24-r1::gentoo
Repositories:
Comment 1 tman 2017-03-10 16:28:34 UTC
Created attachment 466552 [details]
/mnt/portage/logs/app-i18n:ibus-1.5.15:20170310-162440.log
Comment 2 Coacher 2017-03-10 18:17:05 UTC
*** Bug 612206 has been marked as a duplicate of this bug. ***
Comment 3 Michael Cook 2017-03-10 18:35:42 UTC
https://github.com/ibus/ibus/issues/1909
Comment 4 Harris Landgarten 2017-03-11 23:38:06 UTC
workaround

assuming vala is installed you should have a valac-0.34 in /usr/bin

link to valac as ln -sf /usr/bin/valac-0.34 /usr/bin/valac

run ebuild and abort before compile phase.

in paludis I ran

cave resolve ibus -1zx --abort-at-phase compile

then cd to build folder as

cd /var/tmp/paludis/app-i18n-ibus-1.5.15/work/ibus-1.5.15

then run:

make -C tools maintainer-clean-generic

now you can finish the installation starting with compile phase

in paludis:

cave resolve ibus -1xz --skip-until-phase compile

The equivalent can be done with the ebuild command and portage.
Comment 5 Harris Landgarten 2017-03-11 23:40:35 UTC
note: I think my workaround instructions could be implemented in the ebuild so long as you can patch the make file to call valac-0.34 instead of valac
Comment 6 Oleh 2017-03-12 13:09:01 UTC
this is rather ugly way and seems not how it should be. having said that, upstream have no good solution for --disable-emoji-dict https://github.com/ibus/ibus/issues/1909

a working solution will just enable emoji-dict by default. I don't see how it hurts to have it enabled. Approximate way would be:
set SRC_URI to get a snapshot of emojione:
EMOJIONE_COMMIT="sha..."
SRC_URI=https://github.com/Ranks/emojione/commit/${EMOJIONE_COMMIT}, let the build unpack it into WORKDIR and then uncoditionally enable emoji support, like
econf \
......
--enable-emoji-dict \
--with-emoji-json-file=${WORKDIR}/emoji.json

This works just fine in my local copy of ibus ebuild.
Comment 7 Harris Landgarten 2017-03-12 17:12:22 UTC
agreed my way is ugly. It has to be fixed in the ebuild. Seems unlikely upstream is going to help.
Comment 8 Coacher 2017-03-13 01:57:21 UTC
*** Bug 612472 has been marked as a duplicate of this bug. ***
Comment 9 Andrew Udvare 2017-03-16 21:05:15 UTC
Someone have a patched ebuild for this?
Comment 10 Ralf Ramsauer 2017-03-18 22:24:43 UTC
Same issue here
Comment 11 Havee 2017-03-20 12:59:50 UTC
Same issue here
Comment 12 Ivan Iraci 2017-03-21 14:42:35 UTC
Same problem here.
Comment 13 cyshei 2017-03-29 12:20:34 UTC
Until this is fixed, can this version be masked so emerge doesn't keep trying to upgrade it?  I've resorted to running emerge with "--exclude ibus" for now, but I won't know when to remove it unless I follow this bug.  Thanks!
Comment 14 Attila Tóth 2017-03-29 12:24:46 UTC
You may also consider adding an atom to packages.mask, like:
=app-i18n/ibus-1.5.15

However you should not forget about it later in this case...
Comment 15 Yixun Lan archtester gentoo-dev 2017-03-30 06:07:01 UTC
I'm sorry, due to lack of of time (busy with both personal life & real life)

I'm not really sure if it's the right way with Oleg's suggestion (bug 612218#c6).. is it sufficient with only --with-emoji-json-file=${WORKDIR}/emoji.json (but without install the emoji npm package?)

btw, as I'm not the nodejs expert, but as I know (in Gentoo Linux) we do not really have elegant way to install npm packages..

also, another way I can think of is re-packing up this package with emoji disabled, so we don't need dirty hacking in the ebuild file..


for now, I will go & mask this version, thanks
you are welcome to send us PR via github if anyone willing to proceed ;-)
Comment 16 Greg Turner 2017-04-08 08:45:51 UTC
Created attachment 469456 [details, diff]
hack-fixbug612218.patch

I only vaguely remember doing so, but apparently I had "fixed" this bug with the attached patch.  As I recall, I have package.env magic to ensure this patch applies only AFTER src_prepare and it contains

o reversion of the upstream emojification commit
o reversion of the corresponding autotools effects


If I am understanding correctly, it seems the resulting non-upstream compatible library somehow causes a build failure if I try the recipe in comment 6. So buyer beware, this could be a difficult hack to revert once you merge it due to (what looks to me like) upstream building the emoji temporary lib against system ibus instead of the in-tree generated ibus library.
Comment 18 Rafał Mużyło 2017-08-03 12:45:49 UTC
A somewhat late question: 

First of all, even in 1.5.15 the only file needed from emojione seemed to be emoji.json, which was pure data, but that's actually moot, as in 1.5.16 started using emoji-test.txt from unicode.org (https://github.com/ibus/ibus/commit/2f73064d03481c9f34d278dd19d1a4427d6ecb27).

So perhaps '--disable-emoji-dict' should be reconsidered ?
Comment 19 Rafał Mużyło 2017-08-03 12:48:35 UTC
Never mind, should have sync first - it already was.