All of lore.kernel.org
 help / color / mirror / Atom feed
* [libgpiod] AC_FUNC_MALLOC cross-compile failure
@ 2021-01-05 14:09 Anssi Kolehmainen
  2021-01-05 17:24 ` Andy Shevchenko
  2021-01-06  7:21 ` Bartosz Golaszewski
  0 siblings, 2 replies; 5+ messages in thread
From: Anssi Kolehmainen @ 2021-01-05 14:09 UTC (permalink / raw)
  To: linux-gpio

When libgpiod is cross-compiled it will use rpl_malloc instead malloc which then 
causes linking failure at later stage.

This happens because AC_FUNC_MALLOC wants to execute malloc() in a live system 
and thus cannot be run at cross-compilation time. libgpiod should just do 
AC_CHECK_FUNC instead.

diff --git a/configure.ac b/configure.ac
index ddb9dc2..5f41c4a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -82,7 +82,7 @@ AC_DEFUN([HEADER_NOT_FOUND_CXX],
  
  # This is always checked (library needs this)
  AC_HEADER_STDC
-AC_FUNC_MALLOC
+AC_CHECK_FUNC([malloc], [], [FUNC_NOT_FOUND_LIB([malloc])])
  AC_CHECK_FUNC([ioctl], [], [FUNC_NOT_FOUND_LIB([ioctl])])
  AC_CHECK_FUNC([asprintf], [], [FUNC_NOT_FOUND_LIB([asprintf])])
  AC_CHECK_FUNC([scandir], [], [FUNC_NOT_FOUND_LIB([scandir])])

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [libgpiod] AC_FUNC_MALLOC cross-compile failure
  2021-01-05 14:09 [libgpiod] AC_FUNC_MALLOC cross-compile failure Anssi Kolehmainen
@ 2021-01-05 17:24 ` Andy Shevchenko
  2021-01-05 19:52   ` Anssi Kolehmainen
  2021-01-06  7:21 ` Bartosz Golaszewski
  1 sibling, 1 reply; 5+ messages in thread
From: Andy Shevchenko @ 2021-01-05 17:24 UTC (permalink / raw)
  To: Anssi Kolehmainen; +Cc: open list:GPIO SUBSYSTEM

On Tue, Jan 5, 2021 at 4:17 PM Anssi Kolehmainen <anssi@aketzu.net> wrote:
>
> When libgpiod is cross-compiled it will use rpl_malloc instead malloc which then
> causes linking failure at later stage.
>
> This happens because AC_FUNC_MALLOC wants to execute malloc() in a live system
> and thus cannot be run at cross-compilation time. libgpiod should just do
> AC_CHECK_FUNC instead.

Which version of aufotools you tried? (2.69?)
Btw, have you tried autotools-2.70?

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [libgpiod] AC_FUNC_MALLOC cross-compile failure
  2021-01-05 17:24 ` Andy Shevchenko
@ 2021-01-05 19:52   ` Anssi Kolehmainen
  2021-01-06  7:19     ` Bartosz Golaszewski
  0 siblings, 1 reply; 5+ messages in thread
From: Anssi Kolehmainen @ 2021-01-05 19:52 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: open list:GPIO SUBSYSTEM

On Tue, Jan 05, 2021 at 07:24:46PM +0200, Andy Shevchenko wrote:
>On Tue, Jan 5, 2021 at 4:17 PM Anssi Kolehmainen <anssi@aketzu.net> wrote:
>>
>> When libgpiod is cross-compiled it will use rpl_malloc instead malloc which then
>> causes linking failure at later stage.
>>
>> This happens because AC_FUNC_MALLOC wants to execute malloc() in a live system
>> and thus cannot be run at cross-compilation time. libgpiod should just do
>> AC_CHECK_FUNC instead.
>
>Which version of aufotools you tried? (2.69?)
>Btw, have you tried autotools-2.70?

I have autoconf 2.69 from Debian testing.

Quick testing with 2.70 looks good.
Apparently fixed in 7fbb55372 in May 2012... And 2.69 is from April 2012.

I don't know which kind of facepalm would be suitable for this.

-- 
Anssi Kolehmainen

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [libgpiod] AC_FUNC_MALLOC cross-compile failure
  2021-01-05 19:52   ` Anssi Kolehmainen
@ 2021-01-06  7:19     ` Bartosz Golaszewski
  0 siblings, 0 replies; 5+ messages in thread
From: Bartosz Golaszewski @ 2021-01-06  7:19 UTC (permalink / raw)
  To: Anssi Kolehmainen; +Cc: Andy Shevchenko, open list:GPIO SUBSYSTEM

On Tue, Jan 5, 2021 at 8:54 PM Anssi Kolehmainen <anssi@aketzu.net> wrote:
>
> On Tue, Jan 05, 2021 at 07:24:46PM +0200, Andy Shevchenko wrote:
> >On Tue, Jan 5, 2021 at 4:17 PM Anssi Kolehmainen <anssi@aketzu.net> wrote:
> >>
> >> When libgpiod is cross-compiled it will use rpl_malloc instead malloc which then
> >> causes linking failure at later stage.
> >>
> >> This happens because AC_FUNC_MALLOC wants to execute malloc() in a live system
> >> and thus cannot be run at cross-compilation time. libgpiod should just do
> >> AC_CHECK_FUNC instead.
> >
> >Which version of aufotools you tried? (2.69?)
> >Btw, have you tried autotools-2.70?
>
> I have autoconf 2.69 from Debian testing.
>
> Quick testing with 2.70 looks good.
> Apparently fixed in 7fbb55372 in May 2012... And 2.69 is from April 2012.
>
> I don't know which kind of facepalm would be suitable for this.
>
> --
> Anssi Kolehmainen

IIRC someone suggested this to me a long time ago but since there were
no other reports and I mostly just use an SDK generated by yocto which
has some workaround for it, I never saw the need for it. I'll apply
the patch even if it was fixed in v2.70 because it looks like a valid
concern.

Bartosz

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [libgpiod] AC_FUNC_MALLOC cross-compile failure
  2021-01-05 14:09 [libgpiod] AC_FUNC_MALLOC cross-compile failure Anssi Kolehmainen
  2021-01-05 17:24 ` Andy Shevchenko
@ 2021-01-06  7:21 ` Bartosz Golaszewski
  1 sibling, 0 replies; 5+ messages in thread
From: Bartosz Golaszewski @ 2021-01-06  7:21 UTC (permalink / raw)
  To: Anssi Kolehmainen; +Cc: open list:GPIO SUBSYSTEM

On Tue, Jan 5, 2021 at 3:16 PM Anssi Kolehmainen <anssi@aketzu.net> wrote:
>
> When libgpiod is cross-compiled it will use rpl_malloc instead malloc which then
> causes linking failure at later stage.
>
> This happens because AC_FUNC_MALLOC wants to execute malloc() in a live system
> and thus cannot be run at cross-compilation time. libgpiod should just do
> AC_CHECK_FUNC instead.
>
> diff --git a/configure.ac b/configure.ac
> index ddb9dc2..5f41c4a 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -82,7 +82,7 @@ AC_DEFUN([HEADER_NOT_FOUND_CXX],
>
>   # This is always checked (library needs this)
>   AC_HEADER_STDC
> -AC_FUNC_MALLOC
> +AC_CHECK_FUNC([malloc], [], [FUNC_NOT_FOUND_LIB([malloc])])
>   AC_CHECK_FUNC([ioctl], [], [FUNC_NOT_FOUND_LIB([ioctl])])
>   AC_CHECK_FUNC([asprintf], [], [FUNC_NOT_FOUND_LIB([asprintf])])
>   AC_CHECK_FUNC([scandir], [], [FUNC_NOT_FOUND_LIB([scandir])])

What is the target branch here? It doesn't apply neither to master nor
to v1.6.x. Can you also add the Signed-off-by tag please?

Bartosz

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-01-06  7:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-05 14:09 [libgpiod] AC_FUNC_MALLOC cross-compile failure Anssi Kolehmainen
2021-01-05 17:24 ` Andy Shevchenko
2021-01-05 19:52   ` Anssi Kolehmainen
2021-01-06  7:19     ` Bartosz Golaszewski
2021-01-06  7:21 ` Bartosz Golaszewski

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.