[Buildroot] [PATCH 2/2] pixman: add patch to fix build issue with musl

Eial Czerwacki eial at scalemp.com
Sun Jan 17 15:38:11 UTC 2016


the patch above fixed the issue, thanks.

now I have a python related failure but I'll send another mail on it.

On 01/17/2016 04:41 PM, Eial Czerwacki wrote:
> thanks, will try.
>
> On 01/17/2016 04:40 PM, Thomas Petazzoni wrote:
>> pixman fails to build with musl because <float.h> is included in
>> assembler files, which doesn't work with the <float.h> provided by
>> musl. This commit fixes that by patching pixman (patch submitted
>> upstream).
>>
>> Reported-by: Eial Czerwacki <eial at scalemp.com>
>> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>> ---
>>  ...an-private-include-float.h-only-in-C-code.patch | 46 ++++++++++++++++++++++
>>  1 file changed, 46 insertions(+)
>>  create mode 100644 package/pixman/0002-pixman-private-include-float.h-only-in-C-code.patch
>>
>> diff --git a/package/pixman/0002-pixman-private-include-float.h-only-in-C-code.patch b/package/pixman/0002-pixman-private-include-float.h-only-in-C-code.patch
>> new file mode 100644
>> index 0000000..455cebb
>> --- /dev/null
>> +++ b/package/pixman/0002-pixman-private-include-float.h-only-in-C-code.patch
>> @@ -0,0 +1,46 @@
>> +From 2a5b33fe5cb921993573392afac19185e224b49a Mon Sep 17 00:00:00 2001
>> +From: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>> +Date: Sun, 17 Jan 2016 14:14:28 +0100
>> +Subject: [PATCH] pixman-private: include <float.h> only in C code
>> +
>> +<float.h> is included unconditionally by pixman-private.h, which in
>> +turn gets included by assembler files. Unfortunately, with certain C
>> +libraries (like the musl C library), <float.h> cannot be included in
>> +assembler files:
>> +
>> +  CCLD     libpixman-arm-simd.la
>> +/home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h: Assembler messages:
>> +/home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h:8: Error: bad instruction `int __flt_rounds(void)'
>> +/home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h: Assembler messages:
>> +/home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h:8: Error: bad instruction `int __flt_rounds(void)'
>> +
>> +It turns out however that <float.h> is not needed by assembly files,
>> +so we move its inclusion within the #ifndef __ASSEMBLER__ condition,
>> +which solves the problem.
>> +
>> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>> +---
>> + pixman/pixman-private.h | 3 +--
>> + 1 file changed, 1 insertion(+), 2 deletions(-)
>> +
>> +diff --git a/pixman/pixman-private.h b/pixman/pixman-private.h
>> +index 73108a0..73a5414 100644
>> +--- a/pixman/pixman-private.h
>> ++++ b/pixman/pixman-private.h
>> +@@ -1,5 +1,3 @@
>> +-#include <float.h>
>> +-
>> + #ifndef PIXMAN_PRIVATE_H
>> + #define PIXMAN_PRIVATE_H
>> + 
>> +@@ -30,6 +28,7 @@
>> + #include <stdio.h>
>> + #include <string.h>
>> + #include <stddef.h>
>> ++#include <float.h>
>> + 
>> + #include "pixman-compiler.h"
>> + 
>> +-- 
>> +2.6.4
>> +
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>



More information about the buildroot mailing list