Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Bug report in pkg-autotools.mk
@ 2012-12-19 11:32 Yvan Roch
  2012-12-19 12:35 ` Thomas Petazzoni
  0 siblings, 1 reply; 3+ messages in thread
From: Yvan Roch @ 2012-12-19 11:32 UTC (permalink / raw)
  To: buildroot

Hi all,

In the pkg-autotools.mk file, line 238 (BR2012.11) or
Makefile.autotools.in line 250 (BR2012.02), there is the following
command:

$$(SED) "s:\(['= ]\)/usr:\\1$(STAGING_DIR)/usr:g" $$$$i; \

This command corrects the bad path for libraries installed in the
staging directory in the libtool .la files.

But, if Buildroot resides in a directory that contains /usr (for
example /usr/local/src/buildroot-2012.11), $(STAGING_DIR) contains
/usr and this command is not idempotent.
Each time an autotools package is built, the paths in .la files are
longer and false.

Regards,

Yvan Roch.

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

* [Buildroot] Bug report in pkg-autotools.mk
  2012-12-19 11:32 [Buildroot] Bug report in pkg-autotools.mk Yvan Roch
@ 2012-12-19 12:35 ` Thomas Petazzoni
  2012-12-19 13:15   ` Yvan Roch
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2012-12-19 12:35 UTC (permalink / raw)
  To: buildroot

Dear Yvan Roch,

On Wed, 19 Dec 2012 12:32:43 +0100, Yvan Roch wrote:

> In the pkg-autotools.mk file, line 238 (BR2012.11) or
> Makefile.autotools.in line 250 (BR2012.02), there is the following
> command:
> 
> $$(SED) "s:\(['= ]\)/usr:\\1$(STAGING_DIR)/usr:g" $$$$i; \
> 
> This command corrects the bad path for libraries installed in the
> staging directory in the libtool .la files.
> 
> But, if Buildroot resides in a directory that contains /usr (for
> example /usr/local/src/buildroot-2012.11), $(STAGING_DIR) contains
> /usr and this command is not idempotent.
> Each time an autotools package is built, the paths in .la files are
> longer and false.

Indeed. I have a patch fixing that:

-               $$(SED) "s:\(['= ]\)/usr:\\1$(STAGING_DIR)/usr:g" $$$$i; \
+               $$(SED) "\:['= ]$(STAGING_DIR)/usr:!s:\(['= ]\)/usr:\\1$(STAGING_DIR)/usr:g" $$$$i; \

However, using a Buildroot in /usr is still broken after that, due to
libglib2 having .la files with incorrect paths (paths pointing to the
build directory). I haven't managed to fix those, so I didn't yet send
the patch to fix the more general .la files problem.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] Bug report in pkg-autotools.mk
  2012-12-19 12:35 ` Thomas Petazzoni
@ 2012-12-19 13:15   ` Yvan Roch
  0 siblings, 0 replies; 3+ messages in thread
From: Yvan Roch @ 2012-12-19 13:15 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

Many thanks for your quick answer.
I will not use a /usr* path until you publish your general patch for .la files.

There are several other .la files with paths pointing to the build directory.
For example: libdirect.la, libfusion.la, libuuid.la, libblkid.la, libpcre.la
But it's not exhaustive, it's in my own build...

Regards,

Yvan.

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

end of thread, other threads:[~2012-12-19 13:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-19 11:32 [Buildroot] Bug report in pkg-autotools.mk Yvan Roch
2012-12-19 12:35 ` Thomas Petazzoni
2012-12-19 13:15   ` Yvan Roch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox