[squid-users] Editing Makefile.am to include static libraries

Amos Jeffries squid3 at treenet.co.nz
Fri Mar 13 11:59:37 UTC 2015


On 14/03/2015 12:28 a.m., Priya Agarwal wrote:
> I tried what you advised. Getting the same error for both methods
> (./configure LDFLAGS=-L<../tmp/../lib CXXFLAGS=-I<.../tmp../include or
> editing Makefile.am appropriately). autoreconf is failing.

I see "<" characters in your paths. That is invalid. As is the -I paths
segments "..." and "tmp.." looks like you are missing '/' somewhere.


> And also I am getting many such warnings:
> 
> | src/Common.am:16: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS'
> (or '*_CPPFLAGS')
> | compat/Makefile.am:5:   'src/Common.am' included from here
> | src/Common.am:16: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS'
> (or '*_CPPFLAGS')
> | helpers/basic_auth/DB/Makefile.am:1:   'src/Common.am' included from here
> | src/Common.am:16: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS'
> (or '*_CPPFLAGS')
> | helpers/basic_auth/LDAP/Makefile.am:1:   'src/Common.am' included from
> here
> | src/Common.am:16: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS'
> (or '*_CPPFLAGS')
> | helpers/basic_auth/MSNT-multi-domain/Makefile.am:1:   'src/Common.am'
> included from here
> | src/Common.am:16: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS'
> (or '*_CPPFLAGS')
> 

Those are just warnings because you are working with an old Squid
version and autotools have changed their requirements since. The current
release dont have quite so many warnings (some remain). Those can be ignore.

I does mean that what I wrote as AM_CPPFLAGS needs to instead be written
as INCLUDES in your Squid versions Makefile.am.


> Final error:
> | autoreconf: automake failed with exit status: 1
> | ERROR: autoreconf execution failed.
> 
> So is something wrong with the path?

I see "<" characters in what you

> 
> I have attached the logfile as well which shows the detailed output.
> 

Buried in the warnings I see this:

src/Makefile.am:661: error: '#' comment at start of rule is unportable


automake syntax has two forms of comment.
 ## comments are autoreconf comments and ignored
 # comments are copied through as-is to the final Makefile

If you are using multi-line wrapped lists of things, that can cause
issues. Its easier to just never use comments inside the wrapped lines.


Other things to watch out for auth makefiles:

* indentation for rules needs to be one tab, not spaces. This needs
checking after each copy-paste you do.

* multi-line rules and lists use '\' character ending to explicitly
define the wrapping.
  Be careful that lists of libraries etc use them on each line up to,
but not on, the final line of the list.


Amos


More information about the squid-users mailing list