as-needed i KDE* - co z tym robimy?

Arkadiusz Miskiewicz arekm w pld-linux.org
Sob, 9 Wrz 2006, 12:51:43 CEST


On Saturday 09 September 2006 10:22, Jakub Bogusz wrote:
> On Fri, Sep 08, 2006 at 10:32:45PM +0200, Arkadiusz Miskiewicz wrote:
> > Witam,
> >
> > Co robimy z as-needed i kde? Wyłączamy per paczka czy ktoś wpadł na
> > rozwiązanie (lub choć wie w czym jest problem... czy libtool zapomina
> > dodać -lc itp?).
>
> KDE ma coś nachrzanione w swoich makrach do auto* i w w przypadku
> autoconfa 2.60 tworzy niesprawnego libtoola.
> Wyłączenie as-needed nie naprawi linkowania (tam jest -nostdlib), trzeba
> znaleźć źródło problemu.
> Może chodzić o to, że autoconf 2.60 ustawia "set -o posix" także dla ksh,
> do czego ksh podchodzi rygorystycznie i niektóre konstrukcje przestają
> działać (szczegóły w man ksh). W szczególności \"\" wewnątrz `` zachowują
> się inaczej (przez to np. php się teraz nie buduje).

Dokładnie w tym siedział problem. W KDE jest sobie admin/libtool.m4.in 
zawierający:
  output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e 
\"$no_glob_subst\"`"

co owocuje

sed: -e expression #2, char 1: unknown command: `"'


Poprawka:
[arekm w arm ~/rpm/SOURCES]$ cat kde-ac260-lt.patch
diff -urN arts-1.5.4.org/admin/libtool.m4.in arts-1.5.4/admin/libtool.m4.in
--- arts-1.5.4.org/admin/libtool.m4.in  2006-07-24 09:06:24.000000000 +0200
+++ arts-1.5.4/admin/libtool.m4.in      2006-09-09 12:45:13.172062500 +0200
@@ -3542,7 +3542,7 @@
   # The `*' in the case matches for architectures that use `case' in
   # $output_verbose_cmd can trigger glob expansion during the loop
   # eval without this substitution.
-  output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e 
\"$no_glob_subst\"`"
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | 
$Xsed -e "$no_glob_subst"`

   for p in `eval $output_verbose_link_cmd`; do
     case $p in

(tak jest w aktualnym libtoolu)

-- 
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/


Więcej informacji o liście dyskusyjnej pld-devel-pl