ntpclient compile fail


niqingliang
 

Hello:
I'm adding ntpclient into my distro.

but build fail, reason is the CFLAGS/LDFLAGS in it's Makefile didn't
take effect.

What can I do?

the original makefile is:
CFLAGS += -fno-strict-aliasing
CFLAGS += -std=c89
CFLAGS += -W -Wall
CFLAGS += -O2
CFLAGS += -DENABLE_DEBUG
CFLAGS += -DENABLE_REPLAY

LDFLAGS += -lrt

all: ntpclient

test: ntpclient
./ntpclient -d -r <test.dat

ntpclient: ntpclient.o phaselock.o

ntpclient.o phaselock.o: ntpclient.h

adjtimex: adjtimex.o

clean:
rm -f ntpclient adjtimex *.o

--
Yi Qingliang
niqingliang@...
http://niqingliang2003.wordpress.com


niqingliang
 

I have added "override" in the head of every CFLAGS/LDFLAGS line, but
error still there.

the link order is a common problem.
-Wl,-lrt ntpclient.o phaselock.o -o ntpclient
should be
ntpclient.o phaselock.o -Wl,-lrt ntpclient

Does poky have some option or some solution for that?
(I build it success on host.)

On Tue, 2011-09-27 at 11:18 +0800, Ni Qingliang wrote:
Hello:
I'm adding ntpclient into my distro.

but build fail, reason is the CFLAGS/LDFLAGS in it's Makefile didn't
take effect.

What can I do?

the original makefile is:
CFLAGS += -fno-strict-aliasing
CFLAGS += -std=c89
CFLAGS += -W -Wall
CFLAGS += -O2
CFLAGS += -DENABLE_DEBUG
CFLAGS += -DENABLE_REPLAY

LDFLAGS += -lrt

all: ntpclient

test: ntpclient
./ntpclient -d -r <test.dat

ntpclient: ntpclient.o phaselock.o

ntpclient.o phaselock.o: ntpclient.h

adjtimex: adjtimex.o

clean:
rm -f ntpclient adjtimex *.o

--
Yi Qingliang
niqingliang@...
http://niqingliang2003.wordpress.com


_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto
--
Yi Qingliang
niqingliang@...
http://niqingliang2003.wordpress.com


McClintock Matthew-B29882 <B29882@...>
 

On Mon, Sep 26, 2011 at 10:18 PM, Ni Qingliang
<niqingliang@...> wrote:
Hello:
I'm adding ntpclient into my distro.

but build fail, reason is the CFLAGS/LDFLAGS in it's Makefile didn't
take effect.
If the CFLAGS are not taking effect from the Makefile are you over
ridding the value in the recipe? Can you point us at a copy of the
recipe you are using?

-M


niqingliang
 

Thanks!

the attachement is the bb file and Makefile(modified),

after 'override' CFLAGS/LDFLAGS in Makefile, I have added
override LDFLAGS += -Wl,--no-as-needed
in the Makefile to neutralize the '-Wl,--as-needed' in the original
LDFLAGS.

and then the world clear.

On Tue, 2011-09-27 at 23:46 +0800, McClintock Matthew-B29882 wrote:
On Mon, Sep 26, 2011 at 10:18 PM, Ni Qingliang
<niqingliang@...> wrote:
Hello:
I'm adding ntpclient into my distro.

but build fail, reason is the CFLAGS/LDFLAGS in it's Makefile didn't
take effect.
If the CFLAGS are not taking effect from the Makefile are you over
ridding the value in the recipe? Can you point us at a copy of the
recipe you are using?

-M
--
Yi Qingliang
niqingliang@...
http://niqingliang2003.wordpress.com


McClintock Matthew-B29882 <B29882@...>
 

On Tue, Sep 27, 2011 at 8:00 PM, Ni Qingliang
<niqingliang@...> wrote:
the attachement is the bb file and Makefile(modified),
It usually best to include these attachments inline when possible.

after 'override' CFLAGS/LDFLAGS in Makefile, I have added
override LDFLAGS += -Wl,--no-as-needed
in the Makefile to neutralize the '-Wl,--as-needed' in the original
LDFLAGS.

and then the world clear.
Are you editing the source files in this package or the recipe itself?

-M


niqingliang
 

1. sorry, I will.
2. Yes, I made a new Makefile (based on the original) as the patch of
ntpclient (which will override the original Makefile).

On Wed, 2011-09-28 at 09:50 +0800, McClintock Matthew-B29882 wrote:
On Tue, Sep 27, 2011 at 8:00 PM, Ni Qingliang
<niqingliang@...> wrote:
the attachement is the bb file and Makefile(modified),
It usually best to include these attachments inline when possible.

after 'override' CFLAGS/LDFLAGS in Makefile, I have added
override LDFLAGS += -Wl,--no-as-needed
in the Makefile to neutralize the '-Wl,--as-needed' in the original
LDFLAGS.

and then the world clear.
Are you editing the source files in this package or the recipe itself?

-M
--
Yi Qingliang
niqingliang@...
http://niqingliang2003.wordpress.com


McClintock Matthew-B29882 <B29882@...>
 

On Tue, Sep 27, 2011 at 9:04 PM, Ni Qingliang
<niqingliang@...> wrote:
1. sorry, I will.
2. Yes, I made a new Makefile (based on the original) as the patch of
ntpclient (which will override the original Makefile).
There are lots of ways to do this and avoid making a patch. You can
use EXTRA_OECONF, EXTRA_OEMAKE, EXTRA_CFLAGS, etc in the recipe itself
to fix up the build process. You can even go and modify the variables
in the do_configure, do_compile, etc build steps as well.

-M


niqingliang
 

thanks.

If we want to use the original Makefile, we must get rid of the "-e" and
"-Wl,as-needed" in original arguments, for latter, we can add
"-Wl,--no-as-needed", but what about the "-e"?

On Wed, 2011-09-28 at 10:12 +0800, McClintock Matthew-B29882 wrote:
On Tue, Sep 27, 2011 at 9:04 PM, Ni Qingliang
<niqingliang@...> wrote:
1. sorry, I will.
2. Yes, I made a new Makefile (based on the original) as the patch of
ntpclient (which will override the original Makefile).
There are lots of ways to do this and avoid making a patch. You can
use EXTRA_OECONF, EXTRA_OEMAKE, EXTRA_CFLAGS, etc in the recipe itself
to fix up the build process. You can even go and modify the variables
in the do_configure, do_compile, etc build steps as well.

-M
--
Yi Qingliang
niqingliang@...
http://niqingliang2003.wordpress.com