Fixed
Created: Jun 3, 2015
Updated: Sep 8, 2018
Resolved Date: Jul 22, 2015
Previous ID: LIN6-9965
Found In Version: 7.0.0.5
Fix Version: 7.0.0.8
Severity: Standard
Applicable for: Wind River Linux 7
Component/s: Userspace
While bulding the tigervnc package, the Makefile copy pixman.h into its local building directory. Following code copy pixman.h and remove string "-I" with sed command.
unix/xserver/hw/vnc/Makefile:
pixman.h:
for i in ${XSERVERLIBS_CFLAGS}; do \
if [[ "$$i" =~ "pixman" ]]; then \
PIXMANINCDIR=`echo $$i | sed s/-I//g`; \
fi; \
done; \
if [ ! "$$PIXMANINCDIR" = "" ]; then \
cat $$PIXMANINCDIR/pixman.h | sed 's/xor/c_xor/' > $(srcdir)/pixman.h; \
else \
echo Pixman include directory not set in XSERVERLIBS_CFLAGS \(perhaps Pixman was not found by configure?\); \
fi
This sed command intend to remove the beginning "-I". However, because this sed command include 'g' option, all occurrence of "-I" is removed.
Therefore, when the project name include string "-I", this is removed and the building tigervnc is failed.
1. Make new project which include string "-I" within its name.
For example:
$ cd workspace
$ mkdir test-Installer
2. Configure new project which include tigervnc package.
For example, Installer project include tigervnc by default, configure as follows:
$ /path/to/wrlinux-6/wrlinux/configure --enable-board=intel-x86-64 --enable-kernel=standard --enable-rootfs=wr_installer --enable-target-installer=yes --with-installer-target-build=/path/to/intel-x86-64-glibc-std-standard-dist.ext3 --enable-bootimage=iso
3. Build the project
$ make
As a result, building tigervnc package failed with following error:
for i in -I/path/to/workspace/test-Installer/bitbake_build/tmp/sysroots/intel-x86-64/usr/include/pixman-1 -I/path/to/workspace/test-Installer/bitbake_build/tmp/sysroots/intel-x86-64/usr/include/freetype2 ; do \
if [[ "$i" =~ "pixman" ]]; then \
PIXMANINCDIR=`echo $i | sed s/-I//g`; \
fi; \
done; \
if [ ! "$PIXMANINCDIR" = "" ]; then \
cat $PIXMANINCDIR/pixman.h | sed 's/xor/c_xor/' > ./pixman.h; \
else \
echo Pixman include directory not set in XSERVERLIBS_CFLAGS \(perhaps Pixman was not found by configure?\); \
fi
cat: /path/to/workspace/testnstaller/bitbake_build/tmp/sysroots/intel-x86-64/usr/include/pixman-1/pixman.h: No such file or directory
In above, the cat command reports following directory not found:
/path/to/workspace/testnstaller/
However this should be as follows:
/path/to/workspace/test-Installer/