Re: automake issue in virtuoso: "library has 'libwi_odbc_la' as canonical name (possible typo)"

2018-08-14 Thread Andrey Rahmatullin
On Tue, Aug 14, 2018 at 11:13:02PM +0500, Andrey Rahmatullin wrote:
> The actual error is
> 
> libsrc/Makefile.am:22: error: required directory libsrc/zlib does not exist
This is from manual autoreconf -fisv, the package build log says instead 
configure.ac:2891: error: required file 'libsrc/zlib/Makefile.in' not found
but that isn't really different.



-- 
WBR, wRAR


signature.asc
Description: PGP signature


Re: automake issue in virtuoso: "library has 'libwi_odbc_la' as canonical name (possible typo)"

2018-08-14 Thread Andrey Rahmatullin
On Tue, Aug 14, 2018 at 10:54:24PM +0500, Andrey Rahmatullin wrote:
> > > > > > libsrc/Wi/Makefile.am:544: library has 'libwi_base_la' as canonical 
> > > > > > name (possible typo)
> > > > > This is correct, there is a var named libwi_base_la_cflags which 
> > > > > seems to
> > > > > be a generic var so it should be renamed to something not looking like
> > > > > foo_cflags automake var.
> > > > 
> > > > That's why I did s/cflags/CFLAGS/.
> > > Ah, I was assuming the vars are case insensitive so the original name is
> > > problematic.
> > 
> > I assumed that Makefile variables are case sensitive and so Makefile.am
> > variables are.  I've never seen lower case spelling in those cases.
> This is correct.
> And lowercase is correct as, again, those are not meant to be automake
> vars.
> I don't know why automake warns about a foo_cflags var, calling it a
> foo_CFLAGS var, but then I don't know if that build log was before or
> after your s/cflags/CFLAGS/ etc. change. As it mentions line 544, which
> originally sets a libwi_base_la_ldlags var, I suspect the latter.
Indeed, the package without that patch only outputs

libsrc/Wi/Makefile.am:292: warning: variable 'libwi_odbc_la_SOURCES' is defined 
but no program or
libsrc/Wi/Makefile.am:292: library has 'libwi_odbc_la' as canonical name 
(possible typo)

This is not the first time you are asking about autotools problems caused
by the code you wrote so please be more clear in the future.

Also, it's a warning. I was expecting that such things should not fail the
build prosess and they indeed don't. Not to mention such warnings are also
reported to several other files before that (and in the original email
you've included only a truncated output log).

The actual error is

libsrc/Makefile.am:22: error: required directory libsrc/zlib does not exist

-- 
WBR, wRAR


signature.asc
Description: PGP signature


Re: automake issue in virtuoso: "library has 'libwi_odbc_la' as canonical name (possible typo)"

2018-08-14 Thread Andrey Rahmatullin
On Tue, Aug 14, 2018 at 07:37:31PM +0200, Andreas Tille wrote:
> > > > > libsrc/Wi/Makefile.am:544: library has 'libwi_base_la' as canonical 
> > > > > name (possible typo)
> > > > This is correct, there is a var named libwi_base_la_cflags which seems 
> > > > to
> > > > be a generic var so it should be renamed to something not looking like
> > > > foo_cflags automake var.
> > > 
> > > That's why I did s/cflags/CFLAGS/.
> > Ah, I was assuming the vars are case insensitive so the original name is
> > problematic.
> 
> I assumed that Makefile variables are case sensitive and so Makefile.am
> variables are.  I've never seen lower case spelling in those cases.
This is correct.
And lowercase is correct as, again, those are not meant to be automake
vars.
I don't know why automake warns about a foo_cflags var, calling it a
foo_CFLAGS var, but then I don't know if that build log was before or
after your s/cflags/CFLAGS/ etc. change. As it mentions line 544, which
originally sets a libwi_base_la_ldlags var, I suspect the latter.

> > Do you have the same error without that change? Because the
> > canonical names of automake target vars are foo_CFLAGS.
> 
> Automake was warning about typos 

No, it was warning about setting vars for targets that are not defined.
Please read the messages more carefully. It says "possible typo" but it
really has no idea. It also says "possible".

> and from what I can see these are simply typos.
The only typos I see are _LDLAGS instead of _LDFLAGS, and I wouldn't fix
those as they were there from the beginning. And the warnings don't talk
about them but about the library/program names, which your patches don't
change.

> > So you've enabled building IODBC_LIBS? Why? It is disabled by the
> > upstream.
> 
> It's a conditional variable (further above in Makefile.am).  I see no
> point in uncommenting it since it can be enabled or disabled via flags.
It's a var which is not used by the upstream, yet you patched the file to
use it. I suppose the upstream did not want to use it whatever the flags.

> When enabling it the automake bug goes away 
Because you are now using the dead code unused by the upstream...

> and thus I assumed that
> would just have been a regression from some upstream change.
You could look at the upstream change history, which I did before writing
my suggestions. All of this is unchanged since the first commit 13 or so
years ago.

> > And you made a libwi_base.la which is not what was intended. As I said,
> > libwi_base_la_cflags is a generic var meant to be included in other vars.
> > And are you sure you need to fix those "LDLAGS" if it was that way in the
> > upstream code?
> 
> May be I misunderstood your hint.  What less invasive / more upstream
> intended patch would you suggest?
If the dead code causes problems, remove dead code.
If an inappropriately named var causes problems, rename it. But only if it
really causes problems.

-- 
WBR, wRAR


signature.asc
Description: PGP signature


Re: automake issue in virtuoso: "library has 'libwi_odbc_la' as canonical name (possible typo)"

2018-08-14 Thread Andreas Tille
Hi Andrey,

On Tue, Aug 14, 2018 at 08:47:11PM +0500, Andrey Rahmatullin wrote:
> On Tue, Aug 14, 2018 at 05:33:01PM +0200, Andreas Tille wrote:
> > > On Tue, Aug 14, 2018 at 04:21:10PM +0200, Andreas Tille wrote:
> > > > libsrc/Wi/Makefile.am:544: library has 'libwi_base_la' as canonical 
> > > > name (possible typo)
> > > This is correct, there is a var named libwi_base_la_cflags which seems to
> > > be a generic var so it should be renamed to something not looking like
> > > foo_cflags automake var.
> > 
> > That's why I did s/cflags/CFLAGS/.
> Ah, I was assuming the vars are case insensitive so the original name is
> problematic.

I assumed that Makefile variables are case sensitive and so Makefile.am
variables are.  I've never seen lower case spelling in those cases.

> Do you have the same error without that change? Because the
> canonical names of automake target vars are foo_CFLAGS.

Automake was warning about typos and from what I can see these are
simply typos.
 
> > > > libsrc/Wi/Makefile.am:574: warning: variable 'libwi_odbc_la_LDFLAGS' is 
> > > > defined but no program or
> > > > libsrc/Wi/Makefile.am:574: library has 'libwi_odbc_la' as canonical 
> > > > name (possible typo)
> > > This is because that library is indeed not defined.
> > > 
> > > > I searched the web for
> > > >"library has" + "as canonical name (possible typo)"
> > > Well, the error messages say "no program or library has that name" which
> > > is correct:
> > > 
> > > noinst_LTLIBRARIES = libwi.la libwic.la
> > > 
> > > So this is just dead code.
> > 
> > OK, I think I fixed this specifiv Makefile.am[1]. 
> So you've enabled building IODBC_LIBS? Why? It is disabled by the
> upstream.

It's a conditional variable (further above in Makefile.am).  I see no
point in uncommenting it since it can be enabled or disabled via flags.
When enabling it the automake bug goes away and thus I assumed that
would just have been a regression from some upstream change.

> And you made a libwi_base.la which is not what was intended. As I said,
> libwi_base_la_cflags is a generic var meant to be included in other vars.
> And are you sure you need to fix those "LDLAGS" if it was that way in the
> upstream code?

May be I misunderstood your hint.  What less invasive / more upstream
intended patch would you suggest?
 
Kind regards

Andreas.

-- 
http://fam-tille.de



Re: automake issue in virtuoso: "library has 'libwi_odbc_la' as canonical name (possible typo)"

2018-08-14 Thread Andrey Rahmatullin
On Tue, Aug 14, 2018 at 05:33:01PM +0200, Andreas Tille wrote:
> > On Tue, Aug 14, 2018 at 04:21:10PM +0200, Andreas Tille wrote:
> > > libsrc/Wi/Makefile.am:544: library has 'libwi_base_la' as canonical name 
> > > (possible typo)
> > This is correct, there is a var named libwi_base_la_cflags which seems to
> > be a generic var so it should be renamed to something not looking like
> > foo_cflags automake var.
> 
> That's why I did s/cflags/CFLAGS/.
Ah, I was assuming the vars are case insensitive so the original name is
problematic. Do you have the same error without that change? Because the
canonical names of automake target vars are foo_CFLAGS.

> > > libsrc/Wi/Makefile.am:574: warning: variable 'libwi_odbc_la_LDFLAGS' is 
> > > defined but no program or
> > > libsrc/Wi/Makefile.am:574: library has 'libwi_odbc_la' as canonical name 
> > > (possible typo)
> > This is because that library is indeed not defined.
> > 
> > > I searched the web for
> > >"library has" + "as canonical name (possible typo)"
> > Well, the error messages say "no program or library has that name" which
> > is correct:
> > 
> > noinst_LTLIBRARIES = libwi.la libwic.la
> > 
> > So this is just dead code.
> 
> OK, I think I fixed this specifiv Makefile.am[1]. 
So you've enabled building IODBC_LIBS? Why? It is disabled by the
upstream.
And you made a libwi_base.la which is not what was intended. As I said,
libwi_base_la_cflags is a generic var meant to be included in other vars.
And are you sure you need to fix those "LDLAGS" if it was that way in the
upstream code?

-- 
WBR, wRAR


signature.asc
Description: PGP signature


Re: automake issue in virtuoso: "library has 'libwi_odbc_la' as canonical name (possible typo)"

2018-08-14 Thread Andreas Tille
Hi Andrey,

On Tue, Aug 14, 2018 at 07:47:51PM +0500, Andrey Rahmatullin wrote:
> On Tue, Aug 14, 2018 at 04:21:10PM +0200, Andreas Tille wrote:
> > libsrc/Wi/Makefile.am:544: library has 'libwi_base_la' as canonical name 
> > (possible typo)
> This is correct, there is a var named libwi_base_la_cflags which seems to
> be a generic var so it should be renamed to something not looking like
> foo_cflags automake var.

That's why I did s/cflags/CFLAGS/.

> > libsrc/Wi/Makefile.am:574: warning: variable 'libwi_odbc_la_LDFLAGS' is 
> > defined but no program or
> > libsrc/Wi/Makefile.am:574: library has 'libwi_odbc_la' as canonical name 
> > (possible typo)
> This is because that library is indeed not defined.
> 
> > I searched the web for
> >"library has" + "as canonical name (possible typo)"
> Well, the error messages say "no program or library has that name" which
> is correct:
> 
> noinst_LTLIBRARIES = libwi.la libwic.la
> 
> So this is just dead code.

OK, I think I fixed this specifiv Makefile.am[1].  I learned that there
are more issues of this kind in other Makefile.am.  Hope to be able to
deal with this thanks to you hints.

Kind regards

  Andreas.


[1] 
https://salsa.debian.org/science-team/virtuoso-opensource/commit/2a88abfb3bde303be1984090f08c34483abfcebe

-- 
http://fam-tille.de



Re: automake issue in virtuoso: "library has 'libwi_odbc_la' as canonical name (possible typo)"

2018-08-14 Thread Andrey Rahmatullin
On Tue, Aug 14, 2018 at 04:21:10PM +0200, Andreas Tille wrote:
> libsrc/Wi/Makefile.am:544: library has 'libwi_base_la' as canonical name 
> (possible typo)
This is correct, there is a var named libwi_base_la_cflags which seems to
be a generic var so it should be renamed to something not looking like
foo_cflags automake var.

> libsrc/Wi/Makefile.am:574: warning: variable 'libwi_odbc_la_LDFLAGS' is 
> defined but no program or
> libsrc/Wi/Makefile.am:574: library has 'libwi_odbc_la' as canonical name 
> (possible typo)
This is because that library is indeed not defined.

> I searched the web for
>"library has" + "as canonical name (possible typo)"
Well, the error messages say "no program or library has that name" which
is correct:

noinst_LTLIBRARIES = libwi.la libwic.la

So this is just dead code.

-- 
WBR, wRAR


signature.asc
Description: PGP signature


automake issue in virtuoso: "library has 'libwi_odbc_la' as canonical name (possible typo)"

2018-08-14 Thread Andreas Tille
Hi,

I've commited the latest free version of virtuoso to Debian Science git[1].
Unfortunately automake fails.  I even tried inside build chroot:


/build/virtuoso-opensource-7.2.4.2+dfsg# ./autogen.sh 

Checking build environment ...
Using aclocal (GNU automake) 1.16.1
Using autoconf (GNU Autoconf) 2.69
Using autoheader (GNU Autoconf) 2.69
Using automake (GNU automake) 1.16.1
Using libtoolize (GNU libtool) 2.4.6
Using bison (GNU Bison) 3.0.4
Using flex 2.6.4
Using GNU Awk 4.1.4, API: 1.1 (GNU MPFR 4.0.1, GNU MP 6.1.2)
Using GNU gperf 3.1
Using OpenSSL 1.1.0h  27 Mar 2018

Generating build scripts ...
Running libtoolize ...
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'binsrc/config'.
libtoolize: copying file 'binsrc/config/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'binsrc/config'.
libtoolize: copying file 'binsrc/config/libtool.m4'
libtoolize: copying file 'binsrc/config/ltoptions.m4'
libtoolize: copying file 'binsrc/config/ltsugar.m4'
libtoolize: copying file 'binsrc/config/ltversion.m4'
libtoolize: copying file 'binsrc/config/lt~obsolete.m4'
Running aclocal ...
Running autoheader ...
Running automake ...

** ERROR **
libsrc/Wi/Makefile.am:544: library has 'libwi_base_la' as canonical name 
(possible typo)
libsrc/Wi/Makefile.am:574: warning: variable 'libwi_odbc_la_LDFLAGS' is defined 
but no program or
libsrc/Wi/Makefile.am:574: library has 'libwi_odbc_la' as canonical name 
(possible typo)

Bootstrap script aborting (see autogen.log for details) ...



I searched the web for
   "library has" + "as canonical name (possible typo)"

which basically advised to seek for typos and I even fixed several of
those[2] but either that's not in all cases the solution or it is
something else behind this error.  I admit I'm also a bit suspicious
about adding -static flag to _la libraries.

Any hint what might be wrong here?

Kind regards

   Andreas.

[1] https://salsa.debian.org/science-team/virtuoso-opensource
[2] 
https://salsa.debian.org/science-team/virtuoso-opensource/blob/master/debian/patches/fix_makefile.am.patch

-- 
http://fam-tille.de