List Info

Thread: -version-number and BeOS




-version-number and BeOS
user name
2006-05-14 07:21:30
Hello John, Christian, everyone,

Sorry for the huge delay.

* John Bowler wrote on Fri, Mar 31, 2006 at 09:15:42PM CEST:
> From: Christian Biesinger
> >libtool: link: CURRENT `' must be a nonnegative
integer
> >libtool: link: `0:9:0' is not valid version
information
> >make[1]: *** [libpng12.la] Error 1

> >The cause of this problem seems to be this:
> >For BeOS, version_type=none. But, the code in
ltmain.sh around line 3236 
> >does not handle a value of none. Only for the
specific list of cases 
> >does it assign a value to current, age and
revision.
> 
> Yes, we found a similar problem with irix and I patched
ltmain.sh
> to fix this (ltmain.sh is shipped with the package, so
patching it
> works):

OK, I looked at this again.  My previous analysis was plain
wrong.
I've installed the attached patches to branch-1-5 and HEAD,
respectively.

What I still don't understand is the following additional
change you
also suggest:

> $ diff libpng-1.2.9beta7/ltmain.sh libpng-1.2.9beta11
> 3248c3248
> <           current=`expr $number_major +
$number_minor - 1`
> ---
> >           current=`expr $number_major +
$number_minor`
> 3323c3323
> <         major=`expr $current - $age + 1`
> ---
> >         major=`expr $current - $age`

There is a comment above this code that explains why this
should be
necessary, no?

> For BeOS try adding 'none' to the end of the test for
darwin|linux|osf|windows
> on line 3237 of ltmain.sh.  We can ship libpng with
that because it won't
> break anything which isn't already broken.  I.e:

Done.

Cheers, and thank you for your persistence!
Ralf

HEAD:
2005-05-14  John Bowler  <jbowleracm.org>

	* libltdl/config/ltmain.m4sh (func_mode_link): For
version_type
	`none', we still need to set `current', `age', and
`revision',
	so that our checks don't barf.  The values won't be used
later.
	Apparently reported by several people, several times, for
BeOS.
	* NEWS, THANKS: Update.

branch-1-5:
2005-05-14  John Bowler  <jbowleracm.org>

	* ltmain.in (link mode): For version_type `none', we still
need
	to set `current', `age', and `revision', so that our
checks
	don't barf.  The values won't be used later.  Apparently
	reported by several people, several times, for BeOS.
	* NEWS, THANKS: Update.
2005-05-14  John Bowler  <jbowleracm.org>

	* libltdl/config/ltmain.m4sh (func_mode_link): For
version_type
	`none', we still need to set `current', `age', and
`revision',
	so that our checks don't barf.  The values won't be used
later.
	Apparently reported by several people, several times, for
BeOS.
	* NEWS, THANKS: Update.

Index: NEWS
============================================================
=======
RCS file: /cvsroot/libtool/libtool/NEWS,v
retrieving revision 1.192
diff -u -r1.192 NEWS
--- NEWS	23 Mar 2006 22:39:41 -0000	1.192
+++ NEWS	14 May 2006 08:17:56 -0000
 -31,6
+31,8 
 * Support for Interix 3 (Windows SFU).
 * Basic support for PIE (position-independent executables).
 * Initial support for RDOS.
+* Fix error with -version-info on systems with
version_type=none, such
+  as BeOS.
 * Bug fixes.
 
 New in 1.9f: 2004-10-23; CVS version 1.9e, Libtool team:
Index: THANKS
============================================================
=======
RCS file: /cvsroot/libtool/libtool/THANKS,v
retrieving revision 1.55
diff -u -r1.55 THANKS
--- THANKS	23 Mar 2006 22:39:41 -0000	1.55
+++ THANKS	14 May 2006 08:17:56 -0000
 -74,6
+74,7 
   Bruno Haible			haibleilog.fr
   Carl D. Roth			rothcse.ucsc.edu
   Chris P. Ross			crosseng.us.uu.net
+  Christian Biesinger		cbiesingerweb.de
   Dalibor Topic			robiladkaffe.org
   Daniel Reed			nml.org
   DJ Delorie			djdelorie.com
 -90,6
+91,7 
   Jeremy C. Reed		reedreedmedia.net
   Joel N. Weber II		devnullgnu.org
   Joerg Sonnenberger		joergnetbsd.org
+  John Bowler			jbowleracm.org
   Joseph Beckenbach III		jrb3best.com
   Kenneth Albanowski		kjahdskjahds.com
   Kevin Ryde			user42zip.com.au
Index: libltdl/config/ltmain.m4sh
============================================================
=======
RCS file:
/cvsroot/libtool/libtool/libltdl/config/ltmain.m4sh,v
retrieving revision 1.42
diff -u -r1.42 ltmain.m4sh
--- libltdl/config/ltmain.m4sh	22 Apr 2006 18:57:04
-0000	1.42
+++ libltdl/config/ltmain.m4sh	14 May 2006 08:17:58 -0000
 -4299,7
+4299,7 
 	  # which has an extra 1 added just for fun
 	  #
 	  case $version_type in
-	  darwin|linux|osf|windows)
+	  darwin|linux|osf|windows|none)
 	    current=`expr $number_major + $number_minor`
 	    age="$number_minor"
 	    revision="$number_revision"
2005-05-14  John Bowler  <jbowleracm.org>

	* ltmain.in (link mode): For version_type `none', we still
need
	to set `current', `age', and `revision', so that our
checks
	don't barf.  The values won't be used later.  Apparently
	reported by several people, several times, for BeOS.
	* NEWS, THANKS: Update.

Index: NEWS
============================================================
=======
RCS file: /cvsroot/libtool/libtool/NEWS,v
retrieving revision 1.109.2.45
diff -u -r1.109.2.45 NEWS
--- NEWS	23 Mar 2006 22:40:21 -0000	1.109.2.45
+++ NEWS	14 May 2006 08:14:12 -0000
 -9,6
+9,8 
 * Let libltdl know that FreeBSD and DragonFly dlopen causes
dependent
   modules to be loaded.  This fixes excessive load times
for modules
   with large library dependency graphs.
+* Fix error with -version-info on systems with
version_type=none, such
+  as BeOS.
 * Bug Fixes.
 
 New in 1.5.22: 2005-12-18; CVS version 1.5.21a, Libtool
team:
Index: THANKS
============================================================
=======
RCS file: /cvsroot/libtool/libtool/THANKS,v
retrieving revision 1.34.2.18
diff -u -r1.34.2.18 THANKS
--- THANKS	23 Mar 2006 22:40:21 -0000	1.34.2.18
+++ THANKS	14 May 2006 08:14:12 -0000
 -74,6
+74,7 
   Bruno Haible			haibleilog.fr
   Carl D. Roth			rothcse.ucsc.edu
   Chris P. Ross			crosseng.us.uu.net
+  Christian Biesinger		cbiesingerweb.de
   Dalibor Topic			robiladkaffe.org
   Daniel Reed			nml.org
   DJ Delorie			djdelorie.com
 -90,6
+91,7 
   Jeremy C. Reed		reedreedmedia.net
   Joel N. Weber II		devnullgnu.org
   Joerg Sonnenberger		joergnetbsd.org
+  John Bowler			jbowleracm.org
   Joseph Beckenbach III		jrb3best.com
   Kenneth Albanowski		kjahdskjahds.com
   Kevin Ryde			user42zip.com.au
Index: ltmain.in
============================================================
=======
RCS file: /cvsroot/libtool/libtool/Attic/ltmain.in,v
retrieving revision 1.334.2.125
diff -u -r1.334.2.125 ltmain.in
--- ltmain.in	20 Mar 2006 20:41:11 -0000	1.334.2.125
+++ ltmain.in	14 May 2006 08:15:55 -0000
 -3224,7
+3224,7 
 	  # which has an extra 1 added just for fun
 	  #
 	  case $version_type in
-	  darwin|linux|osf|windows)
+	  darwin|linux|osf|windows|none)
 	    current=`expr $number_major + $number_minor`
 	    age="$number_minor"
 	    revision="$number_revision"
-version-number and BeOS
user name
2006-05-17 02:17:21
From: Ralf Wildenhues
>What I still don't understand is the following
additional change you
also suggest:
>
>> $ diff libpng-1.2.9beta7/ltmain.sh
libpng-1.2.9beta11 3248c3248
>> <           current=`expr $number_major +
$number_minor - 1`
>> ---
>> >           current=`expr $number_major +
$number_minor`
>> 3323c3323
>> <         major=`expr $current - $age + 1`
>> ---
>> >         major=`expr $current - $age`
>
>There is a comment above this code that explains why
this should be
necessary, no?

This is the irix/nonstopux case, I don't think there is any
comment; I
wasn't
able to find any explanation of why the irix case adds 1 to
get the
major
version number.  I did notice the comment for the first case
which says:

'then there is irix which has an extra 1 added just for
fun'

That's clearly a reference to the second case adding of 1,
not a
reference to whatever irix behaviour the second piece of
code is trying
to accommodate.

The issue here is that libpng on irix has (currently) a
major version
number of '0', as it does on all other operating systems. 
So we need to
be able to set the major version number to 0 (currently
impossible
because
ltmain.sh objects to the value of '-1' for current) and,
ideally we
don't
want to do OS specific stuff in configure to fix up the
arguments to
libtool
for irix...  That would defeat the point of libtool.

Well, there is obviously something weird going on on IRIX. 
libpng has
worked
on IRIX for a long time, but maybe not with shared
libraries.  Still it
seems
weird that libtool should make a major version number of 0
impossible
and not
offer any explanation of what is going on.

John Bowler <jbowleracm.org>



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web
services, security?
Get stuff done quickly with pre-integrated technology to
make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on
Apache Geronimo
http://sel.as-us.falkag.net/
sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
png-mng-implement mailing list
png-mng-implementlists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/png-m
ng-implement
[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )