I'm cross-compiling NTP on a Red Hat 7.3 Linux box, targeted at an Arcom ARM-based embedded board, with the Acrom Embedded Linux (AEL) 3.7 (kernel 2.4.26) host environment installed.
With NTP 4.1.1 (original included in Arcom's AEL package, no known diffs from core NTP dist), all it takes is './configure --host=arm-linux' and 'make' to get a clean compile.
With ntp-stable-4.2.0a-20040617 and ntp-dev-4.2.0a-20040914, the './configure --host=arm-linux' and 'make' routine gets me a nearly immediate screen full of errors ...
... in directory libntp
... systime.c and/or a_md5encrypt.c
... /usr/include/bitsmathinline.h In function 'atan2' ... error: unknown register name st(1) in 'asm'
... (ditto the line just above for nearly every match function known to man ;)
Maybe I'm just not familiar enough with the options I need to feed to configure to get it to set up all the include paths correctly for a cross-compile environment?
-
Also, on a related topic, any suggestions for the best set of configure options / etc. to built and configure NTP for operation in a stand-alone environment?
We have a number of embedded processor boards that will be operating in the same box with a Trimble ThunderBolt GPS-disciplined clock board, and these systems will not be connected to any other servers or clients. We want NTP to keep the Linux clock disciplined to the GPS time from the ThunderBolt, so we can use Linux/ACE timers for software scheduling, and so that we can fall back to the OS clock as a last resort if we lose the GPS.
--
Alex
|
|
0
|
|
|
|
Reply
|
Alex
|
9/16/2004 11:33:53 AM |
|
So the compiler you are invoking is arm-linux-gcc?
It looks like your toolchain is messed up.
H
|
|
0
|
|
|
|
Reply
|
stenn
|
9/16/2004 9:04:44 PM
|
|
I have the same problem to cross-compile for PPC the NTP 4.2.0.
Because I have no idea about how ./configure works, I do the next to
cross-compile
1�. Configure
=============
execute ./configure with your options
2�. Modify ./config.status
=====================================
This file is created by ./configure and is executed as the last step by
../configute
a) find @CPPFLAGS@ in the file and delete "-I/usr/include" from the line
where @CPPFLAGS@ is defined
b) find @LDFLAGS@ in the file and delete "-L/usr/lib" from the line where
@LDFLAGS@ is defined
NOTE: If you use openssl, there is other two line as this for openssl
3�. Execute ./config.status
===================================
../config.status
4�. Modify Makefile files
===================================
a) find the string "AR = ar" in the Makefile files recursively and change
"ar" with you utility for cross-compile
(in my case "AR = ppc_8xx-ar")
b) open the file ./ntpdc/Makefile and do the next
b1) find "cmp" (case sensitive, word only) y put "echo " before -> echo cmp
......
b2) find "./ntpdc-layout" (case sensitive) y put "echo " before -> echo
../ntpdc-layout ....
../ntpdc-layout is an utility created when you execute "make" that check
something (i don't know what), but
it is not necessary. As you are cross-compiling, executing ./ntpdc-layout in
the host don't work.
5�. Build and install
=======================
make
make install
I hope this help you.
"Alex Madarasz" <alexmadaraszfree@earthlink.net> escribi� en el mensaje
news:mailman.25.1095342815.26599.questions@ntp.org...
>
> I'm cross-compiling NTP on a Red Hat 7.3 Linux box, targeted at an Arcom
ARM-based embedded board, with the Acrom Embedded Linux (AEL) 3.7 (kernel
2.4.26) host environment installed.
>
> With NTP 4.1.1 (original included in Arcom's AEL package, no known diffs
from core NTP dist), all it takes is './configure --host=arm-linux' and
'make' to get a clean compile.
>
> With ntp-stable-4.2.0a-20040617 and ntp-dev-4.2.0a-20040914, the
'./configure --host=arm-linux' and 'make' routine gets me a nearly immediate
screen full of errors ...
>
> ... in directory libntp
> ... systime.c and/or a_md5encrypt.c
> ... /usr/include/bitsmathinline.h In function 'atan2' ... error:
unknown register name st(1) in 'asm'
> ... (ditto the line just above for nearly every match function known to
man ;)
>
> Maybe I'm just not familiar enough with the options I need to feed to
configure to get it to set up all the include paths correctly for a
cross-compile environment?
>
> -
>
> Also, on a related topic, any suggestions for the best set of configure
options / etc. to built and configure NTP for operation in a stand-alone
environment?
>
> We have a number of embedded processor boards that will be operating in
the same box with a Trimble ThunderBolt GPS-disciplined clock board, and
these systems will not be connected to any other servers or clients. We
want NTP to keep the Linux clock disciplined to the GPS time from the
ThunderBolt, so we can use Linux/ACE timers for software scheduling, and so
that we can fall back to the OS clock as a last resort if we lose the GPS.
>
> --
> Alex
>
|
|
0
|
|
|
|
Reply
|
FJPSE
|
9/17/2004 3:49:25 PM
|
|
On Friday, September 17, 2004, 11:49:25 AM, FJPSE wrote:
> I have the same problem to cross-compile for PPC the NTP 4.2.0.
> Because I have no idea about how ./configure works, I do the next to
> cross-compile ...
Thanks for the detailed info - I'll give it a try ASAP!
;)
> 1�. Configure
> =============
>
> execute ./configure with your options
>
>
> 2�. Modify ./config.status
> =====================================
>
> This file is created by ./configure and is executed as the last step by
> ./configute
>
> a) find @CPPFLAGS@ in the file and delete "-I/usr/include" from the line
> where @CPPFLAGS@ is defined
> b) find @LDFLAGS@ in the file and delete "-L/usr/lib" from the line where
> @LDFLAGS@ is defined
>
> NOTE: If you use openssl, there is other two line as this for openssl
>
> 3�. Execute ./config.status
> ===================================
>
> ./config.status
>
>
> 4�. Modify Makefile files
> ===================================
>
> a) find the string "AR = ar" in the Makefile files recursively and change
> "ar" with you utility for cross-compile
> (in my case "AR = ppc_8xx-ar")
>
> b) open the file ./ntpdc/Makefile and do the next
> b1) find "cmp" (case sensitive, word only) y put "echo " before -> echo cmp
> .....
> b2) find "./ntpdc-layout" (case sensitive) y put "echo " before -> echo
> ./ntpdc-layout ....
>
> ./ntpdc-layout is an utility created when you execute "make" that check
> something (i don't know what), but
> it is not necessary. As you are cross-compiling, executing ./ntpdc-layout in
> the host don't work.
>
>
> 5�. Build and install
> =======================
>
> make
> make install
>
> I hope this help you.
>
>
>
> "Alex Madarasz" <alexmadaraszfree@earthlink.net> escribi� en el mensaje
> news:mailman.25.1095342815.26599.questions@ntp.org...
>>
>> I'm cross-compiling NTP on a Red Hat 7.3 Linux box, targeted at an Arcom
> ARM-based embedded board, with the Acrom Embedded Linux (AEL) 3.7 (kernel
> 2.4.26) host environment installed.
>>
>> With NTP 4.1.1 (original included in Arcom's AEL package, no known diffs
> from core NTP dist), all it takes is './configure --host=arm-linux' and
> 'make' to get a clean compile.
>>
>> With ntp-stable-4.2.0a-20040617 and ntp-dev-4.2.0a-20040914, the
> './configure --host=arm-linux' and 'make' routine gets me a nearly immediate
> screen full of errors ...
>>
>> ... in directory libntp
>> ... systime.c and/or a_md5encrypt.c
>> ... /usr/include/bitsmathinline.h In function 'atan2' ... error:
> unknown register name st(1) in 'asm'
>> ... (ditto the line just above for nearly every match function known to
> man ;)
>>
>> Maybe I'm just not familiar enough with the options I need to feed to
> configure to get it to set up all the include paths correctly for a
> cross-compile environment?
>>
>> -
>>
>> Also, on a related topic, any suggestions for the best set of configure
> options / etc. to built and configure NTP for operation in a stand-alone
> environment?
>>
>> We have a number of embedded processor boards that will be operating in
> the same box with a Trimble ThunderBolt GPS-disciplined clock board, and
> these systems will not be connected to any other servers or clients. We
> want NTP to keep the Linux clock disciplined to the GPS time from the
> ThunderBolt, so we can use Linux/ACE timers for software scheduling, and so
> that we can fall back to the OS clock as a last resort if we lose the GPS.
--
Alex
|
|
0
|
|
|
|
Reply
|
Alex
|
9/17/2004 8:35:42 PM
|
|
On Thursday, September 16, 2004, 5:04:44 PM, Harlan Stenn wrote:
>
> So the compiler you are invoking is arm-linux-gcc?
>
> It looks like your toolchain is messed up.
As far as I can tell, the ARM toolchain is OK. I re-built 4.1.1 from a clean
distribution using:
./configure --host=arm-linux
make
and both completed without errors. I checked the ntpd with 'file' and it said
it was an ARM executable. Moved ntpd and ntpq to the target board, configured
with the NMEA ref clock driver and ntpd and ntpq ran fine. Unfortunately, the
NMEA ref clock driver I've been using as my 'reference' for testing (until I
have the new ThunderBolt driver finished) appears to be broken on 4.1.1 - it
appears to be getting valid $GPRMC sentences but throws a bad time event after
each one. This is one of the reasons I want to be running 4.2.0a+ instead, as
there have been a number of fixes to the NMEA ref clock driver since 4.1.1.
--
Alex
|
|
0
|
|
|
|
Reply
|
Alex
|
9/17/2004 8:43:57 PM
|
|
I'm back from vacation now. How can I help figure this out? Are you
using the latest tarballs? If not, what versions of the auto* tools
are you using?
H
|
|
0
|
|
|
|
Reply
|
stenn
|
10/4/2004 11:03:33 PM
|
|
On Monday, October 4, 2004, 7:03:33 PM, Harlan Stenn wrote:
>
> I'm back from vacation now. How can I help figure this out? Are you
> using the latest tarballs? If not, what versions of the auto* tools
> are you using?
Thanks for the follow-up ... and I owe the group a follow-up of my own.
I _did_ finally manage to get NTP stable 4.2.0a to build for the ARM platform,
with the help of the detailed hints from FJPSE, reading some Net docs on the
auto* tools and Canadian cross-compiling with them, and some NTP spelunking on
my own. In the end I managed to get the process to work repeatedly without
requiring any mid-stream hand-editing of any files.
As soon as I get the ARM build fully tested and get out from underneath the
heavy load I'm carrying now, I'll post the details of what I did for all.
--
Alex
|
|
0
|
|
|
|
Reply
|
Alex
|
10/5/2004 12:16:42 AM
|
|
./configure CC=/home/myuser/Programs/codesourcery_arm_none_linux_gnueabi_gcc/bin/arm-none-linux-gnueabi-gcc CFLAGS=-static --host=arm-none-linux-gnueabi --prefix=/home/myuser/Programs/ntp/ntp-dev-4.2.7p308/out
Felipe Nipo.
--
|
|
0
|
|
|
|
Reply
|
fpnipo (1)
|
10/5/2012 5:52:46 PM
|
|
|
6 Replies
1094 Views
(page loaded in 0.089 seconds)
Similiar Articles: Cross-Compile for ARM - NTP 4.1.1 OK, NTP 4.2.0a Errors - comp ...I'm cross-compiling NTP on a Red Hat 7.3 Linux box, targeted at an Arcom ARM-based embedded board, with the Acrom Embedded Linux (AEL) 3.7 (kernel 2.... ntpd cross-compiling - comp.protocols.time.ntpCross-Compile for ARM - NTP 4.1.1 OK, NTP 4.2.0a Errors - comp ... I'm cross-compiling NTP on a Red Hat 7.3 Linux box, targeted at an Arcom ARM-based ... ntpd cross ... Cross-compiling ACE for an ARM 9 using LTIB - comp.soft-sys.ace ...Cross-Compile for ARM - NTP 4.1.1 OK, NTP 4.2.0a Errors - comp ... g++ compiling error - comp.lang.c++ | Computer Group Cross-compiling ACE for an ARM 9 using LTIB - comp ... NTP with linux kernel 2.6.9 vs. kernel 2.4.24 - comp.protocols ...Cross-Compile for ARM - NTP 4.1.1 OK, NTP 4.2.0a Errors - comp ... I'm cross-compiling NTP on a Red Hat 7.3 Linux box, targeted at an Arcom ARM-based embedded board, with ... Help with building NTP-4.2.0 - comp.protocols.time.ntpCross-Compile for ARM - NTP 4.1.1 OK, NTP 4.2.0a Errors - comp ... I _did_ finally ... ntp.org: Home of the Network Time Protocol The Network Time Protocol (NTP) is used ... GPS clock for Linux - comp.protocols.time.ntpCross-Compile for ARM - NTP 4.1.1 OK, NTP 4.2.0a Errors - comp ... ntpd cross-compiling - comp.protocols.time.ntp | Computer Group GPS clock for Linux - comp.protocols ... Matlab compiler for embedded software - comp.soft-sys.matlab ...Cross-Compile for ARM - NTP 4.1.1 OK, NTP 4.2.0a Errors - comp ..... 3 Linux box, targeted at an Arcom ARM-based embedded ... So the compiler you are invoking is arm ... How to compile module in Makefile? - comp.lang.fortranCross-Compile for ARM - NTP 4.1.1 OK, NTP 4.2.0a Errors - comp ... I'm cross-compiling NTP on a Red Hat 7.3 Linux box, targeted at an Arcom ARM-based ... find the string ... ntpd on embedded risc - comp.protocols.time.ntpWait 10 hours and then look at the data. ntp is espeically intollerant of rate errors. ... MIPS and ARM - comp.arch Cross-Compile for ARM - NTP 4.1.1 OK ... ntpd on ... gmake error - comp.soft-sys.matlabCross-Compile for ARM - NTP 4.1.1 OK, NTP 4.2.0a Errors - comp ... I am experiencing libgcc_s.so.1 open failed when trying to gmake install php source. ... Cross-Compile for ARM - NTP 4.1.1 OK, NTP 4.2.0a Errors - comp ...I'm cross-compiling NTP on a Red Hat 7.3 Linux box, targeted at an Arcom ARM-based embedded board, with the Acrom Embedded Linux (AEL) 3.7 (kernel 2.... ntpd cross-compiling - comp.protocols.time.ntp | Computer GroupCross-Compile for ARM - NTP 4.1.1 OK, NTP 4.2.0a Errors - comp ... I'm cross-compiling NTP on a Red Hat 7.3 Linux box, targeted at an Arcom ARM-based ... ntpd cross ... 7/20/2012 9:33:47 AM
|