Debian Bug report logs - #561291
please provide a .symbols file

version graph

Package: libidn11-dev; Maintainer for libidn11-dev is Debian Libidn Team <help-libidn@gnu.org>; Source for libidn11-dev is src:libidn.

Reported by: Marco d'Itri <md@linux.it>

Date: Tue, 15 Dec 2009 22:48:01 UTC

Severity: wishlist

Tags: help, patch, upstream

Found in version libidn/1.15-2

Fixed in version libidn/1.17-1

Done: Simon Josefsson <simon@josefsson.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, md@linux.it, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Tue, 15 Dec 2009 22:48:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Marco d'Itri <md@linux.it>:
New Bug report received and forwarded. Copy sent to md@linux.it, Anibal Monsalve Salazar <anibal@debian.org>. (Tue, 15 Dec 2009 22:48:04 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Marco d'Itri <md@linux.it>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: please provide a .symbols file
Date: Tue, 15 Dec 2009 23:46:24 +0100
[Message part 1 (text/plain, inline)]
Package: libidn11-dev
Version: 1.15-2
Severity: wishlist

Lack of a .symbols file in the libidn package prevents at least one of
my packages from being installable as is on oldstable.
Please let me know if you need help and would rather get a complete
patch.

-- 
ciao,
Marco
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Tue, 15 Dec 2009 23:15:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Aníbal Monsalve Salazar <anibal@debian.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Tue, 15 Dec 2009 23:15:03 GMT) Full text and rfc822 format available.

Message #10 received at 561291@bugs.debian.org (full text, mbox):

From: Aníbal Monsalve Salazar <anibal@debian.org>
To: Marco d'Itri <md@linux.it>, 561291@bugs.debian.org
Cc: Simon Josefsson <simon@josefsson.org>
Subject: Re: Bug#561291: please provide a .symbols file
Date: Tue, 15 Dec 2009 23:12:43 +0000
[Message part 1 (text/plain, inline)]
On Tue, Dec 15, 2009 at 11:46:24PM +0100, Marco d'Itri wrote:
>Package: libidn11-dev
>Version: 1.15-2
>Severity: wishlist
>
>Lack of a .symbols file in the libidn package prevents at least one of
>my packages from being installable as is on oldstable.
>Please let me know if you need help and would rather get a complete
>patch.

Please send the patch to this bug report.

>-- 
>ciao,
>Marco
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Wed, 23 Dec 2009 18:03:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to md@Linux.IT (Marco d'Itri):
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Wed, 23 Dec 2009 18:03:03 GMT) Full text and rfc822 format available.

Message #15 received at 561291@bugs.debian.org (full text, mbox):

From: md@Linux.IT (Marco d'Itri)
To: 561291@bugs.debian.org
Cc: Anibal Monsalve Salazar <anibal@debian.org>, Simon Josefsson <simon@josefsson.org>, control@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Wed, 23 Dec 2009 19:00:36 +0100
[Message part 1 (text/plain, inline)]
tag 561291 patch
thanks

Here it is, along with another minor fix.

The problem is that this is not enough to make the built binaries work
on stable again[1] because upstream gratuitously broke the ABI in 1.13
by versioning the symbols and now it is too late to revert the change.

I suppose that there is some way to generate both versioned and
unversioned symbols with appropriate linker magic, but I have not been
able to do it.

BTW, since the package uses libtool you should fix it to run autoreconf
when it is built.


[1] Actually they work fine, but the run time linker outputs a warning...

-- 
ciao,
Marco
[libidn.symbols.diff (text/x-diff, attachment)]
[libidn.builddepends.diff (text/x-diff, attachment)]
[signature.asc (application/pgp-signature, inline)]

Added tag(s) patch. Request was from md@Linux.IT (Marco d'Itri) to control@bugs.debian.org. (Wed, 23 Dec 2009 18:03:04 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Thu, 21 Jan 2010 10:33:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Thu, 21 Jan 2010 10:33:07 GMT) Full text and rfc822 format available.

Message #22 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: 561291@bugs.debian.org, md@Linux.IT
Cc: control@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Thu, 21 Jan 2010 11:30:32 +0100
tags 561291 pending
thanks

I have applied your libidn.symbols.diff patch to our repository, thanks!
(I did add a bunch of symbols that are exported by the library but was
not part of your libidn11.symbols file though.)

I don't understand the purpose of the libidn.builddepends.diff change.
What error do you get if that line is not present?

/Simon




Added tag(s) pending. Request was from Simon Josefsson <simon@josefsson.org> to control@bugs.debian.org. (Thu, 21 Jan 2010 10:33:11 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Thu, 21 Jan 2010 11:18:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to md@Linux.IT (Marco d'Itri):
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Thu, 21 Jan 2010 11:18:03 GMT) Full text and rfc822 format available.

Message #29 received at 561291@bugs.debian.org (full text, mbox):

From: md@Linux.IT (Marco d'Itri)
To: Simon Josefsson <simon@josefsson.org>
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Thu, 21 Jan 2010 12:12:17 +0100
[Message part 1 (text/plain, inline)]
On Jan 21, Simon Josefsson <simon@josefsson.org> wrote:

> I have applied your libidn.symbols.diff patch to our repository, thanks!
> (I did add a bunch of symbols that are exported by the library but was
> not part of your libidn11.symbols file though.)
Maybe you applied the patch to a newer version? If I really had missed
some symbols then building the package would have failed on my system.

> I don't understand the purpose of the libidn.builddepends.diff change.
> What error do you get if that line is not present?
No error, but there is no need to install fastjar unless you are
actually building with java support.

-- 
ciao,
Marco
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 22 Jan 2010 07:42:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 22 Jan 2010 07:42:03 GMT) Full text and rfc822 format available.

Message #34 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: md@Linux.IT (Marco d'Itri)
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 22 Jan 2010 08:32:24 +0100
md@Linux.IT (Marco d'Itri) writes:

> On Jan 21, Simon Josefsson <simon@josefsson.org> wrote:
>
>> I have applied your libidn.symbols.diff patch to our repository, thanks!
>> (I did add a bunch of symbols that are exported by the library but was
>> not part of your libidn11.symbols file though.)
> Maybe you applied the patch to a newer version?

The symbols I added were:

+ stringprep_iscsi_prohibit@LIBIDN_1.0 1.13
+ stringprep_rfc3454_A_1@LIBIDN_1.0 1.13
+ stringprep_rfc3454_B_1@LIBIDN_1.0 1.13
+ stringprep_rfc3454_B_2@LIBIDN_1.0 1.13
+ stringprep_rfc3454_B_3@LIBIDN_1.0 1.13
+ stringprep_rfc3454_C_1_1@LIBIDN_1.0 1.13
+ stringprep_rfc3454_C_1_2@LIBIDN_1.0 1.13
+ stringprep_rfc3454_C_2_1@LIBIDN_1.0 1.13
+ stringprep_rfc3454_C_2_2@LIBIDN_1.0 1.13
+ stringprep_rfc3454_C_3@LIBIDN_1.0 1.13
+ stringprep_rfc3454_C_4@LIBIDN_1.0 1.13
+ stringprep_rfc3454_C_5@LIBIDN_1.0 1.13
+ stringprep_rfc3454_C_6@LIBIDN_1.0 1.13
+ stringprep_rfc3454_C_7@LIBIDN_1.0 1.13
+ stringprep_rfc3454_C_8@LIBIDN_1.0 1.13
+ stringprep_rfc3454_C_9@LIBIDN_1.0 1.13
+ stringprep_rfc3454_D_1@LIBIDN_1.0 1.13
+ stringprep_rfc3454_D_2@LIBIDN_1.0 1.13
+ stringprep_saslprep_space_map@LIBIDN_1.0 1.13

I copied this from libidn.map from the upstream archive.  These symbols
have been present for a long time, I believe.

> If I really had missed some symbols then building the package would
> have failed on my system.

Why?  I suspect these symbols are not used by anything inside the libidn
archive itself.

>> I don't understand the purpose of the libidn.builddepends.diff change.
>> What error do you get if that line is not present?
> No error, but there is no need to install fastjar unless you are
> actually building with java support.

Good point, I applied that too.

/Simon




Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 22 Jan 2010 07:42:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 22 Jan 2010 07:42:05 GMT) Full text and rfc822 format available.

Message #39 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: md@Linux.IT (Marco d'Itri)
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 22 Jan 2010 08:33:30 +0100
Btw, is the intention that libidn11.shlibs should be empty, or that the
file should be removed?  I couldn't really tell from the diff you
provided.  Building with an empty files provokes a warning from
pdebuild:

dpkg-source: warning: newly created empty file 'debian/libidn11.shlibs' will not be represented in diff

I have no idea whether this indicates a real problem or not though.

/Simon




Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 22 Jan 2010 07:42:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 22 Jan 2010 07:42:07 GMT) Full text and rfc822 format available.

Message #44 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: md@Linux.IT (Marco d'Itri)
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 22 Jan 2010 08:40:12 +0100
tags 561291 help
thanks

md@Linux.IT (Marco d'Itri) writes:

> On Jan 21, Simon Josefsson <simon@josefsson.org> wrote:
>
>> I have applied your libidn.symbols.diff patch to our repository, thanks!
>> (I did add a bunch of symbols that are exported by the library but was
>> not part of your libidn11.symbols file though.)
> Maybe you applied the patch to a newer version? If I really had missed
> some symbols then building the package would have failed on my system.

Oh, I see what you mean now.  I get the build failure below when trying
to build the archive with my modified symbols file.  I don't understand
the error -- the indicated symbols are real variables in the library and
must be available in the debian package for things to work as intended.
All the affected symbols are variables, and not functions, though.  Is
this a bug in the *.symbols handling of dpkg-gensymbols?

Tagging 'help' because I'm not an export on how dpkg-gensymbols is
intended to work.  Hopefully you will be able to help me. :-)

/Simon

dpkg-gensymbols: warning: some symbols disappeared in the symbols file: see diff output below
dpkg-gensymbols: warning: debian/libidn11/DEBIAN/symbols doesn't match completely debian/libidn11.symbols
--- debian/libidn11.symbols (libidn11 i386)
+++ dpkg-gensymbolsAFMNcV	2010-01-22 07:35:18.000000000 +0000
@@ -25,7 +25,7 @@
  stringprep_check_version@LIBIDN_1.0 1.13
  stringprep_convert@LIBIDN_1.0 1.13
  stringprep_iscsi@LIBIDN_1.0 1.13
- stringprep_iscsi_prohibit@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_iscsi_prohibit@LIBIDN_1.0 1.13
  stringprep_kerberos5@LIBIDN_1.0 1.13
  stringprep_locale_charset@LIBIDN_1.0 1.13
  stringprep_locale_to_utf8@LIBIDN_1.0 1.13
@@ -33,25 +33,25 @@
  stringprep_plain@LIBIDN_1.0 1.13
  stringprep_profile@LIBIDN_1.0 1.13
  stringprep_profiles@LIBIDN_1.0 1.13
- stringprep_rfc3454_A_1@LIBIDN_1.0 1.13
- stringprep_rfc3454_B_1@LIBIDN_1.0 1.13
- stringprep_rfc3454_B_2@LIBIDN_1.0 1.13
- stringprep_rfc3454_B_3@LIBIDN_1.0 1.13
- stringprep_rfc3454_C_1_1@LIBIDN_1.0 1.13
- stringprep_rfc3454_C_1_2@LIBIDN_1.0 1.13
- stringprep_rfc3454_C_2_1@LIBIDN_1.0 1.13
- stringprep_rfc3454_C_2_2@LIBIDN_1.0 1.13
- stringprep_rfc3454_C_3@LIBIDN_1.0 1.13
- stringprep_rfc3454_C_4@LIBIDN_1.0 1.13
- stringprep_rfc3454_C_5@LIBIDN_1.0 1.13
- stringprep_rfc3454_C_6@LIBIDN_1.0 1.13
- stringprep_rfc3454_C_7@LIBIDN_1.0 1.13
- stringprep_rfc3454_C_8@LIBIDN_1.0 1.13
- stringprep_rfc3454_C_9@LIBIDN_1.0 1.13
- stringprep_rfc3454_D_1@LIBIDN_1.0 1.13
- stringprep_rfc3454_D_2@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_A_1@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_B_1@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_B_2@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_B_3@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_C_1_1@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_C_1_2@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_C_2_1@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_C_2_2@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_C_3@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_C_4@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_C_5@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_C_6@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_C_7@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_C_8@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_C_9@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_D_1@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_rfc3454_D_2@LIBIDN_1.0 1.13
  stringprep_saslprep@LIBIDN_1.0 1.13
- stringprep_saslprep_space_map@LIBIDN_1.0 1.13
+#MISSING: 1.16-1# stringprep_saslprep_space_map@LIBIDN_1.0 1.13
  stringprep_strerror@LIBIDN_1.0 1.13
  stringprep_trace@LIBIDN_1.0 1.13
  stringprep_ucs4_nfkc_normalize@LIBIDN_1.0 1.13
dh_makeshlibs: dpkg-gensymbols -plibidn11 -Idebian/libidn11.symbols -Pdebian/libidn11 -c4 returned exit code 1
make: *** [binary-arch] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
E: Failed autobuilding of package




Added tag(s) help. Request was from Simon Josefsson <simon@josefsson.org> to control@bugs.debian.org. (Fri, 22 Jan 2010 07:42:12 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 22 Jan 2010 11:54:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to md@Linux.IT (Marco d'Itri):
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 22 Jan 2010 11:54:03 GMT) Full text and rfc822 format available.

Message #51 received at 561291@bugs.debian.org (full text, mbox):

From: md@Linux.IT (Marco d'Itri)
To: Simon Josefsson <simon@josefsson.org>
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 22 Jan 2010 12:51:18 +0100
[Message part 1 (text/plain, inline)]
On Jan 22, Simon Josefsson <simon@josefsson.org> wrote:

> Btw, is the intention that libidn11.shlibs should be empty, or that the
> file should be removed?  I couldn't really tell from the diff you
It must be removed.

> Oh, I see what you mean now.  I get the build failure below when trying
> to build the archive with my modified symbols file.  I don't understand
> the error -- the indicated symbols are real variables in the library and
> must be available in the debian package for things to work as intended.
The error means that the symbols are actually not in the library.
nm -D /usr/lib/libidn.so | grep rfc3454 on my system confirms it.

-- 
ciao,
Marco
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Wed, 03 Feb 2010 08:42:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Wed, 03 Feb 2010 08:42:04 GMT) Full text and rfc822 format available.

Message #56 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Wed, 03 Feb 2010 09:32:56 +0100
tags 561291 upstream
thanks

Debugging this further, I see that there is a upstream bug here.  I've
explained the problem and proposed a solution at:

http://thread.gmane.org/gmane.comp.gnu.libidn.general/230

What do you think?

After a upstream release with that fix has been added, I propose to
upload a new debian package with the proper .symbols file.

/Simon




Added tag(s) upstream. Request was from Simon Josefsson <simon@josefsson.org> to control@bugs.debian.org. (Wed, 03 Feb 2010 08:42:07 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Wed, 03 Feb 2010 17:48:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Wed, 03 Feb 2010 17:48:03 GMT) Full text and rfc822 format available.

Message #63 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: help-libidn@gnu.org, "Marco d'Itri" <md@linux.it>, 561291@bugs.debian.org
Subject: Re: Symbol versioning bug
Date: Wed, 03 Feb 2010 18:44:09 +0100
I have created a pre-release of 1.17 with my suggested fix:

http://daily.josefsson.org/libidn/libidn-20100203.tar.gz

It builds fine using the debian libidn package stuff from CVS:

cvs -d :pserver:anonymous@cvs.savannah.gnu.org:/sources/libidn co debian-libidn

No lintian warnings (except for the expected 3.8.3 vs 3.8.4 problem).

I'll be away the entire next week, so I plan to release this on Friday
if I haven't heard any objections. I'd appreciate quick review if this
is looking OK.

/Simon




Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 11:18:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 11:18:03 GMT) Full text and rfc822 format available.

Message #68 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: md@Linux.IT (Marco d'Itri)
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 05 Feb 2010 12:15:30 +0100
md@Linux.IT (Marco d'Itri) writes:

> The problem is that this is not enough to make the built binaries work
> on stable again[1] because upstream gratuitously broke the ABI in 1.13
> by versioning the symbols and now it is too late to revert the change.

The symbols are the same, so the ABI should be both forward and
backwards compatible.  See my discussion about a similar issue in:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=542512#45

Do you see any problem there?

> I suppose that there is some way to generate both versioned and
> unversioned symbols with appropriate linker magic, but I have not been
> able to do it.

That happens by default.  Tools linked with versioned libraries will get
a warning with (dynamically) linked to un-versioned libraries, though,
but that is not really an ABI issue as far as I can tell.  It is a
problem in the binary that is linked to libgsasl.

I'll release upstream libidn 1.17 as an alpha release and upload it to
experimental today -- if there is no concerns with it, I'll announce
1.17 as a real release and upload to unstable when I return from
vacation.  This should give you (and others) time to look into this
further.

/Simon




Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 11:27:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to md@Linux.IT (Marco d'Itri):
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 11:27:03 GMT) Full text and rfc822 format available.

Message #73 received at 561291@bugs.debian.org (full text, mbox):

From: md@Linux.IT (Marco d'Itri)
To: Simon Josefsson <simon@josefsson.org>
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 5 Feb 2010 12:25:00 +0100
[Message part 1 (text/plain, inline)]
On Feb 05, Simon Josefsson <simon@josefsson.org> wrote:

> > The problem is that this is not enough to make the built binaries work
> > on stable again[1] because upstream gratuitously broke the ABI in 1.13
> > by versioning the symbols and now it is too late to revert the change.
> The symbols are the same, so the ABI should be both forward and
> backwards compatible.  See my discussion about a similar issue in:
They are not the same, since the old ones are unversioned.
I know well that "it's just a warning", but the warning means that
distributions now must treat this as an ABI change and binaries built
with new new library must depend on it.
Since having programs spewing warnings on startup is bad and will often
also break things (think e.g. a daemon run by inetd), for all practical
purposes you effectively broke the ABI (and without any benefit even!).

> > I suppose that there is some way to generate both versioned and
> > unversioned symbols with appropriate linker magic, but I have not been
> > able to do it.
> That happens by default.  Tools linked with versioned libraries will get
It does not, or we could link programs and libraries with unversioned
symbols and forget about versioned symbols until they will actually be
needed.

> a warning with (dynamically) linked to un-versioned libraries, though,
> but that is not really an ABI issue as far as I can tell.  It is a
> problem in the binary that is linked to libgsasl.
This happens with everything, not only libraries.

-- 
ciao,
Marco
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 11:39:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 11:39:02 GMT) Full text and rfc822 format available.

Message #78 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: md@Linux.IT (Marco d'Itri)
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 05 Feb 2010 12:37:31 +0100
md@Linux.IT (Marco d'Itri) writes:

> On Feb 05, Simon Josefsson <simon@josefsson.org> wrote:
>
>> > The problem is that this is not enough to make the built binaries work
>> > on stable again[1] because upstream gratuitously broke the ABI in 1.13
>> > by versioning the symbols and now it is too late to revert the change.
>> The symbols are the same, so the ABI should be both forward and
>> backwards compatible.  See my discussion about a similar issue in:
> They are not the same, since the old ones are unversioned.

Resolving the symbol 'foo' works the same, doesn't it?

See my walk-through in
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=542512#45

> I know well that "it's just a warning", but the warning means that
> distributions now must treat this as an ABI change and binaries built
> with new new library must depend on it.

Yes, that is required but it is not due to an ABI change in the library
as far as I can see.  I believe the issue is with the binary linked to
the library, not in the library.

The reason this becomes problematic is because the warning is printed to
stdout/stderr.

> Since having programs spewing warnings on startup is bad and will
> often also break things (think e.g. a daemon run by inetd), for all
> practical purposes you effectively broke the ABI (and without any
> benefit even!).

It is not the library that prints the warning -- it is the dynamic
linker.  In a way, the ABI that an application expects is broken by the
dynamic linker, not by the library.

Maybe we could bring this up with the maintainer of the code that prints
the warning?

>> > I suppose that there is some way to generate both versioned and
>> > unversioned symbols with appropriate linker magic, but I have not been
>> > able to do it.
>> That happens by default.  Tools linked with versioned libraries will get
> It does not

How so?  I believe my #45 messages demonstrates that a versioned library
exports the unversioned symbols too.  But I may be missing something.

> or we could link programs and libraries with unversioned symbols and
> forget about versioned symbols until they will actually be needed.

We could, if the dynamic linker didn't warn about this.

>> a warning with (dynamically) linked to un-versioned libraries, though,
>> but that is not really an ABI issue as far as I can tell.  It is a
>> problem in the binary that is linked to libgsasl.
> This happens with everything, not only libraries.

Sure, but it matters where things are fixed: if the problem is not in
the library, the fix belongs in the applications.  They need to depend
on a newer version of the library.

/Simon




Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 11:45:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 11:45:03 GMT) Full text and rfc822 format available.

Message #83 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: help-libidn@gnu.org
Cc: "Marco d'Itri" <md@linux.it>, 561291@bugs.debian.org
Subject: Re: Symbol versioning bug
Date: Fri, 05 Feb 2010 12:43:23 +0100
I have pre-released 1.17, available from:

http://alpha.gnu.org/gnu/libidn/libidn-1.17.tar.gz
http://alpha.gnu.org/gnu/libidn/libidn-1.17.tar.gz.sig

I've also uploaded it to debian experimental.

/Simon




Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 11:51:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 11:51:02 GMT) Full text and rfc822 format available.

Message #88 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: help-libidn@gnu.org
Cc: 561291@bugs.debian.org, "Marco d'Itri" <md@linux.it>
Subject: Re: Symbol versioning bug
Date: Fri, 05 Feb 2010 12:49:27 +0100
Simon Josefsson <simon@josefsson.org> writes:

> I have pre-released 1.17, available from:

The NEWS blurb is below.  I'll wait with making this a ftp.gnu.org
release until this issue has been more thoroughly understood...

/Simon

* Version 1.17 (released 2010-02-05)

** Fix symbol export problem for a few variables.
Applications (that use these rarely used variables) built against
versions before 1.13 did not work with libidn versions 1.13 to 1.16.

Symbol versioning was introduced in version 1.13 but by accident some
symbols that were visible before that release were not exported, and
the consequence was that those symbols were not available in version
1.13 to 1.16.  This release fixes the problem, so the symbols are
visible again, making this release backwards compatible with all
earlier releases.

The affected symbols are the following variables:
stringprep_iscsi_prohibit, stringprep_rfc3454_A_1,
stringprep_rfc3454_B_1, stringprep_rfc3454_B_2,
stringprep_rfc3454_B_3, stringprep_rfc3454_C_1_1,
stringprep_rfc3454_C_1_2, stringprep_rfc3454_C_2_1,
stringprep_rfc3454_C_2_2, stringprep_rfc3454_C_3,
stringprep_rfc3454_C_4, stringprep_rfc3454_C_5,
stringprep_rfc3454_C_6, stringprep_rfc3454_C_7,
stringprep_rfc3454_C_8, stringprep_rfc3454_C_9,
stringprep_rfc3454_D_1, stringprep_rfc3454_D_2,
stringprep_saslprep_space_map.

Thanks to Marco d'Itri <md@linux.it> for reporting
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561291> that led to
discovering this problem.

** Really fix the link error of self-tests on MinGW.

** API and ABI is backwards compatible with the previous version.




Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 11:54:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to md@Linux.IT (Marco d'Itri):
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 11:54:03 GMT) Full text and rfc822 format available.

Message #93 received at 561291@bugs.debian.org (full text, mbox):

From: md@Linux.IT (Marco d'Itri)
To: Simon Josefsson <simon@josefsson.org>
Cc: help-libidn@gnu.org, 561291@bugs.debian.org
Subject: Re: Symbol versioning bug
Date: Fri, 5 Feb 2010 12:43:05 +0100
[Message part 1 (text/plain, inline)]
On Feb 03, Simon Josefsson <simon@josefsson.org> wrote:

> I'll be away the entire next week, so I plan to release this on Friday
> if I haven't heard any objections. I'd appreciate quick review if this
> is looking OK.
I do not understand why you introduced the LIBIDN_1.17 version tag, the
ABI does not have two different versions of these symbols which require
a version tag to distinguish them.
If you really want to pretend that the symbols never existed before
release 1.17 then you just add them along the others and declare an ABI
change: now packages using libidn built by distributions will either
depend on release >= 1.17 or use .symbols files like Debian does to
determine the exact version of libidn the package being built needs to
depend on.

-- 
ciao,
Marco
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 11:54:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to md@Linux.IT (Marco d'Itri):
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 11:54:05 GMT) Full text and rfc822 format available.

Message #98 received at 561291@bugs.debian.org (full text, mbox):

From: md@Linux.IT (Marco d'Itri)
To: Simon Josefsson <simon@josefsson.org>
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 5 Feb 2010 12:49:54 +0100
[Message part 1 (text/plain, inline)]
On Feb 05, Simon Josefsson <simon@josefsson.org> wrote:

> >> > The problem is that this is not enough to make the built binaries work
> >> > on stable again[1] because upstream gratuitously broke the ABI in 1.13
> >> > by versioning the symbols and now it is too late to revert the change.
> >> The symbols are the same, so the ABI should be both forward and
> >> backwards compatible.  See my discussion about a similar issue in:
> > They are not the same, since the old ones are unversioned.
> Resolving the symbol 'foo' works the same, doesn't it?
Yes, but you keep ignoring my point that the linker prints a warning.

> > I know well that "it's just a warning", but the warning means that
> > distributions now must treat this as an ABI change and binaries built
> > with new new library must depend on it.
> Yes, that is required but it is not due to an ABI change in the library
> as far as I can see.  I believe the issue is with the binary linked to
If binaries compiled with a newer library do not work (and the linker
printing a warning means that they do not work for Debian's purposes)
with an older library then you really changed the ABI.

> The reason this becomes problematic is because the warning is printed to
> stdout/stderr.
Yes, it makes the binaries useless on older systems.

> > Since having programs spewing warnings on startup is bad and will
> > often also break things (think e.g. a daemon run by inetd), for all
> > practical purposes you effectively broke the ABI (and without any
> > benefit even!).
> It is not the library that prints the warning -- it is the dynamic
> linker.  In a way, the ABI that an application expects is broken by the
> dynamic linker, not by the library.
> 
> Maybe we could bring this up with the maintainer of the code that prints
> the warning?
WTF? The linker warning is there for a purpose, because library
maintainers do not try to do what you did and so when a symbol is
suddenly unversioned probably there is a real bug.
It's clear that the libc maintainers will never accept to remove the
warning so I do not understand why you keep trying to shift the blame.

> Sure, but it matters where things are fixed: if the problem is not in
> the library, the fix belongs in the applications.  They need to depend
> on a newer version of the library.
Which means that you changed the ABI, my point.

-- 
ciao,
Marco
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 12:03:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 12:03:03 GMT) Full text and rfc822 format available.

Message #103 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: md@Linux.IT (Marco d'Itri)
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 05 Feb 2010 13:00:13 +0100
md@Linux.IT (Marco d'Itri) writes:

> On Feb 05, Simon Josefsson <simon@josefsson.org> wrote:
>
>> >> > The problem is that this is not enough to make the built binaries work
>> >> > on stable again[1] because upstream gratuitously broke the ABI in 1.13
>> >> > by versioning the symbols and now it is too late to revert the change.
>> >> The symbols are the same, so the ABI should be both forward and
>> >> backwards compatible.  See my discussion about a similar issue in:
>> > They are not the same, since the old ones are unversioned.
>> Resolving the symbol 'foo' works the same, doesn't it?
> Yes, but you keep ignoring my point that the linker prints a warning.

I'm not ignoring that, but it is not something I can fix.

>> > I know well that "it's just a warning", but the warning means that
>> > distributions now must treat this as an ABI change and binaries built
>> > with new new library must depend on it.
>> Yes, that is required but it is not due to an ABI change in the library
>> as far as I can see.  I believe the issue is with the binary linked to
> If binaries compiled with a newer library do not work (and the linker
> printing a warning means that they do not work for Debian's purposes)
> with an older library then you really changed the ABI.

That isn't clear to me.  I'm not convinced incrementing the shared
library version is the right response to silence a warning printed by
the dynamic linker.

>> The reason this becomes problematic is because the warning is printed to
>> stdout/stderr.
> Yes, it makes the binaries useless on older systems.

And the direct cause for that is the dynamic linker warning.

>> > Since having programs spewing warnings on startup is bad and will
>> > often also break things (think e.g. a daemon run by inetd), for all
>> > practical purposes you effectively broke the ABI (and without any
>> > benefit even!).
>> It is not the library that prints the warning -- it is the dynamic
>> linker.  In a way, the ABI that an application expects is broken by the
>> dynamic linker, not by the library.
>> 
>> Maybe we could bring this up with the maintainer of the code that prints
>> the warning?
> WTF? The linker warning is there for a purpose, because library
> maintainers do not try to do what you did and so when a symbol is
> suddenly unversioned probably there is a real bug.

Yes, in the binary that is linked to that library.

> It's clear that the libc maintainers will never accept to remove the
> warning so I do not understand why you keep trying to shift the blame.

I'm just looking for ideas on what do here.  Are you suggesting that
libidn upstream should increment the shared library version to resolve
this?

>> Sure, but it matters where things are fixed: if the problem is not in
>> the library, the fix belongs in the applications.  They need to depend
>> on a newer version of the library.
> Which means that you changed the ABI, my point.

As far as I could tell with my experiment, the ABI hasn't changed.

/Simon




Reply sent to Simon Josefsson <simon@josefsson.org>:
You have taken responsibility. (Fri, 05 Feb 2010 12:06:03 GMT) Full text and rfc822 format available.

Notification sent to Marco d'Itri <md@linux.it>:
Bug acknowledged by developer. (Fri, 05 Feb 2010 12:06:03 GMT) Full text and rfc822 format available.

Message #108 received at 561291-close@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: 561291-close@bugs.debian.org
Subject: Bug#561291: fixed in libidn 1.17-1
Date: Fri, 05 Feb 2010 12:02:13 +0000
Source: libidn
Source-Version: 1.17-1

We believe that the bug you reported is fixed in the latest version of
libidn, which is due to be installed in the Debian FTP archive:

idn_1.17-1_i386.deb
  to main/libi/libidn/idn_1.17-1_i386.deb
libidn11-dev_1.17-1_i386.deb
  to main/libi/libidn/libidn11-dev_1.17-1_i386.deb
libidn11-java_1.17-1_all.deb
  to main/libi/libidn/libidn11-java_1.17-1_all.deb
libidn11_1.17-1_i386.deb
  to main/libi/libidn/libidn11_1.17-1_i386.deb
libidn_1.17-1.diff.gz
  to main/libi/libidn/libidn_1.17-1.diff.gz
libidn_1.17-1.dsc
  to main/libi/libidn/libidn_1.17-1.dsc
libidn_1.17.orig.tar.gz
  to main/libi/libidn/libidn_1.17.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 561291@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Simon Josefsson <simon@josefsson.org> (supplier of updated libidn package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Fri, 22 Jan 2010 08:28:34 +0100
Source: libidn
Binary: idn libidn11-dev libidn11 libidn11-java
Architecture: source i386 all
Version: 1.17-1
Distribution: experimental
Urgency: low
Maintainer: Anibal Monsalve Salazar <anibal@debian.org>
Changed-By: Simon Josefsson <simon@josefsson.org>
Description: 
 idn        - Command line and Emacs interface to GNU Libidn
 libidn11   - GNU Libidn library, implementation of IETF IDN specifications
 libidn11-dev - Development files for GNU Libidn, an IDN library
 libidn11-java - Java port of the GNU Libidn library, an IDN implementation
Closes: 561291
Changes: 
 libidn (1.17-1) experimental; urgency=low
 .
   [ Simon Josefsson ]
   * New upstream version.
   * Upgrade to standards version 3.8.4.
   * Run 'make check' when building libidn to make sure the build is sane.
   * Use 'gcj-jdk' instead of 'jdk' as build-depends.
 .
   [ Marco d'Itri  ]
   * Added a .symbols file. (Closes: #561291)
   * Don't build-depend on fastjar on architectures without gcj.
Checksums-Sha1: 
 cb2d1e28db1a55086e731cd37be8b5e9a90541fc 1523 libidn_1.17-1.dsc
 803d5b043b1a5d44aea8bc341e62088352a69ba2 2974969 libidn_1.17.orig.tar.gz
 e6a3e47f6d5d960096cb1f4615473584362a8b10 8967 libidn_1.17-1.diff.gz
 f96d07f53a2d208c654cde9c562e2583fb25812f 110782 idn_1.17-1_i386.deb
 fae87c7cd51f53d106e07c6a546ba6f6064b1cc0 734214 libidn11-dev_1.17-1_i386.deb
 7ce528bbbbbbf7fc7cad44ffb294dcad470d1111 162024 libidn11_1.17-1_i386.deb
 fd92b7f6669f00d8820ffa0c6c3561118b451abe 216398 libidn11-java_1.17-1_all.deb
Checksums-Sha256: 
 9475aaf7d03ebbaa5de9e09a71223d020f3783cf3ebad1cc5b76b90614a165f9 1523 libidn_1.17-1.dsc
 258b3ba9a6f43b2a60589d317e39f0f7cd9ad4b57fbc3f6306174df3a2d5c2db 2974969 libidn_1.17.orig.tar.gz
 b2caa1940619c41c0ab0ef023d01baf5ff33a9034a2d783a137b84a813eadf4f 8967 libidn_1.17-1.diff.gz
 df573776e37149dd63770dcd68ed3ce51f3e43921df76553bfc94399646edcd2 110782 idn_1.17-1_i386.deb
 635d91ec3eb35f89ee9553694a0f8445454d0a28855c0d857ef9a87885fff1e8 734214 libidn11-dev_1.17-1_i386.deb
 b2a4155e64f7b20c31d1f0743496b8e7ba92458b3476b43a3bc67163728497b6 162024 libidn11_1.17-1_i386.deb
 832ee9ffd351c6bca89c3dd9295c16b931edcd0bfec53c28cefbba67a2491147 216398 libidn11-java_1.17-1_all.deb
Files: 
 266773d2aee5415b72a596b3a38ae799 1523 libs optional libidn_1.17-1.dsc
 fd00cae8c0d6516d6b2bd2049dfd1ec2 2974969 libs optional libidn_1.17.orig.tar.gz
 f5c4c396d33854b9808f6e2612118258 8967 libs optional libidn_1.17-1.diff.gz
 67d54fc2589efeb89c51e463edd80d0f 110782 misc optional idn_1.17-1_i386.deb
 02912bfee522bbc2a4a27d3dc9d76730 734214 libdevel optional libidn11-dev_1.17-1_i386.deb
 ce5b535a74c0fb790ab83968f3921b93 162024 libs standard libidn11_1.17-1_i386.deb
 ce0a58894638de9241d855b2e0103fa8 216398 java optional libidn11-java_1.17-1_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iOoEAQECADQFAktsA8stFIAAAAAAFQAPcGthLWFkZHJlc3NAZ251cGcub3JnamFz
QGV4dHVuZG8uY29tAAoJEO2iHpS1ZXFvpg0E/0cPHc2A5bpV2XW8R/ESY5J+HGro
s7WWdDvBrpU2192FAdININhMs5F3YYnnbMIXJi+HbHIzbL2Scyo9cGg86sZaq/dE
fCkPcGgoTiJF4KknnG32OkJybTiR+gb0DY601eUZFTIv+BE6WUSrXDG9SBbdOqEw
B7PDI2EId+ZRaTBiEcf7j3R4XzmDn/cTThIz4+RtxT9yyCR/8s715apAEpk=
=QTPf
-----END PGP SIGNATURE-----





Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 12:12:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to md@Linux.IT (Marco d'Itri):
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 12:12:03 GMT) Full text and rfc822 format available.

Message #113 received at 561291@bugs.debian.org (full text, mbox):

From: md@Linux.IT (Marco d'Itri)
To: Simon Josefsson <simon@josefsson.org>
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 5 Feb 2010 13:09:55 +0100
[Message part 1 (text/plain, inline)]
On Feb 05, Simon Josefsson <simon@josefsson.org> wrote:

> I'm just looking for ideas on what do here.  Are you suggesting that
> libidn upstream should increment the shared library version to resolve
> this?
It's not, the solution would be to make the linker also emit unversioned
symbols and have them appear as the default ones so binaries will be
linked to these instead of the versioned ones.
But I have been unable to implement this.

The problem is that *you broke the ABI* and there is nothing else you
can do about it now since the versioned symbols cannot just be removed
now that other packages use them.

-- 
ciao,
Marco
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 12:18:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 12:18:03 GMT) Full text and rfc822 format available.

Message #118 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: md@Linux.IT (Marco d'Itri)
Cc: 561291@bugs.debian.org, help-libidn@gnu.org
Subject: Re: Bug#561291: Symbol versioning bug
Date: Fri, 05 Feb 2010 13:12:00 +0100
md@Linux.IT (Marco d'Itri) writes:

> On Feb 03, Simon Josefsson <simon@josefsson.org> wrote:
>
>> I'll be away the entire next week, so I plan to release this on Friday
>> if I haven't heard any objections. I'd appreciate quick review if this
>> is looking OK.
> I do not understand why you introduced the LIBIDN_1.17 version tag, the
> ABI does not have two different versions of these symbols which require
> a version tag to distinguish them.
> If you really want to pretend that the symbols never existed before
> release 1.17 then you just add them along the others and declare an ABI
> change

No, what I'd like to achieve is to make the 1.17 release backwards
compatible with versions =< 1.13 (which did export these symbols), and
treat the forgotten symbols as newly added in libidn 1.17 as far as
versioned symbols is related.

What are you suggesting should be done instead?  Keep them under the old
LIBIDN_1.0 version tag?  That would work too, I think.

/Simon




Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 12:18:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to md@Linux.IT (Marco d'Itri):
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 12:18:05 GMT) Full text and rfc822 format available.

Message #123 received at 561291@bugs.debian.org (full text, mbox):

From: md@Linux.IT (Marco d'Itri)
To: Simon Josefsson <simon@josefsson.org>
Cc: 561291@bugs.debian.org, help-libidn@gnu.org
Subject: Re: Bug#561291: Symbol versioning bug
Date: Fri, 5 Feb 2010 13:13:28 +0100
[Message part 1 (text/plain, inline)]
On Feb 05, Simon Josefsson <simon@josefsson.org> wrote:

> What are you suggesting should be done instead?  Keep them under the old
> LIBIDN_1.0 version tag?  That would work too, I think.
Yes.

-- 
ciao,
Marco
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 12:24:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 12:24:03 GMT) Full text and rfc822 format available.

Message #128 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: md@Linux.IT (Marco d'Itri)
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 05 Feb 2010 13:20:16 +0100
md@Linux.IT (Marco d'Itri) writes:

> On Feb 05, Simon Josefsson <simon@josefsson.org> wrote:
>
>> I'm just looking for ideas on what do here.  Are you suggesting that
>> libidn upstream should increment the shared library version to resolve
>> this?
> It's not, the solution would be to make the linker also emit unversioned
> symbols and have them appear as the default ones so binaries will be
> linked to these instead of the versioned ones.
> But I have been unable to implement this.

Me too.  I'm not sure that is even possible, quoting
http://people.redhat.com/drepper/symbol-versioning:

  The implementation allows every DSO to either use versions for their
  symbols or not.  Depending on whether the DSO an object is linked
  against had symbols or not, the reference to the DSO requires symbols
  or not.

Possibly the two last "symbols" should be "versions", or else I cannot
parse it.

> The problem is that *you broke the ABI* and there is nothing else you
> can do about it now since the versioned symbols cannot just be removed
> now that other packages use them.

1) So what should be done now?  Is 1.17 fine?

2) What should have been done from the beginning?  Increment the shared
library version?

/Simon




Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 12:27:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 12:27:02 GMT) Full text and rfc822 format available.

Message #133 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: md@Linux.IT (Marco d'Itri)
Cc: 561291@bugs.debian.org, help-libidn@gnu.org
Subject: Re: Bug#561291: Symbol versioning bug
Date: Fri, 05 Feb 2010 13:22:28 +0100
md@Linux.IT (Marco d'Itri) writes:

> On Feb 05, Simon Josefsson <simon@josefsson.org> wrote:
>
>> What are you suggesting should be done instead?  Keep them under the old
>> LIBIDN_1.0 version tag?  That would work too, I think.
> Yes.

I think that makes more sense too.  I'll revert this part and prepare
version 1.18 when I'm back from vacation.

/Simon




Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 12:27:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to md@Linux.IT (Marco d'Itri):
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 12:27:04 GMT) Full text and rfc822 format available.

Message #138 received at 561291@bugs.debian.org (full text, mbox):

From: md@Linux.IT (Marco d'Itri)
To: Simon Josefsson <simon@josefsson.org>
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 5 Feb 2010 13:24:46 +0100
[Message part 1 (text/plain, inline)]
On Feb 05, Simon Josefsson <simon@josefsson.org> wrote:

> 1) So what should be done now?  Is 1.17 fine?
I recommend that you remove the new symbol tag since it has no useful
purpose.

> 2) What should have been done from the beginning?  Increment the shared
> library version?
No, you should not have added versioning because there was no need for
it and now the library is not backward compatible.

-- 
ciao,
Marco
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Anibal Monsalve Salazar <anibal@debian.org>:
Bug#561291; Package libidn11-dev. (Fri, 05 Feb 2010 12:48:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon@josefsson.org>:
Extra info received and forwarded to list. Copy sent to Anibal Monsalve Salazar <anibal@debian.org>. (Fri, 05 Feb 2010 12:48:07 GMT) Full text and rfc822 format available.

Message #143 received at 561291@bugs.debian.org (full text, mbox):

From: Simon Josefsson <simon@josefsson.org>
To: md@Linux.IT (Marco d'Itri)
Cc: 561291@bugs.debian.org
Subject: Re: Bug#561291: please provide a .symbols file
Date: Fri, 05 Feb 2010 13:46:11 +0100
md@Linux.IT (Marco d'Itri) writes:

> On Feb 05, Simon Josefsson <simon@josefsson.org> wrote:
>
>> 1) So what should be done now?  Is 1.17 fine?
> I recommend that you remove the new symbol tag since it has no useful
> purpose.

Agreed, will do.

>> 2) What should have been done from the beginning?  Increment the shared
>> library version?
> No, you should not have added versioning because there was no need for
> it and now the library is not backward compatible.

I read that as saying that if one really wants to introduce versioned
symbols to a library, incrementing the shared library version is
required, and that only to avoid a warning printed by glibc's rtld.  I
think that is unfortunate, and it will lead to less libraries switching
to symbol versioning.

/Simon




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 07 Mar 2011 10:20:04 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Apr 17 13:38:43 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.