Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 632190 - mail-mta/courier fails compile: rfc2047.c:379:30: error: unknown type name 'unicode_char'
Summary: mail-mta/courier fails compile: rfc2047.c:379:30: error: unknown type name 'u...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Hanno Böck
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-27 20:26 UTC by Kent Fredric (IRC: kent\n) (RETIRED)
Modified: 2019-06-01 10:39 UTC (History)
2 users (show)

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


Attachments
courier-0.76.4:20170927-201032.log (courier-0.76.4:20170927-201032.log,366.97 KB, text/plain)
2017-09-27 20:26 UTC, Kent Fredric (IRC: kent\n) (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2017-09-27 20:26:05 UTC
Created attachment 496754 [details]
courier-0.76.4:20170927-201032.log

All in-tree versions affected.

Looks similar to bug #624258 but its a different package.

I have no vested interest in this package other than being able to test it builds (and passes tests where relevant) against Perl.

----

rfc2047.c:379:30: error: unknown type name 'unicode_char'
 static int encode_word(const unicode_char *uc,
                              ^
rfc2047.c:412:31: error: unknown type name 'unicode_char'
 static int encode_words(const unicode_char *uc,
                               ^
rfc2047.c:457:41: error: unknown type name 'unicode_char'
 static int do_encode_words_method(const unicode_char *uc,
                                         ^
rfc2047.c: In function 'do_encode_words_method':
rfc2047.c:509:39: warning: pointer targets in passing argument 1 of 'unicode_convert_fromu_tobuf' differ in signedness [-Wpointer-sign]
   if ((rc=unicode_convert_fromu_tobuf(uc, j, charset,
                                       ^
In file included from rfc2047.c:12:0:
/usr/include/courier-unicode.h:900:5: note: expected 'const char32_t * {aka const unsigned int *}' but argument is of type 'const int *'
 int unicode_convert_fromu_tobuf(/* Unicode array to convert to a char str */
     ^
rfc2047.c: At top level:
rfc2047.c:540:34: error: unknown type name 'unicode_char'
 static int do_encode_words(const unicode_char *uc,
                                  ^
rfc2047.c: In function 'do_encode_words':
rfc2047.c:558:38: warning: pointer targets in passing argument 1 of 'unicode_convert_fromu_tobuf' differ in signedness [-Wpointer-sign]
  if ((rc=unicode_convert_fromu_tobuf(uc, ucsize, charset,
                                      ^
In file included from rfc2047.c:12:0:
/usr/include/courier-unicode.h:900:5: note: expected 'const char32_t * {aka const unsigned int *}' but argument is of type 'const int *'
 int unicode_convert_fromu_tobuf(/* Unicode array to convert to a char str */
     ^
rfc2047.c: At top level:
rfc2047.c:599:42: error: unknown type name 'unicode_char'
 static int rfc2047_encode_callback(const unicode_char *uc,
                                          ^
rfc2047.c: In function 'rfc2047_encode_str':
rfc2047.c:672:2: error: unknown type name 'unicode_char'
  unicode_char *uc;
  ^
rfc2047.c:679:6: warning: passing argument 4 of 'unicode_convert_tou_tobuf' from incompatible pointer type [-Wincompatible-pointer-types]
      &uc, &ucsize, &err))
      ^
In file included from rfc2047.c:12:0:
/usr/include/courier-unicode.h:862:5: note: expected 'char32_t ** {aka unsigned int **}' but argument is of type 'int **'
 int unicode_convert_tou_tobuf(/* Character text to convert */
     ^
make[2]: *** [Makefile:498: rfc2047.lo] Error 1
make[2]: *** Waiting for unfinished jobs....



[I] net-libs/courier-unicode
     Available versions:  1.1 1.3 ~1.4 (~)2.0
     Installed versions:  2.0(20:07:42 27/09/17)
     Homepage:            http://www.courier-mta.org/
     Description:         Unicode library used by the courier mail server

[I] net-libs/courier-authlib
     Available versions:  0.65.0-r3^tu 0.66.3^tu 0.66.4^t ~0.66.4-r1^t ~0.67.0^t ~0.68.0^t (~)0.68.0-r1^t {berkdb crypt debug gdbm ldap libressl mysql pam postgres sqlite static-libs vpopmail}
     Installed versions:  0.68.0-r1(20:09:39 27/09/17)(berkdb crypt gdbm pam sqlite -debug -ldap -libressl -mysql -postgres -static-libs)
     Homepage:            http://www.courier-mta.org/
     Description:         Courier authentication library
Comment 1 Hanno Böck gentoo-dev 2018-04-09 11:55:06 UTC
I believe this was due to a bump of courier-authlib without bumping the main courier package.

It should be fixed in the latest version 0.78.2. If not please re-open.
Comment 2 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2018-09-14 03:40:01 UTC
Confirming it fixed in 0.78*

However, 0.76.4 is still broken, and this is the depset that portage tries to install that leads to the breakage:

[ebuild  N    ~] mail-mta/courier-0.76.4  USE="crypt ipv6 nls pam -fam -fax -gnutls -ldap -libressl -mysql -norewrite -postgres -spell -web -webmail" 0 KiB                                                                                                                          
[ebuild  N    ~]  net-libs/courier-authlib-0.68.0-r1  USE="berkdb crypt gdbm pam -debug -ldap -libressl -mysql -postgres -sqlite -static-libs" 0 KiB                                                                                                                                 
[ebuild  N    ~]   net-libs/courier-unicode-2.0  0 KiB                                                                                                                                                                                                                               
[ebuild  N     ]   net-mail/mailbase-1.1  USE="pam" 0 KiB                                                                                                                                                                                                                            
[blocks b      ]  mail-mta/nullmailer ("mail-mta/nullmailer" is blocking mail-mta/courier-0.76.4)                                                                                                                                                                                    
[uninstall     ]   mail-mta/nullmailer-2.0-r1  USE="ssl"                

Older versions seem fine as they don't pull the newer versions of stuff.

So perhaps the easiest thing to do here is just nix 0.76.4

(Reopening just to make it clear that one package in tree is still affected)
Comment 3 Larry the Git Cow gentoo-dev 2019-06-01 10:39:30 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3c47637db14701ec31b90ad36322133cb2fbf41

commit d3c47637db14701ec31b90ad36322133cb2fbf41
Author:     Hanno <hanno@gentoo.org>
AuthorDate: 2019-06-01 10:39:21 +0000
Commit:     Hanno <hanno@gentoo.org>
CommitDate: 2019-06-01 10:39:21 +0000

    mail-mta/courier: Remove old versions.
    
    Closes: https://bugs.gentoo.org/632190
    Signed-off-by: Hanno Boeck <hanno@gentoo.org>
    Package-Manager: Portage-2.3.67, Repoman-2.3.13

 mail-mta/courier/Manifest                 |   3 -
 mail-mta/courier/courier-0.75.0-r1.ebuild | 314 ------------------------------
 mail-mta/courier/courier-0.75.0.ebuild    | 311 -----------------------------
 mail-mta/courier/courier-0.76.4.ebuild    | 310 -----------------------------
 mail-mta/courier/courier-0.78.2.ebuild    | 311 -----------------------------
 5 files changed, 1249 deletions(-)