gpsd-users
[Top][All Lists]
Advanced

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

Re: Illegal instruction....


From: Martin Burnicki
Subject: Re: Illegal instruction....
Date: Mon, 25 May 2020 18:19:40 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0

David J Taylor wrote:
> Having now got gpsd 3.20 installed and working on my Raspberry Pi 1B
> (with thanks to Gary and several others for their help) I thought I
> would be ably simply to compile and run my monitoring software:
> 
>  https://www.satsignal.eu/raspberry-pi/monitoring.html#gps
> 
> However, although the program compiles and runs on a Raspberry Pi 4B, on
> the Raspberry Pi 1B it just says "Illegal instruction".

"Illegal instruction" sounds like the compiled machine code contains
instructions that are not appropriate for the CPU.

For example, if you had compiled a program on a PC with Pentium
processor and tried to run it on an old 386, that might happen, too,
even though both are 32 bit. The reason is because the Pentium knows
some newer CPU instructions that a 386 didn't know.

I think the same could happen on a Raspi if you compiled a program on a
newer 32 bit Raspi and and tried to run it on another one with an older CPU.

Have you also *built* gpsd on the Raspi 1B, or have you just copied the
executable program from the Raspi 4B to the Raspi 1B?

You could run the 'file' command that was mentioned before on the old
Raspi. Compare the output of

  file gpsd

to the output of

  file /usr/bin/zip

or any other file in /usr/bin/ that has come with the distro. Maybe just
post the output here.

> We still don't
> know /why/ there was problem with 3.20 from the backports not working,
> but I'd wondered about the ARM level.  I tried a number of ARM versions
> but still got the illegal instruction.
> 
> Inexperienced as I am, I don't know how to proceed, or what the issue is
> likely to be.  cgps and ubxtool both work exactly as expected.

I thing the processor type has to match *exactly*, and the best way to
achieve this is to build a program on the target system.

Martin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]