All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
To: buildroot@busybox.net
Subject: [Buildroot] Some Perl modules fail to cross-compile
Date: Thu, 14 Aug 2014 10:22:42 +0100	[thread overview]
Message-ID: <53EC7FE2.40603@imgtec.com> (raw)
In-Reply-To: <CAB0FRst4_dcG1GWQXAOBBTc1QqeV9-ZE+La1VPL+XiPr==uwGw@mail.gmail.com>

On 08/13/2014 05:50 PM, Fran?ois Perrad wrote:
> 2014-08-13 14:00 GMT+02:00 Vicente Olivert Riera <Vincent.Riera@imgtec.com>:
>> The affected modules are:
>>
>>   perl-gd
>>   perl-net-ssleay
>>   perl-xml-libxml
>>
>> The build system of these modules have a "use Config;" in the Makefile.PL.
>> Given that we are cross-compiling, the Perl program used to run that
>> Makefile.PL is the host's Perl program (because we can't run MIPS Perl in
>> our x86_64 machine, for instance), so the %Config read only variable
>> provided by the Config module contains all the information that the
>> Configure program had during the Perl build time (in our case, the host's
>> Perl). Then, the build system fills the OPTIMIZE variable (only if it's
>> empty) with some flags taken from that %Config variable, so some things like
>> "-mtune=generic" or "-m64" can end into the OPTIMIZE variable and cause a
>> compilation failure for target architectures which don't support those
>> flags.
>>
>> I have reported this bug upstream. Please read the comments:
>>    https://rt.cpan.org/Public/Bug/Display.html?id=97834
>>
>> My proposal to fix these three packages is to append the OPTIMIZE variable
>> to the configure options and set it to -mtune=$(BR2_GCC_TARGET_ARCH) to
>> avoid the OPTIMIZE variable get filled with incompatible flags.
>>
>> I have the patches ready and they work, so, if you think this is a valid
>> solution, just tell it to me and I will send the patches ASAP.
>>
>
> The host perl must load the host Config.pm.
> So, in order to cross compiling, we must overload all variables in the
> command line.
> Currently, only CCFLAGS/ccflags is set in package/pkg-perl.mk, in the same way,
> we could also set OPTIMIZE with " ".

I don't mind if we fix this by patching the .mk files of the three 
affected packages, or by patching the BR perl-package build system.

In case if we adopt the second solution (yours), don't you think it's 
better to set the OPTIMIZE variable to "-mtune=$(BR2_GCC_TARGET_ARCH)" 
instead of just " "?

> Fran?ois
>
>> Thanks.
>> --
>> Vincent
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot


-- 
Vincent

  reply	other threads:[~2014-08-14  9:22 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-13  6:30 [Buildroot] [autobuild.buildroot.net] Build results for 2014-08-12 Thomas Petazzoni
2014-08-13  8:15 ` [Buildroot] Analysis of build failures Thomas Petazzoni
2014-08-13  8:26   ` Nathaniel Roach
2014-08-13  9:05     ` Luca Ceresoli
2014-08-13  9:06       ` Thomas Petazzoni
2014-08-13 10:31       ` Peter Korsgaard
2014-08-13  8:33   ` yuvaraj.patil at wipro.com
2014-08-13 16:53   ` [Buildroot] [UNSURE]Analysis " François Perrad
2014-08-13 17:22     ` Thomas Petazzoni
2014-08-13 12:00 ` [Buildroot] Some Perl modules fail to cross-compile Vicente Olivert Riera
2014-08-13 16:50   ` François Perrad
2014-08-14  9:22     ` Vicente Olivert Riera [this message]
2014-08-14 19:03       ` [Buildroot] [UNSURE]Re: " François Perrad

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53EC7FE2.40603@imgtec.com \
    --to=vincent.riera@imgtec.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.