Re: verbose test output (was: MSVC: Preloading in ltdl doesn't heed libname_spec.)
On Thu, 8 Jul 2010, Ralf Wildenhues wrote: I am thinking that the many test failures under Debian Linux are due to it using older tool versions such as Autoconf 2.61. Facts, not thinking, please. We cannot read your computer's mind. In this case, the thinking was correct. Many Debian tests are failing due to a demand for Autoconf 2.62 (which Debian stable does not supply). However, as if today, only 6 of 116 tests failed, which is a big improvement from a day ago. Also, as of today, for FreeBSD and OS-X "All tests behaved as expected", which is an improvement. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
verbose test output (was: MSVC: Preloading in ltdl doesn't heed libname_spec.)
Hello Bob, * Bob Friesenhahn wrote on Thu, Jul 08, 2010 at 06:34:46PM CEST: > On Tue, 6 Jul 2010, Ralf Wildenhues wrote: > >> > >>Perhaps things are not all that bad. While 35 of 110 tests fail > >>under Debian Linux, only these two extra are failing under FreeBSD, > >>OS-X, and Solaris: > >> > >>FAIL: tests/mdemo2-make.test > >>FAIL: tests/pdemo-make.test > > > >It would probably be even more helpful if you posted verbose test > >failure output (or excerpts), that would make assigning blame easier, > >I guess. > > Yes. And in fact it would be even better if the test suite always > produced/retained "verbose" output for failed tests so that the > information is always immediately available on demand. That *is* already the case for the new testsuite. It even tells you at the end where to find the file, and to send it. > The fact > that it does not should be considered to be a bug. For the old testsuite, it will be the case once I have finished the conversion to the Automake parallel-tests driver. No wait long but no time have right now. Gimme a couple of weekends. > I am thinking that the many test failures under Debian Linux are due > to it using older tool versions such as Autoconf 2.61. Facts, not thinking, please. We cannot read your computer's mind. Thanks! Ralf
Re: MSVC: Preloading in ltdl doesn't heed libname_spec.
On Tue, 6 Jul 2010, Ralf Wildenhues wrote: Perhaps things are not all that bad. While 35 of 110 tests fail under Debian Linux, only these two extra are failing under FreeBSD, OS-X, and Solaris: FAIL: tests/mdemo2-make.test FAIL: tests/pdemo-make.test It would probably be even more helpful if you posted verbose test failure output (or excerpts), that would make assigning blame easier, I guess. Yes. And in fact it would be even better if the test suite always produced/retained "verbose" output for failed tests so that the information is always immediately available on demand. The fact that it does not should be considered to be a bug. I am thinking that the many test failures under Debian Linux are due to it using older tool versions such as Autoconf 2.61. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
Re: MSVC: Preloading in ltdl doesn't heed libname_spec.
Hi Ralf, Den 2010-07-06 07:52 skrev Ralf Wildenhues: Hi Peter, any chance you could post your patches inline? Thanks. Will do in the future, I hope they will not end up wrapped though... * Peter Rosin wrote on Mon, Jul 05, 2010 at 02:45:28PM CEST: http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00152.html This is ok with nits below addressed, thanks. 72 hours have passed, no more comments so I'm pushing with nits taken care of. Cheers and thanks very much for reviewing, Peter
Re: MSVC: Preloading in ltdl doesn't heed libname_spec.
Howdy Bob, On 6 Jul 2010, at 13:19, Ralf Wildenhues wrote: > * Bob Friesenhahn wrote on Tue, Jul 06, 2010 at 06:48:56AM CEST: >> On Mon, 5 Jul 2010, Bob Friesenhahn wrote: >>> Yesterday's libtool was doing quite good with the tests but I am >>> seeing plenty of failures now for all Unixish targets. Even Linux >>> blows failures all over the place. Not to worry, it is likely >>> something simple. >> >> Perhaps things are not all that bad. While 35 of 110 tests fail >> under Debian Linux, only these two extra are failing under FreeBSD, >> OS-X, and Solaris: >> >> FAIL: tests/mdemo2-make.test >> FAIL: tests/pdemo-make.test You might want to run the new testsuite verbosely too for more context: make check TESTS= TESTSUITEFLAGS='-v' > It would probably be even more helpful if you posted verbose test > failure output (or excerpts), that would make assigning blame easier, > I guess. For the record, at this commit: 2010-07-05 Peter Rosin * tests/export.at [MSVC]: dllimport all imported variables. All tests behave as expected on Mac OS 10.6.3 (although I have no gcj or gfortran). Cheers, -- Gary V. Vaughan (g...@gnu.org)
Re: MSVC: Preloading in ltdl doesn't heed libname_spec.
Hi Bob, * Bob Friesenhahn wrote on Tue, Jul 06, 2010 at 06:48:56AM CEST: > On Mon, 5 Jul 2010, Bob Friesenhahn wrote: > >Yesterday's libtool was doing quite good with the tests but I am > >seeing plenty of failures now for all Unixish targets. Even Linux > >blows failures all over the place. Not to worry, it is likely > >something simple. > > Perhaps things are not all that bad. While 35 of 110 tests fail > under Debian Linux, only these two extra are failing under FreeBSD, > OS-X, and Solaris: > > FAIL: tests/mdemo2-make.test > FAIL: tests/pdemo-make.test It would probably be even more helpful if you posted verbose test failure output (or excerpts), that would make assigning blame easier, I guess. Cheers, Ralf
Re: MSVC: Preloading in ltdl doesn't heed libname_spec.
Hi Peter, any chance you could post your patches inline? Thanks. * Peter Rosin wrote on Mon, Jul 05, 2010 at 02:45:28PM CEST: > http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00152.html This is ok with nits below addressed, thanks. > Make preloading heed libname_spec. > > * libltdl/ltdl.c (libprefix): New static variable describing > the prefix of static archives. > (try_dlopen): Use libprefix. > * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static > archives to config.h. Please mention which test case is fixed on which system/compiler by this patch (the ones you know for sure). > --- a/libltdl/ltdl.c > +++ b/libltdl/ltdl.c > @@ -54,6 +54,10 @@ or obtained by writing to the Free Software Foundation, > Inc., > # define LT_LIBEXT "a" > #endif > > +#if !defined(LT_LIBPREFIX) > +# define LT_LIBPREFIX "lib" > +#endif > + > /* This is the maximum symbol size that won't require malloc/free */ > #undef LT_SYMBOL_LENGTH > #define LT_SYMBOL_LENGTH 128 > @@ -72,6 +76,7 @@ or obtained by writing to the Free Software Foundation, > Inc., > static const char objdir[]= LT_OBJDIR; > static const char archive_ext[] = LT_ARCHIVE_EXT; > static const char libext[]= LT_LIBEXT; > +static const char libprefix[] = LT_LIBPREFIX; > #if defined(LT_MODULE_EXT) > static const char shlib_ext[] = LT_MODULE_EXT; > #endif > @@ -1272,8 +1277,8 @@ try_dlopen (lt_dlhandle *phandle, const char *filename, > const char *ext, > >if (vtable) > { > - /* name + "." + libext + NULL */ > - archive_name = MALLOC (char, LT_STRLEN (name) + strlen (libext) + 2); > + /* libprefix + name + "." + libext + NULL */ > + archive_name = MALLOC (char, strlen (libprefix) + LT_STRLEN (name) + > strlen (libext) + 2); > *phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle)); > > if ((*phandle == NULL) || (archive_name == NULL)) > @@ -1285,7 +1290,14 @@ try_dlopen (lt_dlhandle *phandle, const char > *filename, const char *ext, > > /* Preloaded modules are always named according to their old >archive name. */ > - sprintf (archive_name, "%s.%s", name, libext); > + if (strncmp(name, "lib", 3) == 0) > + { > + sprintf (archive_name, "%s%s.%s", libprefix, name + 3, libext); > + } > + else > + { > + sprintf (archive_name, "%s.%s", name, libext); > + } > > if (tryall_dlopen (&newhandle, archive_name, advise, vtable) == 0) > { > --- a/libltdl/m4/ltdl.m4 > +++ b/libltdl/m4/ltdl.m4 > @@ -410,6 +410,11 @@ AC_CHECK_FUNCS([strlcat strlcpy], [], > [AC_LIBOBJ([lt__strl])]) > m4_pattern_allow([LT_LIBEXT])dnl > AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) > > +name= > +lt_libprefix=`eval "\\$ECHO \"$libname_spec\""` This is simpler, less buggy, and more efficiently written as eval "lt_libprefix=\"$libname_spec\"" > +m4_pattern_allow([LT_LIBPREFIX])dnl > +AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) > + > name=ltdl > LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""` This, too. > AC_SUBST([LTDLOPEN]) Cheers, Ralf
Re: MSVC: Preloading in ltdl doesn't heed libname_spec.
On Mon, 5 Jul 2010, Bob Friesenhahn wrote: On Mon, 5 Jul 2010, Peter Rosin wrote: Inspired by the remarkable progress, I'm bringing up this patch again. It would be good if the progress was even more remarkable. Yesterday's libtool was doing quite good with the tests but I am seeing plenty of failures now for all Unixish targets. Even Linux blows failures all over the place. Not to worry, it is likely something simple. Perhaps things are not all that bad. While 35 of 110 tests fail under Debian Linux, only these two extra are failing under FreeBSD, OS-X, and Solaris: FAIL: tests/mdemo2-make.test FAIL: tests/pdemo-make.test Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
Re: MSVC: Preloading in ltdl doesn't heed libname_spec.
On Mon, 5 Jul 2010, Peter Rosin wrote: Inspired by the remarkable progress, I'm bringing up this patch again. It would be good if the progress was even more remarkable. Yesterday's libtool was doing quite good with the tests but I am seeing plenty of failures now for all Unixish targets. Even Linux blows failures all over the place. Not to worry, it is likely something simple. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
MSVC: Preloading in ltdl doesn't heed libname_spec.
Hi! Inspired by the remarkable progress, I'm bringing up this patch again. The discussion dead-ended last time without anything being merged into any branch, but follow this thread to get up to speed: http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00152.html The patch has seen (very) minor adjustments to changes since then, but the principle is exactly the same. Cheers, Peter commit d2cec6695c6048487774c869d08ddd165ca3c21e Author: Peter Rosin Date: Mon Jan 26 09:11:44 2009 +0100 Make preloading heed libname_spec. * libltdl/ltdl.c (libprefix): New static variable describing the prefix of static archives. (try_dlopen): Use libprefix. * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static archives to config.h. diff --git a/ChangeLog b/ChangeLog index f5fa68f..73912d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2009-11-24 Peter Rosin + + Make preloading heed libname_spec. + * libltdl/ltdl.c (libprefix): New static variable describing + the prefix of static archives. + (try_dlopen): Use libprefix. + * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static + archives to config.h. + 2010-07-05 Peter Rosin * tests/export.at [MSVC]: dllimport all imported variables. diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c index 1213f0d..992584c 100644 --- a/libltdl/ltdl.c +++ b/libltdl/ltdl.c @@ -54,6 +54,10 @@ or obtained by writing to the Free Software Foundation, Inc., # define LT_LIBEXT "a" #endif +#if !defined(LT_LIBPREFIX) +# define LT_LIBPREFIX "lib" +#endif + /* This is the maximum symbol size that won't require malloc/free */ #undef LT_SYMBOL_LENGTH #define LT_SYMBOL_LENGTH 128 @@ -72,6 +76,7 @@ or obtained by writing to the Free Software Foundation, Inc., static const char objdir[] = LT_OBJDIR; static const char archive_ext[] = LT_ARCHIVE_EXT; static const char libext[] = LT_LIBEXT; +static const char libprefix[] = LT_LIBPREFIX; #if defined(LT_MODULE_EXT) static const char shlib_ext[] = LT_MODULE_EXT; #endif @@ -1272,8 +1277,8 @@ try_dlopen (lt_dlhandle *phandle, const char *filename, const char *ext, if (vtable) { - /* name + "." + libext + NULL */ - archive_name = MALLOC (char, LT_STRLEN (name) + strlen (libext) + 2); + /* libprefix + name + "." + libext + NULL */ + archive_name = MALLOC (char, strlen (libprefix) + LT_STRLEN (name) + strlen (libext) + 2); *phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle)); if ((*phandle == NULL) || (archive_name == NULL)) @@ -1285,7 +1290,14 @@ try_dlopen (lt_dlhandle *phandle, const char *filename, const char *ext, /* Preloaded modules are always named according to their old archive name. */ - sprintf (archive_name, "%s.%s", name, libext); + if (strncmp(name, "lib", 3) == 0) + { + sprintf (archive_name, "%s%s.%s", libprefix, name + 3, libext); + } + else + { + sprintf (archive_name, "%s.%s", name, libext); + } if (tryall_dlopen (&newhandle, archive_name, advise, vtable) == 0) { diff --git a/libltdl/m4/ltdl.m4 b/libltdl/m4/ltdl.m4 index 93de12a..bf1c9bb 100644 --- a/libltdl/m4/ltdl.m4 +++ b/libltdl/m4/ltdl.m4 @@ -410,6 +410,11 @@ AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) m4_pattern_allow([LT_LIBEXT])dnl AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) +name= +lt_libprefix=`eval "\\$ECHO \"$libname_spec\""` +m4_pattern_allow([LT_LIBPREFIX])dnl +AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) + name=ltdl LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""` AC_SUBST([LTDLOPEN])