Re: automake issue in virtuoso: "library has 'libwi_odbc_la' as canonical name (possible typo)"
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
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
> > > > 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.
> So you've enabled building IODBC_LIBS? Why? It is disabled by the
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?