diff mbox

[v3,1/1] ncftp: fix cross-compilation test

Message ID 1393016452-10812-1-git-send-email-romain.naour@openwide.fr
State Accepted
Commit 1963bc815d7d61c7dd7196c5f1543ea59b9e7824
Headers show

Commit Message

Romain Naour Feb. 21, 2014, 9 p.m. UTC
The cross-compilation test is based on the ability to run
a test program on the host, which is wrong.

If it runs, then the configure script concludes
that we're doing native compilation,
if it doesn't run, we're doing cross-compilation.

The configure script needs to be regenerated to fix the
cross-compilation test.

Fixes
http://autobuild.buildroot.net/results/969/969a49ae97a50634ea846a82b9c360e4fb020ace/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 package/ncftp/ncftp.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Thomas Petazzoni Feb. 21, 2014, 10:57 p.m. UTC | #1
Dear Romain Naour,

On Fri, 21 Feb 2014 22:00:52 +0100, Romain Naour wrote:
> The cross-compilation test is based on the ability to run
> a test program on the host, which is wrong.
> 
> If it runs, then the configure script concludes
> that we're doing native compilation,
> if it doesn't run, we're doing cross-compilation.
> 
> The configure script needs to be regenerated to fix the
> cross-compilation test.
> 
> Fixes
> http://autobuild.buildroot.net/results/969/969a49ae97a50634ea846a82b9c360e4fb020ace/build-end.log
> 
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  package/ncftp/ncftp.mk | 8 ++++++++
>  1 file changed, 8 insertions(+)

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Peter Korsgaard Feb. 21, 2014, 11:41 p.m. UTC | #2
>>>>> "Romain" == Romain Naour <romain.naour@openwide.fr> writes:

 > The cross-compilation test is based on the ability to run
 > a test program on the host, which is wrong.

 > If it runs, then the configure script concludes
 > that we're doing native compilation,
 > if it doesn't run, we're doing cross-compilation.

 > The configure script needs to be regenerated to fix the
 > cross-compilation test.

 > Fixes
 > http://autobuild.buildroot.net/results/969/969a49ae97a50634ea846a82b9c360e4fb020ace/build-end.log

 > Signed-off-by: Romain Naour <romain.naour@openwide.fr>

Committed, thanks.
Arnout Vandecappelle Feb. 23, 2014, 10:23 p.m. UTC | #3
On 02/21/14 22:00, Romain Naour wrote:
> The cross-compilation test is based on the ability to run
> a test program on the host, which is wrong.
> 
> If it runs, then the configure script concludes
> that we're doing native compilation,
> if it doesn't run, we're doing cross-compilation.
> 
> The configure script needs to be regenerated to fix the
> cross-compilation test.
> 
> Fixes
> http://autobuild.buildroot.net/results/969/969a49ae97a50634ea846a82b9c360e4fb020ace/build-end.log
> 
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  package/ncftp/ncftp.mk | 8 ++++++++

 Looks like the patch file itself got lost in this revision...


 Regards,
 Arnout

>  1 file changed, 8 insertions(+)
> 
> diff --git a/package/ncftp/ncftp.mk b/package/ncftp/ncftp.mk
> index ff6c70a..841c82b 100644
> --- a/package/ncftp/ncftp.mk
> +++ b/package/ncftp/ncftp.mk
> @@ -11,6 +11,14 @@ NCFTP_TARGET_BINS = ncftp
>  NCFTP_LICENSE = Clarified Artistic License
>  NCFTP_LICENSE_FILES = doc/LICENSE.txt
>  
> +NCFTP_DEPENDENCIES = host-autoconf
> +
> +define NCFTP_RUN_AUTOCONF
> +       (cd $(@D); $(HOST_DIR)/usr/bin/autoconf -I$(@D)/autoconf_local/)
> +endef
> +
> +NCFTP_PRE_CONFIGURE_HOOKS += NCFTP_RUN_AUTOCONF
> +
>  ifeq ($(BR2_PACKAGE_NCFTP_GET),y)
>  	NCFTP_TARGET_BINS += ncftpget
>  endif
>
Romain Naour Feb. 23, 2014, 10:52 p.m. UTC | #4
Hi Arnout,
Le 23/02/2014 23:23, Arnout Vandecappelle a écrit :
> On 02/21/14 22:00, Romain Naour wrote:
>> The cross-compilation test is based on the ability to run
>> a test program on the host, which is wrong.
>>
>> If it runs, then the configure script concludes
>> that we're doing native compilation,
>> if it doesn't run, we're doing cross-compilation.
>>
>> The configure script needs to be regenerated to fix the
>> cross-compilation test.
>>
>> Fixes
>> http://autobuild.buildroot.net/results/969/969a49ae97a50634ea846a82b9c360e4fb020ace/build-end.log
>>
>> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
>> ---
>>   package/ncftp/ncftp.mk | 8 ++++++++
>   Looks like the patch file itself got lost in this revision...

Thanks to the advice of ThomasP, the patch file is no longer necessary 
since the configure script is regenerated correctly by autoconf.
I tested this patch in the same conditions as for ncftp build errors 
(with a chrootwhere ncurses was not installed on the host)

Best regards,
Romain

>
>
>   Regards,
>   Arnout
>
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/package/ncftp/ncftp.mk b/package/ncftp/ncftp.mk
>> index ff6c70a..841c82b 100644
>> --- a/package/ncftp/ncftp.mk
>> +++ b/package/ncftp/ncftp.mk
>> @@ -11,6 +11,14 @@ NCFTP_TARGET_BINS = ncftp
>>   NCFTP_LICENSE = Clarified Artistic License
>>   NCFTP_LICENSE_FILES = doc/LICENSE.txt
>>   
>> +NCFTP_DEPENDENCIES = host-autoconf
>> +
>> +define NCFTP_RUN_AUTOCONF
>> +       (cd $(@D); $(HOST_DIR)/usr/bin/autoconf -I$(@D)/autoconf_local/)
>> +endef
>> +
>> +NCFTP_PRE_CONFIGURE_HOOKS += NCFTP_RUN_AUTOCONF
>> +
>>   ifeq ($(BR2_PACKAGE_NCFTP_GET),y)
>>   	NCFTP_TARGET_BINS += ncftpget
>>   endif
>>
>
Arnout Vandecappelle Feb. 25, 2014, 5:13 p.m. UTC | #5
On 23/02/14 23:52, Romain Naour wrote:
> Hi Arnout,
> Le 23/02/2014 23:23, Arnout Vandecappelle a écrit :
>> On 02/21/14 22:00, Romain Naour wrote:
>>> The cross-compilation test is based on the ability to run
>>> a test program on the host, which is wrong.
>>>
>>> If it runs, then the configure script concludes
>>> that we're doing native compilation,
>>> if it doesn't run, we're doing cross-compilation.
>>>
>>> The configure script needs to be regenerated to fix the
>>> cross-compilation test.
>>>
>>> Fixes
>>> http://autobuild.buildroot.net/results/969/969a49ae97a50634ea846a82b9c360e4fb020ace/build-end.log
>>>
>>>
>>> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
>>> ---
>>>   package/ncftp/ncftp.mk | 8 ++++++++
>>   Looks like the patch file itself got lost in this revision...
> 
> Thanks to the advice of ThomasP, the patch file is no longer necessary
> since the configure script is regenerated correctly by autoconf.
> I tested this patch in the same conditions as for ncftp build errors
> (with a chrootwhere ncurses was not installed on the host)

 OK, now I understand.

 I'm going to send a follow-up patch to clarify this. Otherwise, an
eventual version bumper will have a hard time understanding what is going on.


 Regards,
 Arnout

> 
> Best regards,
> Romain
> 
>>
>>
>>   Regards,
>>   Arnout
>>
>>>   1 file changed, 8 insertions(+)
>>>
>>> diff --git a/package/ncftp/ncftp.mk b/package/ncftp/ncftp.mk
>>> index ff6c70a..841c82b 100644
>>> --- a/package/ncftp/ncftp.mk
>>> +++ b/package/ncftp/ncftp.mk
>>> @@ -11,6 +11,14 @@ NCFTP_TARGET_BINS = ncftp
>>>   NCFTP_LICENSE = Clarified Artistic License
>>>   NCFTP_LICENSE_FILES = doc/LICENSE.txt
>>>   +NCFTP_DEPENDENCIES = host-autoconf
>>> +
>>> +define NCFTP_RUN_AUTOCONF
>>> +       (cd $(@D); $(HOST_DIR)/usr/bin/autoconf -I$(@D)/autoconf_local/)
>>> +endef
>>> +
>>> +NCFTP_PRE_CONFIGURE_HOOKS += NCFTP_RUN_AUTOCONF
>>> +
>>>   ifeq ($(BR2_PACKAGE_NCFTP_GET),y)
>>>       NCFTP_TARGET_BINS += ncftpget
>>>   endif
>>>
>>
> 
>
Romain Naour Feb. 26, 2014, 9:05 p.m. UTC | #6
Hi Arnout, All
Le 25/02/2014 18:13, Arnout Vandecappelle a écrit :
> On 23/02/14 23:52, Romain Naour wrote:
>> Hi Arnout,
>> Le 23/02/2014 23:23, Arnout Vandecappelle a écrit :
>>> On 02/21/14 22:00, Romain Naour wrote:
>>>> The cross-compilation test is based on the ability to run
>>>> a test program on the host, which is wrong.
>>>>
>>>> If it runs, then the configure script concludes
>>>> that we're doing native compilation,
>>>> if it doesn't run, we're doing cross-compilation.
>>>>
>>>> The configure script needs to be regenerated to fix the
>>>> cross-compilation test.
>>>>
>>>> Fixes
>>>> http://autobuild.buildroot.net/results/969/969a49ae97a50634ea846a82b9c360e4fb020ace/build-end.log
>>>>
>>>>
>>>> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
>>>> ---
>>>>    package/ncftp/ncftp.mk | 8 ++++++++
>>>    Looks like the patch file itself got lost in this revision...
>> Thanks to the advice of ThomasP, the patch file is no longer necessary
>> since the configure script is regenerated correctly by autoconf.
>> I tested this patch in the same conditions as for ncftp build errors
>> (with a chrootwhere ncurses was not installed on the host)
>   OK, now I understand.
>
>   I'm going to send a follow-up patch to clarify this. Otherwise, an
> eventual version bumper will have a hard time understanding what is going on.
>
You are right, the problem is not obvious and
I should have written a comment in addition to the commit log.

I wonder if any other packages can be affected by this issue ?
At least we know that autoconf 2.13 is not safe for cross-compilation...

Thank you for clarifying this issue :)

Best regards,
Romain

>>>>    1 file changed, 8 insertions(+)
>>>>
>>>> diff --git a/package/ncftp/ncftp.mk b/package/ncftp/ncftp.mk
>>>> index ff6c70a..841c82b 100644
>>>> --- a/package/ncftp/ncftp.mk
>>>> +++ b/package/ncftp/ncftp.mk
>>>> @@ -11,6 +11,14 @@ NCFTP_TARGET_BINS = ncftp
>>>>    NCFTP_LICENSE = Clarified Artistic License
>>>>    NCFTP_LICENSE_FILES = doc/LICENSE.txt
>>>>    +NCFTP_DEPENDENCIES = host-autoconf
>>>> +
>>>> +define NCFTP_RUN_AUTOCONF
>>>> +       (cd $(@D); $(HOST_DIR)/usr/bin/autoconf -I$(@D)/autoconf_local/)
>>>> +endef
>>>> +
>>>> +NCFTP_PRE_CONFIGURE_HOOKS += NCFTP_RUN_AUTOCONF
>>>> +
>>>>    ifeq ($(BR2_PACKAGE_NCFTP_GET),y)
>>>>        NCFTP_TARGET_BINS += ncftpget
>>>>    endif
>>>>
>>
>
Arnout Vandecappelle Feb. 26, 2014, 9:23 p.m. UTC | #7
On 26/02/14 22:05, Romain Naour wrote:
> I wonder if any other packages can be affected by this issue ?
> At least we know that autoconf 2.13 is not safe for cross-compilation...

 The first autoconf version after 2.13 is 2.50, and this solves the
cross-compilation issue (see release notes). 2.50 was released on May 21,
2001. Seems unlikely that there are many packages that are distributed
with such an ancient autoconf...

 Regards,
 Arnout
diff mbox

Patch

diff --git a/package/ncftp/ncftp.mk b/package/ncftp/ncftp.mk
index ff6c70a..841c82b 100644
--- a/package/ncftp/ncftp.mk
+++ b/package/ncftp/ncftp.mk
@@ -11,6 +11,14 @@  NCFTP_TARGET_BINS = ncftp
 NCFTP_LICENSE = Clarified Artistic License
 NCFTP_LICENSE_FILES = doc/LICENSE.txt
 
+NCFTP_DEPENDENCIES = host-autoconf
+
+define NCFTP_RUN_AUTOCONF
+       (cd $(@D); $(HOST_DIR)/usr/bin/autoconf -I$(@D)/autoconf_local/)
+endef
+
+NCFTP_PRE_CONFIGURE_HOOKS += NCFTP_RUN_AUTOCONF
+
 ifeq ($(BR2_PACKAGE_NCFTP_GET),y)
 	NCFTP_TARGET_BINS += ncftpget
 endif