[cairo] how to build on 32 bit over a 64 bit system
Francesco Alfano
edacedpa at yahoo.it
Mon Sep 20 12:19:18 UTC 2021
I have examined the config.log files both on a native 32-bit machine,
where the library compiles correctly, and on the 64-bit machine where I
am trying to compile the 32bit version.
In the native 32bit machine config.log reports this
setting:ac_cv_func_XRenderCreateLinearGradient = yes,
in the 64-bit machine ac_cv_func_XRenderCreateLinearGradient = no.
Il 20/09/21 13:05, suzuki toshiya ha scritto:
> Dear Mr. Alfano,
>
> Who told you this method for cross building? According to the error
> message,
>
>> /usr/include/X11/extensions/Xrender.h:186:16: note: originally
>> defined here
>
> Looking at the pathname of this header file, the host header file (for
> 64 bit
> system) is included during the compilation, so the method you were
> told could
> be incorrect. Please show your error message to the person telling you
> do such,
> and ask the question what's wrong.
>
> In my understanding, today, getting a sufficiently powerful machine
> and run
> a VM which you can install a 32 bit Linux natively, it would be the
> easiest
> way to build 32 bit cairo on 64 bit machine with smallest headache. If
> you
> are going to build so big library for a VM, cross build would be
> unavoidable,
> but I think cairo is not so big. Or, extracting a precompiled binaries
> from
> the binary packages for 32 bit Linux would be still easier, I think.
>
> Regards,
> mpsuzuki
>
> On 2021/09/20 19:17, Francesco Alfano wrote:
>> I have to compile libcairo-1.14.2 in linux in 32 but format, on a 64
>> bit linux system.
>>
>> I have tried the following commands:
>> # ./autogen.sh --host = i386-pc-linux-gnu --build = i386-linux CFLAGS
>> = -m32
>> # ./configure --prefix = "/ usr / work / libcairo-1.14.2 / compiled
>> /" --host = i386-pc-linux-gnu --build = i386-linux CFLAGS = "- m32 -O"
>>
>> but, after I run make, the compilation returns me as an error:
>> In file included from cairo-xlib-private.h: 40: 0,
>> from cairo-xlib-display.c: 40:
>> cairo-xlib-xrender-private.h: 106: 16: error: redefinition of 'struct
>> _XLinearGradient'
>> typedef struct _XLinearGradient {
>> ^
>> In file included from cairo-xlib-xrender.h: 45: 0,
>> from cairo-xlib-xrender-private.h: 53,
>> from cairo-xlib-private.h: 40,
>> from cairo-xlib-display.c: 40:
>> /usr/include/X11/extensions/Xrender.h:186:16: note: originally
>> defined here
>> typedef struct _XLinearGradient {
>> ^
>> In file included from cairo-xlib-private.h: 40: 0,
>> from cairo-xlib-display.c: 40:
>> cairo-xlib-xrender-private.h: 109: 3: error: conflicting types for
>> 'XLinearGradient'
>> } XLinearGradient;
>>
>> How can build on 32 bit over a 64 bit system ?
>>
>>
>>
>>
>>
>>
--
--
Best Regards
Francesco Alfano
System Engineer
Phone: +39 (091) 409092
Fax: +39 (091) 6766932
e-mail: ced at reroberto.it
e-mail: edacedpa at yahoo.it
More information about the cairo
mailing list