bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] libunistring: fix interoperability with preinstalled libunis


From: Daiki Ueno
Subject: Re: [PATCH] libunistring: fix interoperability with preinstalled libunistring
Date: Tue, 20 Jan 2015 18:32:17 +0900
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Daiki Ueno <address@hidden> writes:

> From c7e000ae818fd62ccabd806d78b4b6c28f6decc9 Mon Sep 17 00:00:00 2001
> From: Daiki Ueno <address@hidden>
> Date: Tue, 20 Jan 2015 15:34:36 +0900
> Subject: [PATCH 1/2] unitypes: fix build with installed libunistring
>
> The minimum version was not bumped after _UC_ATTRIBUTE_CONST and
> _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
> * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
> ---
>  ChangeLog        | 7 +++++++
>  modules/unitypes | 2 +-
>  2 files changed, 8 insertions(+), 1 deletion(-)

Sorry, I realized that this was not enough.  I got an error on Hydra,
where libunistring 0.9.3 is installed on the host:

  In file included from x-perl.c:39:0:
  ../gnulib-lib/uniname.h: In function 'unicode_name_character':
  ../gnulib-lib/uniname.h:40:8: error: expected declaration specifiers before 
'_UC_ATTRIBUTE_PURE'
          _UC_ATTRIBUTE_PURE;

This is because x-perl.c has the following includes:

  #include "unistr.h"
  #include "uniname.h"

Since the unistr/base module's minimum libunistring version is 0.9.2,
unistr.h is not generated (from unistr.in.h) and /usr/include/unistr.h
is used.  Then, from the system header, /usr/include/unitypes.h is
included instead of ./unitypes.h.

So, in the end, all the modules whose "Depends-on" contains "unitypes"
need to bump the minimum libunistring version.  That hadn't been exposed
until the recent uniname update, because the uniname module's minimum
libunistring version was behind 0.9.3.

I've pushed the attached patch.  I'll later try to write a script for
checking the versions taking into account of the module dependencies.

Regards,
--
Daiki Ueno
>From ea6cb044ca0ab57045900a494a0e4ae39ed5372c Mon Sep 17 00:00:00 2001
From: Daiki Ueno <address@hidden>
Date: Tue, 20 Jan 2015 18:09:03 +0900
Subject: [PATCH] libunistring: bump version of unitypes dependants

Due to the header file search order, all the headers which depend
on unitypes.h need to be generated, when the preinstalled
libunistring is older.
* modules/unicase/base (configure.ac): Bump minimum version to
0.9.4.
* modules/uniconv/base (configure.ac): Likewise.
* modules/unilbrk/base (configure.ac): Likewise.
* modules/uninorm/base (configure.ac): Likewise.
* modules/unistdio/base (configure.ac): Likewise.
* modules/unistr/base (configure.ac): Likewise.
* modules/uniwbrk/base (configure.ac): Likewise.
* modules/uniwidth/base (configure.ac): Likewise.
---
 ChangeLog             | 16 ++++++++++++++++
 modules/unicase/base  |  2 +-
 modules/uniconv/base  |  2 +-
 modules/unilbrk/base  |  2 +-
 modules/uninorm/base  |  2 +-
 modules/unistdio/base |  2 +-
 modules/unistr/base   |  2 +-
 modules/uniwbrk/base  |  2 +-
 modules/uniwidth/base |  2 +-
 9 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 1054dec..e0c12d3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,21 @@
 2015-01-20  Daiki Ueno  <address@hidden>
 
+       libunistring: bump version of unitypes dependants
+       Due to the header file search order, all the headers which depend
+       on unitypes.h need to be generated, when the preinstalled
+       libunistring is older.
+       * modules/unicase/base (configure.ac): Bump minimum version to
+       0.9.4.
+       * modules/uniconv/base (configure.ac): Likewise.
+       * modules/unilbrk/base (configure.ac): Likewise.
+       * modules/uninorm/base (configure.ac): Likewise.
+       * modules/unistdio/base (configure.ac): Likewise.
+       * modules/unistr/base (configure.ac): Likewise.
+       * modules/uniwbrk/base (configure.ac): Likewise.
+       * modules/uniwidth/base (configure.ac): Likewise.
+
+2015-01-20  Daiki Ueno  <address@hidden>
+
        unictype/category-none: fix link with libunistring
        Since _UC_CATEGORY_NONE is not a public symbol, it will be
        prefixed with "libstring_" when compiled as part of libunistring.
diff --git a/modules/unicase/base b/modules/unicase/base
index 2a63edf..4363f5f 100644
--- a/modules/unicase/base
+++ b/modules/unicase/base
@@ -11,7 +11,7 @@ uninorm/base
 stdbool
 
 configure.ac:
-gl_LIBUNISTRING_LIBHEADER([0.9.1], [unicase.h])
+gl_LIBUNISTRING_LIBHEADER([0.9.4], [unicase.h])
 
 Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNICASE_H)
diff --git a/modules/uniconv/base b/modules/uniconv/base
index bac2495..3037526 100644
--- a/modules/uniconv/base
+++ b/modules/uniconv/base
@@ -12,7 +12,7 @@ Depends-on:
 unitypes
 
 configure.ac:
-gl_LIBUNISTRING_LIBHEADER([0.9], [uniconv.h])
+gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniconv.h])
 
 Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNICONV_H)
diff --git a/modules/unilbrk/base b/modules/unilbrk/base
index c2a690d..46b3ed8 100644
--- a/modules/unilbrk/base
+++ b/modules/unilbrk/base
@@ -10,7 +10,7 @@ unitypes
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_LIBHEADER([0.9], [unilbrk.h])
+gl_LIBUNISTRING_LIBHEADER([0.9.4], [unilbrk.h])
 
 Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNILBRK_H)
diff --git a/modules/uninorm/base b/modules/uninorm/base
index a83ec8b..d66df00 100644
--- a/modules/uninorm/base
+++ b/modules/uninorm/base
@@ -9,7 +9,7 @@ Depends-on:
 unitypes
 
 configure.ac:
-gl_LIBUNISTRING_LIBHEADER([0.9], [uninorm.h])
+gl_LIBUNISTRING_LIBHEADER([0.9.4], [uninorm.h])
 
 Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNINORM_H)
diff --git a/modules/unistdio/base b/modules/unistdio/base
index 18a47d0..34fe6f0 100644
--- a/modules/unistdio/base
+++ b/modules/unistdio/base
@@ -9,7 +9,7 @@ Depends-on:
 unitypes
 
 configure.ac:
-gl_LIBUNISTRING_LIBHEADER([0.9], [unistdio.h])
+gl_LIBUNISTRING_LIBHEADER([0.9.4], [unistdio.h])
 
 Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNISTDIO_H)
diff --git a/modules/unistr/base b/modules/unistr/base
index feac0a4..205f029 100644
--- a/modules/unistr/base
+++ b/modules/unistr/base
@@ -12,7 +12,7 @@ stdbool
 inline
 
 configure.ac:
-gl_LIBUNISTRING_LIBHEADER([0.9.2], [unistr.h])
+gl_LIBUNISTRING_LIBHEADER([0.9.4], [unistr.h])
 
 Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNISTR_H)
diff --git a/modules/uniwbrk/base b/modules/uniwbrk/base
index aafa172..d466a3e 100644
--- a/modules/uniwbrk/base
+++ b/modules/uniwbrk/base
@@ -9,7 +9,7 @@ Depends-on:
 unitypes
 
 configure.ac:
-gl_LIBUNISTRING_LIBHEADER([0.9], [uniwbrk.h])
+gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwbrk.h])
 
 Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNIWBRK_H)
diff --git a/modules/uniwidth/base b/modules/uniwidth/base
index cc10d83..f0001fb 100644
--- a/modules/uniwidth/base
+++ b/modules/uniwidth/base
@@ -10,7 +10,7 @@ Depends-on:
 unitypes
 
 configure.ac:
-gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h])
+gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwidth.h])
 
 Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNIWIDTH_H)
-- 
2.1.0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]