[oe] [meta-oe] gpsd fails to compile due to scons-generated malformed command line
Schäfer-Hutter
schaefer.hutter at gmail.com
Wed Jun 29 08:28:58 UTC 2016
FYI:
I had to patch the SConstruct file of gpsd like follows.
The first fix avoids double-quoting of the CPPFLAGS and the second
avoids calling ncurses5-config since that will end-up trying to link
the native x86-version of the ncurses library with cross-compiled
binaries.
--- a/SConstruct 2016-06-28 18:33:37.404158765 +0200
+++ b/SConstruct 2016-06-28 19:48:53.596024256 +0200
@@ -236,7 +236,7 @@
env.Replace(**{j: os.getenv(i)})
for flags in ["LDFLAGS", "LINKFLAGS", "SHLINKFLAGS", "CPPFLAGS"]:
if os.environ.has_key(flags):
- env.MergeFlags({flags : [os.getenv(flags)]})
+ env.MergeFlags({flags : [Split(os.getenv(flags))]})
# Keep scan-build options in the environment
for key, value in os.environ.iteritems():
@@ -455,7 +454,7 @@
if config.CheckPKG('ncurses'):
ncurseslibs = pkg_config('ncurses')
elif config.CheckExecutable('ncurses5-config --version',
'ncurses5-config'):
- ncurseslibs = ['!ncurses5-config --libs --cflags']
+ ncurseslibs = ['-lncurses']
elif sys.platform.startswith('freebsd'):
ncurseslibs= [ '-lncurses' ]
elif sys.platform.startswith('openbsd'):
2016-06-15 11:47 GMT+02:00 Schäfer-Hutter <schaefer.hutter at gmail.com>:
> Hi there,
>
> I'm getting the following error when trying to compile gpsd:
>
> | arm-linux-gnueabihf-gcc -march=armv7-a -marm -mthumb-interwork
> -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15
> --sysroot=/home/ashaepe/yocto/tmn2000/build/arago-tmp-external-linaro-toolchain/sysroots/k2l-evm
> -o bits.os -c -isystem/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/arm-linux-gnueabihf/include
> -Wno-error=unused-value -fstack-protector -O2 -pipe -g
> -feliminate-unused-debug-types -D_GNU_SOURCE
> --sysroot=/home/ashaepe/yocto/tmn2000/build/arago-tmp-external-linaro-toolchain/sysroots/k2l-evm
> -Wextra -Wall -Wno-uninitialized -Wno-missing-field-initializers
> -Wcast-align -Wmissing-declarations -Wmissing-prototypes
> -Wstrict-prototypes -Wpointer-arith -Wreturn-type -g -O0 -fPIC "
> -isystem/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/arm-linux-gnueabihf/include
> -Wno-error=unused-value -fstack-protector" bits.c
> | arm-linux-gnueabihf-gcc: error:
> -isystem/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/arm-linux-gnueabihf/include
> -Wno-error=unused-value -fstack-protector: No such file or directory
> | scons: *** [bits.os] Error 1
>
> Obviously the command line part in double quotes ("
> -isystem/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/arm-linux-gnueabihf/include
> -Wno-error=unused-value -fstack-protector") is wrongly placed/repeated
> by SCons.
>
> But I'm lost finding a reason for this behaviour? Any hint would be
> appreciated greatly...
>
> Regards,
> Peter
More information about the Openembedded-devel
mailing list