Search squid archive

Re: Editing Makefile.am to include static libraries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am now linking the libraries during ./configure with LDFLAGS, LIBS and CXXFLAGS options (Makefile.am is same as it was)  Compile is failing presently.

main.o: In function `of_init':
/media/NewVolume/yocto/build_t4240qds_release/tmp/sysroots/t4240qds/usr/include/usdpaa/of.h:52: undefined reference to `of_init_path(char const*)'
collect2: error: ld returned 1 exit status
powerpc-fsl_networking-linux-libtool: link: rm -f ".libs/squidS.o"

Does it mean I haven't linked the the library that has of_init() [But I think I have done that as ./configure passed and libraries are even visible in log]
Or I need to link something else?

Here are the flags passed to ./configure:
EXTRA_OECONF_append = "    LDFLAGS="-L=/usr/lib/" \
            LIBS="-lusdpaa_dma -lusdpaa_dma_mem -lusdpaa_of -lusdpaa_fman -lusdpaa_qbman -lusdpaa_syscfg" \
            CXXFLAGS="-I=/usr/include/""

Here is the logifle:
http://pastebin.com/u6SGDvGW

On Mon, Mar 16, 2015 at 11:06 AM, Priya Agarwal <priya_agarwal@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
Hi,

I am now linking the libraries during ./configure with LDFLAGS, LIBS and CXXFLAGS options (Makefile.am is same as it was)  Compile is failing presently.

main.o: In function `of_init':
/media/NewVolume/yocto/build_t4240qds_release/tmp/sysroots/t4240qds/usr/include/usdpaa/of.h:52: undefined reference to `of_init_path(char const*)'
collect2: error: ld returned 1 exit status
powerpc-fsl_networking-linux-libtool: link: rm -f ".libs/squidS.o"

Does it mean I haven't linked the the library that has of_init() [But I think I have done that as ./configure passed and libraries are even visible in log]
Or I need to link something else?

Here are the flags passed to ./configure:
EXTRA_OECONF_append = "    LDFLAGS="-L=/usr/lib/" \
            LIBS="-lusdpaa_dma -lusdpaa_dma_mem -lusdpaa_of -lusdpaa_fman -lusdpaa_qbman -lusdpaa_syscfg" \
            CXXFLAGS="-I=/usr/include/""

Attached the logfile too.



On Fri, Mar 13, 2015 at 5:29 PM, Amos Jeffries <squid3@xxxxxxxxxxxxx> wrote:
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
_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users


_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users

[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux