gpsd-dev
[Top][All Lists]
Advanced

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

Re: master fails to build/check


From: Ladislav Michl
Subject: Re: master fails to build/check
Date: Sat, 1 Feb 2020 01:11:59 +0100

On Fri, Jan 31, 2020 at 03:13:07PM -0800, Gary E. Miller wrote:
> Yo Ladislav!
> 
> On Fri, 31 Jan 2020 23:58:51 +0100
> Ladislav Michl <address@hidden> wrote:
> 
> > On Fri, Jan 31, 2020 at 01:54:35PM -0800, Gary E. Miller wrote:
> > > Yo Ladislav!
> > > 
> > > On Fri, 31 Jan 2020 17:01:54 +0100
> > > Ladislav Michl <address@hidden> wrote:
> > >   
> > > > > - if SConstruct is using sysroot as all other packages, passing
> > > > > --sysroot to toolchain is just wrong.    
> > > >  - sysroot is indeed toolchain --sysroot=  
> > > 
> > > Good.  We agree that sysroot is sysroot, as defined by GNU gcc and
> > > ld.  
> > 
> > What a pleasant way to explain sysroot is sysroot, as defined by
> > GNU gcc and ld. I would say this deserves short notice somewhere,
> > as it might easily happen someone else would resist to believe
> > there is build system out there really setting toolchain sysroot.
> 
> Feel free to suggest specific doc improvements.
> 
> > > > and all libraries gpsd
> > > > depends on are discoverable using pkg-config.  
> > > 
> > > Not even close.  Forget you ever thought that.  
> > 
> > I will not, sorry.
> 
> Then please keep your thoughts that do not match facts private.

I can only wish you'll take this line as a fact:
arm-v7a-linux-gnueabihf-gcc -o pseudonmea.o -c -pthread -Wall -Wcast-align 
-Wextra -Wimplicit-fallthrough -Wmissing-declarations -Wmissing-prototypes 
-Wno-missing-field-initializers -Wno-uninitialized -Wpointer-arith 
-Wreturn-type -Wstrict-prototypes -Wvla -O2 -pthread 
-I/home/ladis/src/C-ITS.Devices.O2.Firmware/platform-imx6/sysroot-target/usr/include/dbus-1.0
 
-I/home/ladis/src/C-ITS.Devices.O2.Firmware/platform-imx6/sysroot-target/usr/lib/dbus-1.0/include
 
-I/home/ladis/src/C-ITS.Devices.O2.Firmware/platform-imx6/sysroot-target/usr/include/libusb-1.0
 pseudonmea.c
It comes from cross-compiling gpsd and as you can see, those dbus-1.0
and libusb-1.0 include paths were discovered using pkg-config.

> > > I'm gonna guess that you do not want the host systemd tickled when
> > > you cross compile?  
> > 
> > Obviously.
> 
> The code you mentioned was gated by env['systemd'].  Maybe
> instead "env['systemd'] and env['target']"?

And what if I still do want to install udev rules and systemd units?
To the sysroot^H^H^H^H^H^H^H DESTDIR.

> > 
> > >  Or??  
> > 
> > Or there are people out there wanting tickle host systemd while
> > cross-compiling?
> 
> Seriously?  Seems to me you are either buliding gpsd for the present
> hot, or for a target host, but not both at the same time.  What is the
> use case for that?

Above, of course, was not meant seriously at all.

Check for 'target' is already used when skipping check for sizeof(time_t),
so let's be consistent.
Also, technically, --sysroot= can be passed even to native toolchain.

> > > Lost me.  Is that a patch?  Current code?  What?  
> > 
> > This is current SConstruct code.
> 
> Still lost me.
> 
> > > The place the cross-dev stuff is.  
> > 
> > Just toolchains headers and libraries, it is insane to put anything
> > else here ;-)
> 
> Maybe, but it is existing practice.  If you look at the email archives
> you will see many rants on the insanity of existing practice, but we
> can't change it, only adapt to it.

Not breaking someone's usecase is a valid and valuable goal I agree.

> You gotta have some way to separate out the stuff used by the host, from
> stuff that is for the target.  There are other ways that scons also
> uses.  Use what works for you.

I have to admit current git is much better in terms of cross-compilation
than 3.19 was.

> So, instead of spending time bike shedding, do you have a real problem
> here that needs solving?

None of problems I have are "real". All of them can be solved more or
less elegant way. I searched archives and found only rants and questions,
but nothing even remotely describing people's cross-build environment.

So, there is nothing to solve after all as those who asked before me
either found a way and kept it private, or keep patching gpsd [*] or
build only subset of options so they do not run into troubles.

[*] 
https://github.com/openembedded/meta-openembedded/blob/master/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
To be fair, this patch could be omited and situation solved with
cross-python wrapper.



reply via email to

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