All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [v3, 12/12] Add option for paranoid unsafe path checking
@ 2014-12-13  0:04 Jörg Krause
  2014-12-13  0:19 ` Romain Naour
  0 siblings, 1 reply; 7+ messages in thread
From: Jörg Krause @ 2014-12-13  0:04 UTC (permalink / raw)
  To: buildroot

Hi Romain Naour,

what should I do if a package build fails because of an unsafe path
error? Propose a patch for the package?

Regards
J?rg Krause

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

* [Buildroot] [v3, 12/12] Add option for paranoid unsafe path checking
  2014-12-13  0:04 [Buildroot] [v3, 12/12] Add option for paranoid unsafe path checking Jörg Krause
@ 2014-12-13  0:19 ` Romain Naour
  2014-12-13 14:11   ` Jörg Krause
  0 siblings, 1 reply; 7+ messages in thread
From: Romain Naour @ 2014-12-13  0:19 UTC (permalink / raw)
  To: buildroot

Hello J?rg,

Le 13/12/2014 01:04, J?rg Krause a ?crit :
> Hi Romain Naour,
> 
> what should I do if a package build fails because of an unsafe path
> error? Propose a patch for the package?
> 

Yes, you needs patch the package's build system to remove the host path.

This error appear if one of the following paths is used during the
cross-compilation:
"/lib"
"/usr/include"
"/usr/lib"
"/usr/local/include"
"/usr/local/lib"

Also, you can disable the paranoid wrapper in
Build options > Advanced > paranoid check of library/header paths
(You'll just have a warning)

Best regards,
-- 
Romain Naour

OPEN WIDE Ing?nierie - Paris
23/25, rue Daviel| 75013 PARIS
http://ingenierie.openwide.fr

Le blog des technologies libres et embarqu?es :
http://www.linuxembedded.fr

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

* [Buildroot] [v3, 12/12] Add option for paranoid unsafe path checking
  2014-12-13  0:19 ` Romain Naour
@ 2014-12-13 14:11   ` Jörg Krause
  2014-12-13 15:17     ` Romain Naour
  0 siblings, 1 reply; 7+ messages in thread
From: Jörg Krause @ 2014-12-13 14:11 UTC (permalink / raw)
  To: buildroot

On Sa, 2014-12-13 at 01:19 +0100, Romain Naour wrote:
> Hello J?rg,
> 
> Le 13/12/2014 01:04, J?rg Krause a ?crit :
> > Hi Romain Naour,
> > 
> > what should I do if a package build fails because of an unsafe path
> > error? Propose a patch for the package?
> > 
> 
> Yes, you needs patch the package's build system to remove the host path.

Many thanks! So hostpad and wpa_supplicant need patches.

> 
> This error appear if one of the following paths is used during the
> cross-compilation:
> "/lib"
> "/usr/include"
> "/usr/lib"
> "/usr/local/include"
> "/usr/local/lib"

One more question: Why are these pathes unsafe for cross-compilation?

Best regards
J?rg Krause

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

* [Buildroot] [v3, 12/12] Add option for paranoid unsafe path checking
  2014-12-13 14:11   ` Jörg Krause
@ 2014-12-13 15:17     ` Romain Naour
  2014-12-13 15:48       ` Jörg Krause
  0 siblings, 1 reply; 7+ messages in thread
From: Romain Naour @ 2014-12-13 15:17 UTC (permalink / raw)
  To: buildroot

Hi J?rg,

Le 13/12/2014 15:11, J?rg Krause a ?crit :
> On Sa, 2014-12-13 at 01:19 +0100, Romain Naour wrote:
>> Hello J?rg,
>>
>> Le 13/12/2014 01:04, J?rg Krause a ?crit :
>>> Hi Romain Naour,
>>>
>>> what should I do if a package build fails because of an unsafe path
>>> error? Propose a patch for the package?
>>>
>>
>> Yes, you needs patch the package's build system to remove the host path.
> 
> Many thanks! So hostpad and wpa_supplicant need patches.

You're welcome. 
I didn't know that these packages were problems with the paranoid wrapper.

> 
>>
>> This error appear if one of the following paths is used during the
>> cross-compilation:
>> "/lib"
>> "/usr/include"
>> "/usr/lib"
>> "/usr/local/include"
>> "/usr/local/lib"
> 
> One more question: Why are these pathes unsafe for cross-compilation?

You have a good example here: 
http://autobuild.buildroot.net/results/da0/da018caa1b79369bdff41d23b8696bc673625e1b/build-end.log

perl-gd try to link with the host (x86_64) libraries wile cross-compiling for mipsel target.
It also include host headers path /usr/include

This is this kind of error we want to avoid before adding a new package or bumping version.

Best regards,
-- 
Romain Naour

OPEN WIDE Ing?nierie - Paris
23/25, rue Daviel| 75013 PARIS
http://ingenierie.openwide.fr

Le blog des technologies libres et embarqu?es :
http://www.linuxembedded.fr

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

* [Buildroot] [v3, 12/12] Add option for paranoid unsafe path checking
  2014-12-13 15:17     ` Romain Naour
@ 2014-12-13 15:48       ` Jörg Krause
  2014-12-13 16:37         ` Romain Naour
  2014-12-13 16:46         ` Samuel Martin
  0 siblings, 2 replies; 7+ messages in thread
From: Jörg Krause @ 2014-12-13 15:48 UTC (permalink / raw)
  To: buildroot

On Sa, 2014-12-13 at 16:17 +0100, Romain Naour wrote:
> Hi J?rg,
> 
> Le 13/12/2014 15:11, J?rg Krause a ?crit :
> > On Sa, 2014-12-13 at 01:19 +0100, Romain Naour wrote:
> >> Hello J?rg,
> >>
> >> Le 13/12/2014 01:04, J?rg Krause a ?crit :
> >>> Hi Romain Naour,
> >>>
> >>> what should I do if a package build fails because of an unsafe path
> >>> error? Propose a patch for the package?
> >>>
> >>
> >> Yes, you needs patch the package's build system to remove the host path.
> > 
> > Many thanks! So hostpad and wpa_supplicant need patches.
> 
> You're welcome.

Many thanks for the invitation :)

> I didn't know that these packages were problems with the paranoid wrapper.

make[1]: Entering directory
'/home/joerg/Work/buildroot/output/build/wpa_supplicant-2.3/wpa_supplicant'
arm-linux-gcc: WARNING: unsafe header/library path used in
cross-compilation: '/usr/include/libnl3'

> 
> > 
> >>
> >> This error appear if one of the following paths is used during the
> >> cross-compilation:
> >> "/lib"
> >> "/usr/include"
> >> "/usr/lib"
> >> "/usr/local/include"
> >> "/usr/local/lib"
> > 
> > One more question: Why are these pathes unsafe for cross-compilation?
> 
> You have a good example here: 
> http://autobuild.buildroot.net/results/da0/da018caa1b79369bdff41d23b8696bc673625e1b/build-end.log
> 
> perl-gd try to link with the host (x86_64) libraries wile cross-compiling for mipsel target.
> It also include host headers path /usr/include
> 
> This is this kind of error we want to avoid before adding a new package or bumping version.
> 
I see. So instead of eg "/usr/include" "/include" should be used? And
instead of "/lib" "/"?

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

* [Buildroot] [v3, 12/12] Add option for paranoid unsafe path checking
  2014-12-13 15:48       ` Jörg Krause
@ 2014-12-13 16:37         ` Romain Naour
  2014-12-13 16:46         ` Samuel Martin
  1 sibling, 0 replies; 7+ messages in thread
From: Romain Naour @ 2014-12-13 16:37 UTC (permalink / raw)
  To: buildroot

Hi J?rg,

Le 13/12/2014 16:48, J?rg Krause a ?crit :
> On Sa, 2014-12-13 at 16:17 +0100, Romain Naour wrote:
>> Hi J?rg,
>>
>> Le 13/12/2014 15:11, J?rg Krause a ?crit :
>>> On Sa, 2014-12-13 at 01:19 +0100, Romain Naour wrote:
>>>> Hello J?rg,
>>>>
>>>> Le 13/12/2014 01:04, J?rg Krause a ?crit :
>>>>> Hi Romain Naour,
>>>>>
>>>>> what should I do if a package build fails because of an unsafe path
>>>>> error? Propose a patch for the package?
>>>>>
>>>>
>>>> Yes, you needs patch the package's build system to remove the host path.
>>>
>>> Many thanks! So hostpad and wpa_supplicant need patches.
>>
>> You're welcome.
> 
> Many thanks for the invitation :)
> 
>> I didn't know that these packages were problems with the paranoid wrapper.
> 
> make[1]: Entering directory
> '/home/joerg/Work/buildroot/output/build/wpa_supplicant-2.3/wpa_supplicant'
> arm-linux-gcc: WARNING: unsafe header/library path used in
> cross-compilation: '/usr/include/libnl3'

Ok, this is bad :)

> 
>>
>>>
>>>>
>>>> This error appear if one of the following paths is used during the
>>>> cross-compilation:
>>>> "/lib"
>>>> "/usr/include"
>>>> "/usr/lib"
>>>> "/usr/local/include"
>>>> "/usr/local/lib"
>>>
>>> One more question: Why are these pathes unsafe for cross-compilation?
>>
>> You have a good example here: 
>> http://autobuild.buildroot.net/results/da0/da018caa1b79369bdff41d23b8696bc673625e1b/build-end.log
>>
>> perl-gd try to link with the host (x86_64) libraries wile cross-compiling for mipsel target.
>> It also include host headers path /usr/include
>>
>> This is this kind of error we want to avoid before adding a new package or bumping version.
>>
> I see. So instead of eg "/usr/include" "/include" should be used? And
> instead of "/lib" "/"?
> 

No, we need to include headers from STAGING_DIR.
So, instead of "/usr/include" we need to have "$(STAGING_DIR)/usr/include/"

see "--include=$(STAGING_DIR)/usr/include":
http://git.buildroot.net/buildroot/tree/package/sed/sed.mk

Best regards,
-- 
Romain Naour

OPEN WIDE Ing?nierie - Paris
23/25, rue Daviel| 75013 PARIS
http://ingenierie.openwide.fr

Le blog des technologies libres et embarqu?es :
http://www.linuxembedded.fr

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

* [Buildroot] [v3, 12/12] Add option for paranoid unsafe path checking
  2014-12-13 15:48       ` Jörg Krause
  2014-12-13 16:37         ` Romain Naour
@ 2014-12-13 16:46         ` Samuel Martin
  1 sibling, 0 replies; 7+ messages in thread
From: Samuel Martin @ 2014-12-13 16:46 UTC (permalink / raw)
  To: buildroot

On Sat, Dec 13, 2014 at 4:48 PM, J?rg Krause <jkrause@posteo.de> wrote:
> On Sa, 2014-12-13 at 16:17 +0100, Romain Naour wrote:
>> Hi J?rg,
>>
>> Le 13/12/2014 15:11, J?rg Krause a ?crit :
>> > On Sa, 2014-12-13 at 01:19 +0100, Romain Naour wrote:
>> >> Hello J?rg,
>> >>
>> >> Le 13/12/2014 01:04, J?rg Krause a ?crit :
>> >>> Hi Romain Naour,
>> >>>
>> >>> what should I do if a package build fails because of an unsafe path
>> >>> error? Propose a patch for the package?
>> >>>
>> >>
>> >> Yes, you needs patch the package's build system to remove the host path.
>> >
>> > Many thanks! So hostpad and wpa_supplicant need patches.
>>
>> You're welcome.
>
> Many thanks for the invitation :)
>
>> I didn't know that these packages were problems with the paranoid wrapper.
>
> make[1]: Entering directory
> '/home/joerg/Work/buildroot/output/build/wpa_supplicant-2.3/wpa_supplicant'
> arm-linux-gcc: WARNING: unsafe header/library path used in
> cross-compilation: '/usr/include/libnl3'
>
>>
>> >
>> >>
>> >> This error appear if one of the following paths is used during the
>> >> cross-compilation:
>> >> "/lib"
>> >> "/usr/include"
>> >> "/usr/lib"
>> >> "/usr/local/include"
>> >> "/usr/local/lib"
>> >
>> > One more question: Why are these pathes unsafe for cross-compilation?
>>
>> You have a good example here:
>> http://autobuild.buildroot.net/results/da0/da018caa1b79369bdff41d23b8696bc673625e1b/build-end.log
>>
>> perl-gd try to link with the host (x86_64) libraries wile cross-compiling for mipsel target.
>> It also include host headers path /usr/include
>>
>> This is this kind of error we want to avoid before adding a new package or bumping version.
>>
> I see. So instead of eg "/usr/include" "/include" should be used? And
> instead of "/lib" "/"?

Nope, just forget anything from /, this is wrong and not what is
needed for the target.
For the target, every material should be found in
$(O)/host/<target_tuple>/sysroot

So, instead of hard-coding absolute paths pointing to the host system,
the build system of the packages should:
- not add locations when they point to the defaults one.
  i.e. don't do "-I/usr/include", gcc already looks in this location,
the same for "-L/usr/lib" and "-L/lib"; so by default, a
cross-compiler will search in "<sysroot>/usr/include",
"<sysroot>/usr/lib" or "<sysroot>/lib";
- offer a way to set custom locations.
  e.g. if some headers are installed in
"<sysroot>/usr/include/foo/foo.h" and the build system expect
"-I/usr/include/foo" in its cflags, it should offer a way to pass the
foo header location for cross-compilation, i.e.
"-I<sysroot>/usr/include/foo"


Regards,

-- 
Samuel

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

end of thread, other threads:[~2014-12-13 16:46 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-13  0:04 [Buildroot] [v3, 12/12] Add option for paranoid unsafe path checking Jörg Krause
2014-12-13  0:19 ` Romain Naour
2014-12-13 14:11   ` Jörg Krause
2014-12-13 15:17     ` Romain Naour
2014-12-13 15:48       ` Jörg Krause
2014-12-13 16:37         ` Romain Naour
2014-12-13 16:46         ` Samuel Martin

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.