Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 677804 - net-irc/irssi-1.2.0 - wcwidth-wrapper.c:30:10: fatal error: utf8proc.h: No such file or directory
Summary: net-irc/irssi-1.2.0 - wcwidth-wrapper.c:30:10: fatal error: utf8proc.h: No su...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mikle Kolyada (RETIRED)
URL:
Whiteboard:
Keywords:
: 677808 677812 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-02-12 15:05 UTC by Ben Kohler
Modified: 2019-02-12 19:35 UTC (History)
6 users (show)

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


Attachments
build.log (build.log,24.36 KB, text/plain)
2019-02-12 15:23 UTC, Ben Kohler
Details
emerge --info (info.log,6.36 KB, text/plain)
2019-02-12 15:26 UTC, Ben Kohler
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Kohler gentoo-dev 2019-02-12 15:05:43 UTC
New irssi-1.2.0 seems to have an automagic dep on dev-libs/libutf8proc.  If this package is installed & detected during configure, later on in the build it will look for <utf8proc.h>, failing because we actually have it at libutf8proc/utf8proc.h


checking for utf8proc_version in -lutf8proc... yes


...

x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../..  -I../../src -I../../src/core -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DSYSCONFDIR=\""/etc"\" -DMODULEDIR=\""/usr/lib64/irssi/modules"\"   -O2 -pipe -march=native -Wall  -c -o write-buffer.o write-buffer.c
wcwidth-wrapper.c:30:10: fatal error: utf8proc.h: No such file or directory
 #include <utf8proc.h>
          ^~~~~~~~~~~~
Comment 1 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2019-02-12 15:17:51 UTC
please post the full emerge --info and the build log, this is currently confusing and I can not repeat
Comment 2 Ben Kohler gentoo-dev 2019-02-12 15:23:40 UTC
Created attachment 564934 [details]
build.log

If dev-libs/libutf8proc is installed, "emerge =irssi-1.2.0" will fail
Comment 3 Ben Kohler gentoo-dev 2019-02-12 15:26:56 UTC
Created attachment 564936 [details]
emerge --info
Comment 4 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2019-02-12 15:41:52 UTC
mhm, now I see indeed
Comment 5 Ben Kohler gentoo-dev 2019-02-12 15:43:05 UTC
*** Bug 677808 has been marked as a duplicate of this bug. ***
Comment 6 Ben Kohler gentoo-dev 2019-02-12 15:44:29 UTC
FWIW I can successfully build with libutf8proc if i copy or symlink that 'missing' header to /usr/include/utf8proc.h
Comment 7 Daniel M. Weeks 2019-02-12 15:47:59 UTC
I just received the same error. The problem seems to be dev-libs/libutf8proc is the wrong libutf8proc in the first place. That package is from netsurf, while irssi is using an implementation from julia: https://github.com/JuliaStrings/utf8proc
Comment 8 Ben Kohler gentoo-dev 2019-02-12 15:55:39 UTC
Yeah that's a bit odd that we have only packaged the netsurf one.  From their README:

libutf8proc
===========

This is the Public software group utf8proc library [1] repackaged as a
conveniance library for NetSurf. Previously this library was simply
copied into the NetSurf sources.

This takes the unicode 11 capable version 2.2.0 of the library and
converts it to the NetSurf build system which adds the generation of a
pkg-config file. There are no code changes from upstream.

All the Makefiles and changes are licenced as per the utf8proc
source using the MIT "expat" licence.

[1] https://github.com/JuliaStrings/utf8proc
Comment 9 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2019-02-12 16:06:25 UTC
(In reply to Daniel M. Weeks from comment #7)
> I just received the same error. The problem seems to be dev-libs/libutf8proc
> is the wrong libutf8proc in the first place. That package is from netsurf,
> while irssi is using an implementation from julia:
> https://github.com/JuliaStrings/utf8proc

speaking of headers there is no difference between netserf and julia ones
Comment 10 Daniel M. Weeks 2019-02-12 16:53:44 UTC
(In reply to Mikle Kolyada from comment #9)
> (In reply to Daniel M. Weeks from comment #7)
> > I just received the same error. The problem seems to be dev-libs/libutf8proc
> > is the wrong libutf8proc in the first place. That package is from netsurf,
> > while irssi is using an implementation from julia:
> > https://github.com/JuliaStrings/utf8proc
> 
> speaking of headers there is no difference between netserf and julia ones

That's not the relevant point. They are packaged with two different Makefiles which place the header in different locations. Downstream expectations are going to be different for each depending on which packaging they track *which is how this problem occurred*.

Gentoo should probably place the header in the true upstream location and fix bad packages rather than the other way around. But that's outside the scope of this ticket...
Comment 11 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2019-02-12 17:01:47 UTC
(In reply to Daniel M. Weeks from comment #10)
> (In reply to Mikle Kolyada from comment #9)
> > (In reply to Daniel M. Weeks from comment #7)

> 
> Gentoo should probably place the header in the true upstream location and
> fix bad packages rather than the other way around. But that's outside the
> scope of this ticket...

No. Upstream can do whatever with each release, this is pointless to fix a package A because a package B demands one location today but can demand different location in 2 weeks
Comment 12 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2019-02-12 17:07:05 UTC
Should be fixed with a revbump
Comment 13 Ben Kohler gentoo-dev 2019-02-12 17:10:18 UTC
Are you sure we want to be patching all our libutf8proc consumers to use the netsurf-forked version instead of the true upstream?  Seems more like we should fix netsurf to use the non-forked one.

Also, your patch doesn't have libutf8proc in DEPEND, I think this is wrong.
Comment 14 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2019-02-12 17:19:50 UTC
(In reply to Ben Kohler from comment #13)
> Are you sure we want to be patching all our libutf8proc consumers to use the
> netsurf-forked version instead of the true upstream?  Seems more like we
> should fix netsurf to use the non-forked one.

I will track it for time, and only act if something is really broken.

> 
> Also, your patch doesn't have libutf8proc in DEPEND, I think this is wrong.


No, irssi can be built w/o libutf8proc at all
Comment 15 Daniel M. Weeks 2019-02-12 17:39:47 UTC
(In reply to Mikle Kolyada from comment #14)
> (In reply to Ben Kohler from comment #13)
> > Are you sure we want to be patching all our libutf8proc consumers to use the
> > netsurf-forked version instead of the true upstream?  Seems more like we
> > should fix netsurf to use the non-forked one.
> 
> I will track it for time, and only act if something is really broken.
> 
> > 
> > Also, your patch doesn't have libutf8proc in DEPEND, I think this is wrong.
> 
> 
> No, irssi can be built w/o libutf8proc at all

It will automagically depend on it if it is present at built time. Yes, it does need to be in (R)DEPEND otherwise portage is free to remove libutf8proc underneath it.
Comment 16 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2019-02-12 19:04:54 UTC
*** Bug 677812 has been marked as a duplicate of this bug. ***