Thursday, 4 March 2021

Re: [gccsdk] GCC8+ what new environment check is needed for packages

Chris Gransden wrote on 03 March 2021 22:49

> In article <88c19afa-7904-b93e-190c-2bcebaa3feb6@sky.com>,
>   Lee Noar <lee.noar@sky.com> wrote:
> > On 03/03/2021 16:49, alan buckley wrote:
> > > To run programs compiled on GCC8 or later what environment is required?
> > >
> > > I�d like to add a new environment type to the PackMan packages so these
> > > programs can be packaged, but not show up on machines where they won�t run.
> > >
> > > I�m assuming that the current vfp check isn�t enough.
> > >
> > > Would a vfpv3 cover it? If so, does anyone know the code required to
> > > check for a RISC OS machine for it?

> > If I'm understanding you correctly, then GCC8 and later should work on
> > anything with VFP, so a VFP check should be OK, however, the libraries
> > are not compatible with GCC4. The libraries for GCC8/10 are stored in
> > !SharedLibs.lib.armeabi, so armeabi would be the name of environment?

 

The environment is for the hardware it runs on, not the software itself. So if

the vfp check is ok (but see below) that would be sufficient.

 

Are the GCC8/10 linked to different numbered version of the shared C libraries?

If this is the case, then we just need packages with different names for each.

If it is just the case they need armeabi versions of the existing versions, I'd

probably create a package with the correct versions in and make anything that

needs them depend on that package. If we need the stuff from the current

shared libraries then these new shared library packages can depend on those.


> > For dynamic linking, it would require the runtime shared libraries to
> > be packaged. Such a package is produced with the GCC10 build for
> > copying over the package produced by the GCC4 build, although should the
> > C++ libraries be in a separate package?

 

Yes, I think it should really though it's not critical. It sounds like the GCC10

package is already there.

> I just tried a simple Hello World program built by gcc 10.2 and it gave an
> abort when run on a RPi 1B. Pi 1 is armv6 and vfp2.
> If I do gcc -v it shows armv7 and vfpv3 as defaults.

Chris mentioned this to me, which is one of the reasons I asked the question

about the environment.

 

Regards,

Alan

 

No comments:

Post a Comment