fontlinge make'n nicht mehr?

View: New views
17 Messages — Rating Filter:   Alert me  

fontlinge make'n nicht mehr?

by Joerg Rossdeutscher :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hallo,

Ich wollte gerade jemandem helfen, die CVS version zu installieren,
dabei stellte ich fest, das die bei mir auch nicht mehr geht:


cvs -d:pserver:anonymous@...:/cvsroot/fontlinge login


cvs -z3 -d:pserver:anonymous@...:/cvsroot/fontlinge co
-P fontlinge_rc

./configure

make

cd modules && make
make[1]: Entering directory
`/disk3/download/fontlinge_test/fontlinge_rc/modules'
sed ' \
        s¡@prefix@¡/usr/local¡       ; \
        s¡@bindir@¡/usr/local/bin¡       ; \
        s¡@datadir@¡/usr/local/share¡     ; \
        s¡@docdir@¡/usr/local/share/doc/fontlinge¡       ; \
        s¡@mandir@¡/usr/local/share/man¡       ; \
        s¡@man3dir@¡/usr/local/share/man/man3¡     ; \
        s¡@shareddir@¡/usr/local/share/fontlinge¡ ; \
        s¡@htmldir@¡/usr/local/share/fontlinge/webgui¡     ; \
        s¡@webgui_html@¡download.php favicon.ico fontinfo.php fontinfo_tags.php
fontlinge.css functions.php img.php index.html index.php preview.php
preview_img.php set.php¡         ; \
        s¡@webgui_scripts@¡preview.pl¡   ; \
        s¡@webgui_more@¡custom.php htaccess¡         ; \
        s¡@webgui_imgs@¡back.png back_start.png divider.png error.png
forward.png forward_end.png i.png leer.png ok.gif ok.png
set_category.png sleep.png vdivider.png view.png
window_size.png¡         ; \
        ' < fontlinge/Config.pm.in > fontlinge/Config.pm || { rm -f
fontlinge/Config.pm ; exit 1 ; }
sed: -e Ausdruck #1, Zeichen 816: unterminated address regex
make[1]: *** [fontlinge/Config.pm] Fehler 1
make[1]: Leaving directory
`/disk3/download/fontlinge_test/fontlinge_rc/modules'
make: *** [make_modules] Fehler 2




Ich habe gerade grosse Probleme gehabt, das log vom Terminal in den
Mailclient zu bringen - UTF-8-Problem. Kann das sein, das sed an den
"komischen" Trennern scheitert?

make --version
GNU Make 3.81beta4

echo $LANG
de_DE.UTF-8

Ich sehe die Sonderzeichen in Evolution, aber im gnome-terminal nur
Kästchen. In "konsole" fehlen die Zeichen völlig. LANG="" ändert am
Problem nichts.


Gruß,
Ratti

P.S.: Bin umgezogen, sitze zwischen Kartons... viele Kartons... %-)

--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/


signature.asc (196 bytes) Download Attachment

Re: fontlinge make'n nicht mehr?

by Christian Boltz :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hallo Ratti, hallo Leute,

Am Samstag, 28. Januar 2006 21:22 schrieb Ratti:
> Ich wollte gerade jemandem helfen, die CVS version zu installieren,
> dabei stellte ich fest, das die bei mir auch nicht mehr geht:
[...]
> make
>
> cd modules && make
> make[1]: Entering directory
> `/disk3/download/fontlinge_test/fontlinge_rc/modules'
> sed ' \
[...]
> ' < fontlinge/Config.pm.in > fontlinge/Config.pm || { rm -f
> fontlinge/Config.pm ; exit 1 ; }
> sed: -e Ausdruck #1, Zeichen 816: unterminated address regex
> make[1]: *** [fontlinge/Config.pm] Fehler 1

Seltsam - bei mir läuft make problemlos durch.

An Deiner make-Ausgabe kann ich auch keinen Fehler finden - der
komplette sed-Befehl ist übrigens die genannten 816 Zeichen lang...

Probier trotzdem mal den sed-Befehl "einzeln" aus:
- make-Ausgabe in eine Datei umleiten
- alles bis auf den sed-Aufruf wegkürzen
- so lange Zeilen rauslöschen, bis es geht. Die zuletzt gelöschte Zeile
  ist schuld ;-)

BTW: Die \ werden AFAIK von make verschluckt und gehören nicht zum
sed-Befehl.

> Ich habe gerade grosse Probleme gehabt, das log vom Terminal in den
> Mailclient zu bringen - UTF-8-Problem. Kann das sein, das sed an den
> "komischen" Trennern scheitert?

echo -n ¡ | hex
0000  a1

Liegt also im sicheren ASCII-Bereich ;-)

> make --version
> GNU Make 3.81beta4

Da bist Du geringfügig aktueller als ich mit 3.80. Nichtmal die 10.1
beta1 ist aktueller ;-)

> echo $LANG
> de_DE.UTF-8

Ich habe noch de_DE@euro - zeig aber mal Dein gesamtes   locale   her.

> Ich sehe die Sonderzeichen in Evolution, aber im gnome-terminal nur
> Kästchen. In "konsole" fehlen die Zeichen völlig.

Stell mal überall die Schrift ein, die Du in Evolution verwendest. (Ich
tippe auf einen unvollständigen Konsolenfont.)

> LANG="" ändert am Problem nichts.

LC_ALL=de_DE.UTF-8 make   geht bei mir problemlos (SUSE 10.0, bei 10.1
beta1 geht WLAN nicht [1] und die beta2 wird morgen installiert ;-)

Probier aber trotzdem mal ein paar Spracheinstellungen durch:

export LC_ALL=de_DE@euro ; export LANG=de_DE@euro ;
    make clean && ./configure && make

und/oder

export LC_ALL=C ; export LANG=C ;
    make clean && ./configure && make

> P.S.: Bin umgezogen, sitze zwischen Kartons... viele Kartons... %-)

Das erklärt wohl, warum hier in letzter Zeit so wenig los ist ;-)

Dann mal noch viel Spaß beim wieder auspacken...


*gähn*

Christian Boltz

[1] Da meine Internetverbindung über WLAN läuft (zumindest die letzten
    10m) ist sowas ein Blocker für mich. Ja, ich könnte mich auch per
    Netzwerkkabel an den Router hängen - dann aber ohne Dualhead, und
    das will ich auch nicht ;-)

--
Gna, schon wieder Seti [...] Dabei ist es schon schwierig genug, auf
*diesem* Planeten intelligentes Leben zu finden.   [Charly Kuehnast]


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
_______________________________________________
Fontlinge-devel mailing list
Fontlinge-devel@...
https://lists.sourceforge.net/lists/listinfo/fontlinge-devel

Re: fontlinge make'n nicht mehr?

by Joerg Rossdeutscher :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Am Sonntag, den 29.01.2006, 03:21 +0100 schrieb Christian Boltz:

> Hallo Ratti, hallo Leute,
>
> Am Samstag, 28. Januar 2006 21:22 schrieb Ratti:
> > Ich wollte gerade jemandem helfen, die CVS version zu installieren,
> > dabei stellte ich fest, das die bei mir auch nicht mehr geht:
> [...]
> > make
> >
> > cd modules && make
> > make[1]: Entering directory
> > `/disk3/download/fontlinge_test/fontlinge_rc/modules'
> > sed ' \
> [...]
> > ' < fontlinge/Config.pm.in > fontlinge/Config.pm || { rm -f
> > fontlinge/Config.pm ; exit 1 ; }
> > sed: -e Ausdruck #1, Zeichen 816: unterminated address regex
> > make[1]: *** [fontlinge/Config.pm] Fehler 1
>
> Seltsam - bei mir läuft make problemlos durch.
>
> An Deiner make-Ausgabe kann ich auch keinen Fehler finden - der
> komplette sed-Befehl ist übrigens die genannten 816 Zeichen lang...
>
> Probier trotzdem mal den sed-Befehl "einzeln" aus:
> - make-Ausgabe in eine Datei umleiten
> - alles bis auf den sed-Aufruf wegkürzen
> - so lange Zeilen rauslöschen, bis es geht. Die zuletzt gelöschte Zeile
>   ist schuld ;-)
Ich habe die Ausgabe, mit einem cd erweitert und um die Umleitung
gekürzt, mal angehängt.


Es geht, wenn ich alle Zeilen zu einer zusammenziehe, indem ich am
Zeilenende \ und den Umbruch entferne.

Dengel, dengel, dengel. Später:
Es reicht, die Backslashes zu entfernen. Also so:

sed '
        s¡@prefix@¡/usr/local¡       ;
        s¡@bindir@¡/usr/local/bin¡       ;
        s¡@datadir@¡/usr/local/share¡     ;
        s¡@docdir@¡/usr/local/share/doc/fontlinge¡       ;
[...]

Wenn ich drüber nachdenke, erscheint mir, das bei

machwas 'bla \
bla'

der Backslash wegen des ' drumherum nicht escapend wirkt. Es entsteht
daraus anscheinend nicht

machwas 'bla bla'

sondern

machwas 'bla \<cr> bla'

Was ist falsch? Wird das Makefile aus dem .in-File falsch erzeugt, oder
war das schon immer so und die Interpretation hat sich geändert?





Und dann ist mir noch was aufgefallen:

$ echo "abc" | sed 's/b/X/'
aXc

$ echo "abc" | sed 's%b%X%'
aXc

$ echo "abc" | sed 's¡b¡X¡'
sed: -e Ausdruck #1, Zeichen 9: unknown option to `s'

...was ich nicht verstehe. Im Makefile geht dieses i ja.


$ sed --version
GNU sed Version 4.1.4

$ bash --version
GNU bash, version 3.1.5(1)-release (i486-pc-linux-gnu)


> BTW: Die \ werden AFAIK von make verschluckt und gehören nicht zum
> sed-Befehl.

Müssten dann nicht " statt ' drumherum sein?
Dann geht es nämlich.
>
> > Ich habe gerade grosse Probleme gehabt, das log vom Terminal in den
> > Mailclient zu bringen - UTF-8-Problem. Kann das sein, das sed an den
> > "komischen" Trennern scheitert?
>
> echo -n ¡ | hex
> 0000  a1
>
> Liegt also im sicheren ASCII-Bereich ;-)

$ echo -n ¡ | hexdump -C
00000000  c2 a1                                             |..|
00000002

Nö. Wobei ich bei ASCII auch nur sieben Bit als sicher sehe. Aber das
scheint das Problem hier ja nicht zu sein.

> > make --version
> > GNU Make 3.81beta4
>
> Da bist Du geringfügig aktueller als ich mit 3.80. Nichtmal die 10.1
> beta1 ist aktueller ;-)

War nicht schon beta2 raus? :-)

> > echo $LANG
> > de_DE.UTF-8
>
> Ich habe noch de_DE@euro - zeig aber mal Dein gesamtes   locale   her.

$ locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=


> > Ich sehe die Sonderzeichen in Evolution, aber im gnome-terminal nur
> > Kästchen. In "konsole" fehlen die Zeichen völlig.
>
> Stell mal überall die Schrift ein, die Du in Evolution verwendest. (Ich
> tippe auf einen unvollständigen Konsolenfont.)

Ne, weil nur mittlere-Maustaste nicht geht. Rechtsclick-Copy und -Paste
geht. Sollte mit dem Problem aber wohl nix zu tun haben.


> Probier aber trotzdem mal ein paar Spracheinstellungen durch:
>
> export LC_ALL=de_DE@euro ; export LANG=de_DE@euro ;
>     make clean && ./configure && make


Ich lasse das erst mal, da ja anscheinend der Backslash bzw. dessen
Umfeld das Problem ist, nicht das Sonderzeichen. Das geht hier nämlich.

> > P.S.: Bin umgezogen, sitze zwischen Kartons... viele Kartons... %-)
>
> Das erklärt wohl, warum hier in letzter Zeit so wenig los ist ;-)

Sach nix. Ich habe 8kg verloren, obwohl erst ein drittel der Kartons
ausgepackt ist und die alte Wohnung nicht renoviert. Ächtz. Beim Umzug
ist dann das DSL-Modem kaputtgegangen, und mit einem neuen Modem habe
ich dann sofort ein Update installiert, das mir X11 zerschossen hat. So
habe ich dann alles erstmal stehen lassen. =%-)

Gruß,
Ratti

--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/

cd /disk3/download/fontlinge_test/fontlinge_rc/modules

sed ' \
        s¡@prefix@¡/usr/local¡       ; \
        s¡@bindir@¡/usr/local/bin¡       ; \
        s¡@datadir@¡/usr/local/share¡     ; \
        s¡@docdir@¡/usr/local/share/doc/fontlinge¡       ; \
        s¡@mandir@¡/usr/local/share/man¡       ; \
        s¡@man3dir@¡/usr/local/share/man/man3¡     ; \
        s¡@shareddir@¡/usr/local/share/fontlinge¡ ; \
        s¡@htmldir@¡/usr/local/share/fontlinge/webgui¡     ; \
        s¡@webgui_html@¡download.php favicon.ico fontinfo.php fontinfo_tags.php fontlinge.css functions.php img.php index.html index.php preview.php preview_img.php set.php¡         ; \
        s¡@webgui_scripts@¡preview.pl¡   ; \
        s¡@webgui_more@¡custom.php htaccess¡         ; \
        s¡@webgui_imgs@¡back.png back_start.png divider.png error.png forward.png forward_end.png i.png leer.png ok.gif ok.png set_category.png sleep.png vdivider.png view.png window_size.png¡         ; \
        ' < fontlinge/Config.pm.in
# > fontlinge/Config.pm || { rm -f fontlinge/Config.pm ; exit 1 ; }


signature.asc (196 bytes) Download Attachment

Re: fontlinge make'n nicht mehr?

by David Haller :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Sun, 29 Jan 2006, Joerg Rossdeutscher wrote:

>Am Sonntag, den 29.01.2006, 03:21 +0100 schrieb Christian Boltz:
>> Am Samstag, 28. Januar 2006 21:22 schrieb Ratti:
>> > Ich wollte gerade jemandem helfen, die CVS version zu installieren,
>> > dabei stellte ich fest, das die bei mir auch nicht mehr geht:
>> [...]
>> > make
>> >
>> > cd modules && make
>> > make[1]: Entering directory
>> > `/disk3/download/fontlinge_test/fontlinge_rc/modules'
>> > sed ' \
>> [...]
>> > ' < fontlinge/Config.pm.in > fontlinge/Config.pm || { rm -f
>> > fontlinge/Config.pm ; exit 1 ; }
>> > sed: -e Ausdruck #1, Zeichen 816: unterminated address regex
>> > make[1]: *** [fontlinge/Config.pm] Fehler 1
>>
>> Seltsam - bei mir läuft make problemlos durch.

Bei mir auch. Inkl. 'make test'.

>> An Deiner make-Ausgabe kann ich auch keinen Fehler finden - der
>> komplette sed-Befehl ist übrigens die genannten 816 Zeichen lang...
>>
>> Probier trotzdem mal den sed-Befehl "einzeln" aus:
>> - make-Ausgabe in eine Datei umleiten
>> - alles bis auf den sed-Aufruf wegkürzen
>> - so lange Zeilen rauslöschen, bis es geht. Die zuletzt gelöschte Zeile
>>   ist schuld ;-)
>
>Ich habe die Ausgabe, mit einem cd erweitert und um die Umleitung
>gekürzt, mal angehängt.
>
>Es geht, wenn ich alle Zeilen zu einer zusammenziehe, indem ich am
>Zeilenende \ und den Umbruch entferne.
>
>Dengel, dengel, dengel. Später:
>Es reicht, die Backslashes zu entfernen. Also so:
>
>sed '
> s¡@prefix@¡/usr/local¡       ;
> s¡@bindir@¡/usr/local/bin¡       ;
> s¡@datadir@¡/usr/local/share¡     ;
> s¡@docdir@¡/usr/local/share/doc/fontlinge¡       ;
>[...]
>
>Wenn ich drüber nachdenke, erscheint mir, das bei
>
>machwas 'bla \
>bla'
>
>der Backslash wegen des ' drumherum nicht escapend wirkt. Es entsteht
>daraus anscheinend nicht
>
>machwas 'bla bla'
>
>sondern
>
>machwas 'bla \<cr> bla'
>
>Was ist falsch? Wird das Makefile aus dem .in-File falsch erzeugt, oder
>war das schon immer so und die Interpretation hat sich geändert?

Dein sed ist defekt. Andererseits sind die '\' im sed-script ueberfluessig.
Duerfen aber auch nicht stoeren. Aber in dem konkreten Fall koennen
wohl die '¡' durch ein anderes Zeichen (die auto*-tools nehmen da
gerne '%' ersetzt werden. Also:

==== modules/Makefile ====
fontlinge/Config.pm:fontlinge/Config.pm.in ../Makefile.head
        sed ' \
        s%@prefix@%$(prefix)%       ; \
        s%@bindir@%$(bindir)%       ; \
        s%@datadir@%$(datadir)%     ; \
        s%@docdir@%$(docdir)%       ; \
        s%@mandir@%$(mandir)%       ; \
        s%@man3dir@%$(man3dir)%     ; \
        s%@shareddir@%$(shareddir)% ; \
        s%@htmldir@%$(htmldir)%     ; \
        s%@webgui_html@%$(WEBGUIHTML)%         ; \
        s%@webgui_scripts@%$(WEBGUISCRIPTS)%   ; \
        s%@webgui_more@%$(WEBGUIMORE)%         ; \
        s%@webgui_imgs@%$(WEBGUIIMGS)%         ; \
        ' < $< > $@ || { $(RM) $@ ; exit 1 ; }
====

Ist dann halt IMHO schwerer zu lesen.

>Und dann ist mir noch was aufgefallen:
>
>$ echo "abc" | sed 's/b/X/'
>aXc
>
>$ echo "abc" | sed 's%b%X%'
>aXc
>
>$ echo "abc" | sed 's¡b¡X¡'
>sed: -e Ausdruck #1, Zeichen 9: unknown option to `s'

Wie gesagt: das ist ein Bug in deinem sed / deiner Eingabe oder so...
sed bekommt vermutlich die Zeichenfolge

    73 c2 a1 62 c2 a1 58 c2 a1
    s  Â  ¡  b  Â  ¡  X  Â  ¡

zu sehen, interpretiert folglich nicht '¡' (0xA1) als Trennzeichen,
sondern eben 0xC2 ('Â') somit liest sich das mit dem normalen Trenner
so: s/¡b/¡X/¡ und ¡ ist kein legaler "modifier" des 's'-Befehls. Der
Rest ist "legal" fuer sed, aber eben nicht das gewollte.

Nuja. UTF-8 halt. *hrhr*

Achso, dass anscheinend das (latin[19]) '¡' 0xA1 zu (UTF-8) '¡' 0xC2
0xA1 kodiert ist wohl Zufall.

>> BTW: Die \ werden AFAIK von make verschluckt und gehören nicht zum
>> sed-Befehl.
>
>Müssten dann nicht " statt ' drumherum sein?
>Dann geht es nämlich.

Nein. Das ist schon ok so.

[..]
>Ich lasse das erst mal, da ja anscheinend der Backslash bzw. dessen
>Umfeld das Problem ist, nicht das Sonderzeichen. Das geht hier nämlich.

Sicher? Mach mal:

    echo 'U' | sed 's¡U¡X¡'

>> > P.S.: Bin umgezogen, sitze zwischen Kartons... viele Kartons... %-)

*hehe* ich auch noch, obwohl mein Umzug schon fast ein Jahr her ist ;(

-dnh

--
   14: Client-Server
          Wir wollen mehr als einen Rechner verkaufen. (Kristian
          Köhntopp)


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
_______________________________________________
Fontlinge-devel mailing list
Fontlinge-devel@...
https://lists.sourceforge.net/lists/listinfo/fontlinge-devel

Re: fontlinge make'n nicht mehr?

by Joerg Rossdeutscher :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Moin,

Am Montag, den 30.01.2006, 06:48 +0100 schrieb David Haller:

> On Sun, 29 Jan 2006, Joerg Rossdeutscher wrote:
> >Am Sonntag, den 29.01.2006, 03:21 +0100 schrieb Christian Boltz:
> >> Am Samstag, 28. Januar 2006 21:22 schrieb Ratti:
> >> > Ich wollte gerade jemandem helfen, die CVS version zu installieren,
> >> > dabei stellte ich fest, das die bei mir auch nicht mehr geht:
> >> [...]
> >> > make
> >> >
> >> > cd modules && make
> >> > make[1]: Entering directory
> >> > `/disk3/download/fontlinge_test/fontlinge_rc/modules'
> >> > sed ' \
> >> [...]
> >> > ' < fontlinge/Config.pm.in > fontlinge/Config.pm || { rm -f
> >> > fontlinge/Config.pm ; exit 1 ; }
> >> > sed: -e Ausdruck #1, Zeichen 816: unterminated address regex
> >> > make[1]: *** [fontlinge/Config.pm] Fehler 1
> >>
> >> Seltsam - bei mir läuft make problemlos durch.
>
> Bei mir auch. Inkl. 'make test'.
Ich kann insoweit entwarnung geben, als dass die "alte" 2.0.1 das
gleiche Problem hat, und die lief schliesslich 2 Jahre lang.


> >Was ist falsch? Wird das Makefile aus dem .in-File falsch erzeugt, oder
> >war das schon immer so und die Interpretation hat sich geändert?
>
> Dein sed ist defekt. Andererseits sind die '\' im sed-script ueberfluessig.
> Duerfen aber auch nicht stoeren. Aber in dem konkreten Fall koennen
> wohl die '¡' durch ein anderes Zeichen (die auto*-tools nehmen da
> gerne '%' ersetzt werden. Also:

Ich habe es heute noch mal durchprobiert.
Gestern schrieb ich ja, es reiche, die \ zu entfernen. Stimmt (heute?)
nicht. Ich muss die \ entfernen UND alles zu einer Zeile zusammenziehen.

Hm.

Ich entdecke keinen Bugreport, der dem entspräche und noch offen wäre.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=343080 sah gut aus,
passt dann aber doch nicht (sed-Fehler durch bash-bug, aber dessen
testcases sind hier nicht nachzuvollziehen...)


Das komische i macht aber keinen Kummer. Das war eine Sackgasse.

> Ist dann halt IMHO schwerer zu lesen.
>
> >Und dann ist mir noch was aufgefallen:
> >
> >$ echo "abc" | sed 's/b/X/'
> >aXc
> >
> >$ echo "abc" | sed 's%b%X%'
> >aXc
> >
> >$ echo "abc" | sed 's¡b¡X¡'
> >sed: -e Ausdruck #1, Zeichen 9: unknown option to `s'
>
> Wie gesagt: das ist ein Bug in deinem sed / deiner Eingabe oder so...
> sed bekommt vermutlich die Zeichenfolge
>
>     73 c2 a1 62 c2 a1 58 c2 a1
>     s  Â  ¡  b  Â  ¡  X  Â  ¡
>
> zu sehen, interpretiert folglich nicht '¡' (0xA1) als Trennzeichen,
> sondern eben 0xC2 ('Â') somit liest sich das mit dem normalen Trenner
> so: s/¡b/¡X/¡ und ¡ ist kein legaler "modifier" des 's'-Befehls. Der
> Rest ist "legal" fuer sed, aber eben nicht das gewollte.
>
> Nuja. UTF-8 halt. *hrhr*
Die Erklärung ist plausibel.
Aber:

>     echo 'U' | sed 's¡U¡X¡'

ratti@ratti:~/debian_mirror$ echo 'U' | sed 's¡U¡X¡'
sed: -e Ausdruck #1, Zeichen 9: unknown option to `s'
ratti@ratti:~/debian_mirror$ echo 'U' | sed 's/U/X/'
X

...tatsächlich. Im Script selber ging es aber - da wird wohl das
Terminal "hinne sein, während das Script sauber als utf8 eingelesen
wird.


Gruß,
Ratti

--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/


signature.asc (196 bytes) Download Attachment

Re: fontlinge make'n nicht mehr?

by Joerg Rossdeutscher :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Moin,

mir lässt das ja keine Ruhe... zwei Dinge habe ich gefunden:


aus
/usr/share/doc/make/NEWS.Debian.gz :

  * WARNING: Backward-incompatibility!
    In order to comply with POSIX, the way in which GNU make processes
    backslash-newline sequences in command strings has changed.  See the
    GNU make manual section "Command Execution" for details.



Das ist wohl neu. Ich finde aber nicht heraus, WAS denn nun neu ist. Es
könnte sein, dass jetzt neuerdings auf Backslah-Newline folgende Tabs
entfernt werden. Aber das erscheint mir nicht falsch, in unserem Fall.

Leider finde ich auch keine Online-Quelle, die das gleiche zeigt wie
"info make" auf meinem System, das online-Handbuch von make enthält
jedenfalls nicht diesen Absatz:


As a more complex example, this makefile:

  all : ; @echo 'hello \
          world' ; echo "hello \
      world"

will run one shell with a command script of:

  echo 'hello \
  world' ; echo "hello \
      world"

which, according to shell quoting rules, will yield the following
output:

     hello \
     world
     hello     world


Passt das zu meinem Problem?





So. Alternativ, zweite Baustelle. Der da kommt mir auch passend vor:

http://savannah.gnu.org/bugs/?func=detailitem&item_id=13665

Meinungen?


Gruß,
Ratti



--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/


signature.asc (196 bytes) Download Attachment

Re: fontlinge make'n nicht mehr?

by Joerg Rossdeutscher :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Am Montag, den 30.01.2006, 06:48 +0100 schrieb David Haller:
> Wie gesagt: das ist ein Bug in deinem sed / deiner Eingabe oder so...
> sed bekommt vermutlich die Zeichenfolge
>
>     73 c2 a1 62 c2 a1 58 c2 a1
>     s  Â  ¡  b  Â  ¡  X  Â  ¡

Das könnte die Probleme an der Shell erklären.

However... ich habe im Makefile mal die "komischen i's" durch % ersetzt.
Das Problem ist immer noch da. Damit ist die "Problem wegen
UTF8"-Theorie gestorben, oder?:

make clean
./configure
make

ergibt:



make -C modules
make[1]: Entering directory
`/disk3/download/fontlinge_altes_release/modules'
sed ' \
        s%@prefix@%/usr/local%       ; \
        s%@bindir@%/usr/local/bin%       ; \
        s%@datadir@%/usr/local/share%     ; \
        s%@docdir@%/usr/local/share/doc/fontlinge%       ; \
        s%@mandir@%/usr/local/share/man%       ; \
        s%@man3dir@%/usr/local/share/man/man3%     ; \
        s%@shareddir@%/usr/local/share/fontlinge% ; \
        s%@htmldir@%/usr/local/share/fontlinge/webgui%     ; \
        ' < fontlinge/Config.pm.in > fontlinge/Config.pm || { rm -f
fontlinge/Config.pm ; exit 1 ; }

sed: -e Ausdruck #1, Zeichen 355: unterminated address regex
make[1]: *** [fontlinge/Config.pm] Fehler 1
make[1]: Leaving directory
`/disk3/download/fontlinge_altes_release/modules'
make: *** [make_modules] Fehler 2


Gruß,
Ratti

--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/


signature.asc (196 bytes) Download Attachment

Re: fontlinge make'n nicht mehr?

by Christian Boltz :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hallo Ratti, hallo Leute,

Am Donnerstag, 2. Februar 2006 22:45 schrieb Ratti:
> mir lässt das ja keine Ruhe... zwei Dinge habe ich gefunden:
>
> /usr/share/doc/make/NEWS.Debian.gz :
>
>   * WARNING: Backward-incompatibility!

Oh, sowas hat man immer gern :-/

>     In order to comply with POSIX, the way in which GNU make
> processes backslash-newline sequences in command strings has changed.
>  See the GNU make manual section "Command Execution" for details.
> Das ist wohl neu. Ich finde aber nicht heraus, WAS denn nun neu ist.

Steht das nicht unter "Command Execution" in  info make  ? ;-)
Ansonsten kann ich noch auf das ChangeLog verweisen, das ist
üblicherweise etwas ausführlicher als NEWS.

> Es könnte sein, dass jetzt neuerdings auf Backslah-Newline folgende
> Tabs entfernt werden.

Dem Bugreport zufolge vermutlich schon.

[...]
> So. Alternativ, zweite Baustelle. Der da kommt mir auch passend vor:
>
> http://savannah.gnu.org/bugs/?func=detailitem&item_id=13665
>
> Meinungen?

Siehe oben.


Kannst Du mal etwas testen?

Zuerst legst Du angehängten Dateien in ein Verzeichnis und rufst
chmod 755 showparms   auf.

Anschließend   make   aufrufen.

Ergebnis bei mir:

cb@cboltz:/tmp/test> make
make test1
make[1]: Entering directory `/home/tmp/test'
./showparms 'foo ; \
bar ; \
baz ' # Aufruf Ende
foo ;  bar ;  baz
make[1]: Leaving directory `/home/tmp/test'
make test2
make[1]: Entering directory `/home/tmp/test'
./showparms 'foo ;
/bin/sh: -c: line 0: unexpected EOF while looking for matching `''
/bin/sh: -c: line 1: syntax error: unexpected end of file
make[1]: *** [test2] Fehler 2
make[1]: Leaving directory `/home/tmp/test'
make: *** [all] Fehler 2

Was meldet dieser Test bei Dir?


Gruß

Christian Boltz
--
Ja, ja alles schreckliche Leute hier, die geben einfach Antworten,
die man gar nicht wissen will. Einfach unverschämt, diese Leute.
[Bernd Brodesser in suse-linux]


[Makefile]

all:
        make test1
        make test2

test1:
        ./showparms 'foo ; \
        bar ; \
        baz ' # Aufruf Ende


test2:
        ./showparms 'foo ;
        bar ;
        baz ' # Aufruf Ende


showparms (24 bytes) Download Attachment

Re: fontlinge make'n nicht mehr?

by Joerg Rossdeutscher :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Moin,

Am Donnerstag, den 02.02.2006, 23:23 +0100 schrieb Christian Boltz:

> Hallo Ratti, hallo Leute,
>
> Am Donnerstag, 2. Februar 2006 22:45 schrieb Ratti:
> > mir lässt das ja keine Ruhe... zwei Dinge habe ich gefunden:
> >
> > /usr/share/doc/make/NEWS.Debian.gz :
> >
> >   * WARNING: Backward-incompatibility!
>
> Oh, sowas hat man immer gern :-/
>
> >     In order to comply with POSIX, the way in which GNU make
> > processes backslash-newline sequences in command strings has changed.
> >  See the GNU make manual section "Command Execution" for details.
> > Das ist wohl neu. Ich finde aber nicht heraus, WAS denn nun neu ist.
>
> Steht das nicht unter "Command Execution" in  info make  ? ;-)
Dort steht über das gepostete hinaus nichts, was interessant klingt -
und definitiv mehr, als in der Online-Version. Sonst tät ich's linken...
ich find ja "info" grässlich...

> Ansonsten kann ich noch auf das ChangeLog verweisen, das ist
> üblicherweise etwas ausführlicher als NEWS

Nix neues dort.


> Kannst Du mal etwas testen?
>
> Zuerst legst Du angehängten Dateien in ein Verzeichnis und rufst
> chmod 755 showparms   auf.
>
> Anschließend   make   aufrufen.
>
> Ergebnis bei mir:
>
> cb@cboltz:/tmp/test> make
> make test1
> make[1]: Entering directory `/home/tmp/test'
> ./showparms 'foo ; \
> bar ; \
> baz ' # Aufruf Ende
> foo ;  bar ;  baz
> make[1]: Leaving directory `/home/tmp/test'
> make test2
> make[1]: Entering directory `/home/tmp/test'
> ./showparms 'foo ;
> /bin/sh: -c: line 0: unexpected EOF while looking for matching `''
> /bin/sh: -c: line 1: syntax error: unexpected end of file
> make[1]: *** [test2] Fehler 2
> make[1]: Leaving directory `/home/tmp/test'
> make: *** [all] Fehler 2
>
> Was meldet dieser Test bei Dir?
ratti@ratti:/tmp/test$ make
make test1
make[1]: Entering directory `/tmp/test'
./showparms 'foo ; \
        bar ; \
        baz ' # Aufruf Ende
foo ; \
bar ; \
baz
make[1]: Leaving directory `/tmp/test'
make test2
make[1]: Entering directory `/tmp/test'
./showparms 'foo ;
/bin/sh: -c: line 0: unexpected EOF while looking for matching `''
/bin/sh: -c: line 1: syntax error: unexpected end of file
make[1]: *** [test2] Fehler 2
make[1]: Leaving directory `/tmp/test'
make: *** [all] Fehler 2


Ich sehe:
1. Andere Einrückungen (das ist wohl das neue matchen auf Tabs nach \n)

2.
foo ; \
bar ; \
baz

statt

foo ;  bar ;  baz

Sie, das kommt mir aber bekannt vor. :-) Und nun?




GNU Make 3.81beta4

Gruß,
Ratti

--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/


signature.asc (196 bytes) Download Attachment

Re: fontlinge make'n nicht mehr?

by Christian Boltz :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hallo Ratti, hallo Leute,

Am Freitag, 3. Februar 2006 20:20 schrieb Ratti:
> Am Donnerstag, den 02.02.2006, 23:23 +0100 schrieb Christian Boltz:
> > Am Donnerstag, 2. Februar 2006 22:45 schrieb Ratti:
> > > mir lässt das ja keine Ruhe... zwei Dinge habe ich gefunden:
> > >
> > > /usr/share/doc/make/NEWS.Debian.gz :
> > >
> > >   * WARNING: Backward-incompatibility!
> >
> > Oh, sowas hat man immer gern :-/

[Testcase]
> Ich sehe:
> 1. Andere Einrückungen (das ist wohl das neue matchen auf Tabs nach
> \n)

OK, das ist unproblematisch und auch logisch, da ja die Tabs in der
make-Syntax IIRC erforderlich sind.

> 2.
> foo ; \
> bar ; \
> baz
>
> statt
>
> foo ;  bar ;  baz
>
> Sie, das kommt mir aber bekannt vor. :-) Und nun?

Du könntest/solltest einen Bugreport gegen make einreichen ;-)

Das Ganze ist übrigens nicht mal abwegig - die Backslashes sollten IMHO
wirklich rausgeworfen werden.

Begründung:

- Ohne Backslashes meint make, dass der Befehl am Zeilenende aufhört
  -> der Backslash ist also erforderlich
- Da der Backslash von make gebraucht wird, sollte er auch von make
  entfernt (und *nicht* an den aufgerufenen Befehl weitergegeben)
  werden.
  Anders ausgedrückt: Im derzeitigen Zustand ist es unmöglich, manche
  Befehle auszuführen - siehe unseren sed-Aufruf.

Über den Sinn der Erhaltung der Zeilenumbrüche kann man diskutieren, in
unserem Fall ist es jedenfalls egal ;-)

Falls der Bugreport nichts bringt, sehe ich folgende Optionen:
- den sed-Befehl auf eine Zeile zusammenziehen (Schreck lass nach!)
- Config.pm direkt von configure schreiben lassen, was nebenbei auch
  das (hoffentlich theoretische [1]) Problem von "Trennzeichen im
  Pfadname" lösen würde.

> GNU Make 3.81beta4

Bin ich froh, dass in SUSE 10.1 beta3 "nur" make 3.80 drin ist (und es
dank Feature Freeze wohl auch keine neuere Version mehr abbekommt) ;-)


Gruß

Christian Boltz

[1] wobei jemand, der ¡ im Pfadnamen verwendet, definitiv bestraft
    werden sollte ;-)
--
> if anybody who broke a nightly build should pay on beer, the
> whole development department would be drunk I guess ;-)
[...] over the last 2 weeks we would have been *very* drunk.
[> Ulrich Windl and Marcus Meissner]


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
_______________________________________________
Fontlinge-devel mailing list
Fontlinge-devel@...
https://lists.sourceforge.net/lists/listinfo/fontlinge-devel

Re: fontlinge make'n nicht mehr?

by David Haller :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hallo,

Am Fri, 03 Feb 2006, Joerg Rossdeutscher schrieb:

>ratti@ratti:/tmp/test$ make
>make test1
>make[1]: Entering directory `/tmp/test'
>./showparms 'foo ; \
>        bar ; \
>        baz ' # Aufruf Ende
>foo ; \
>bar ; \
>baz
>make[1]: Leaving directory `/tmp/test'
>make test2
>make[1]: Entering directory `/tmp/test'
>./showparms 'foo ;
>/bin/sh: -c: line 0: unexpected EOF while looking for matching `''
>/bin/sh: -c: line 1: syntax error: unexpected end of file
>make[1]: *** [test2] Fehler 2
>make[1]: Leaving directory `/tmp/test'
>make: *** [all] Fehler 2
>
>
>Ich sehe:
>1. Andere Einrückungen (das ist wohl das neue matchen auf Tabs nach \n)
>
>2.
>foo ; \
>bar ; \
>baz
>
>statt
>
>foo ;  bar ;  baz
>
>Sie, das kommt mir aber bekannt vor. :-) Und nun?
>
>GNU Make 3.81beta4

Hm. Bei mir sieht's so aus wie bei Christian, GNU make 3.79.1. Wozu brauchst
du die beta-Version?

Kannst du mal die Ausgabe des folgenden Makefiles testen:

====
all:
        -echo '@docdir@' | sed '\
        s%@prefix@%/usr/local%;\
        s%@docdir@%/usr/local/share/doc/fontlinge%;'
        -echo '@docdir@' | sed '\
s%@prefix@%/usr/local%;\
s%@docdir@%/usr/local/share/doc/fontlinge%;'
        -export LC_ALL="C"; export LANG="C"; echo '@docdir@' | sed '\
        s%@prefix@%/usr/local%;\
        s%@docdir@%/usr/local/share/doc/fontlinge%;'
        -export LC_ALL="C"; export LANG="C"; echo '@docdir@' | sed '\
s%@prefix@%/usr/local%;\
s%@docdir@%/usr/local/share/doc/fontlinge%;'
====

und komplett hier mailen? Bei mir klappt das in allen Versionen
(Ausgabe ist jew. das ersetzte docdir).

Fall eine der Varianten klappt koennen wir die dann nehmen.

-dnh

--
Wenn Goethe anschaulich über nicht primär zur Fortpflanzung gedachte
Geschlechtsakte schreibt, kollidiert beim Publidumm der "Huch, Kultur"-Reflex
mit dem "Geil, Ficken"-Reflex, die sich gegenseitig negieren und das Publidumm
damit komplett lahmlegen. [Andreas Galinski in de.alt.fan.haraldschmidt]


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
_______________________________________________
Fontlinge-devel mailing list
Fontlinge-devel@...
https://lists.sourceforge.net/lists/listinfo/fontlinge-devel

Re: fontlinge make'n nicht mehr?

by Joerg Rossdeutscher :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Moin!

Am Samstag, den 04.02.2006, 00:23 +0100 schrieb David Haller:
> Am Fri, 03 Feb 2006, Joerg Rossdeutscher schrieb:

> >GNU Make 3.81beta4
>
> Hm. Bei mir sieht's so aus wie bei Christian, GNU make 3.79.1. Wozu brauchst
> du die beta-Version?

Das ist die normale in Debian sid.

> Kannst du mal die Ausgabe des folgenden Makefiles testen:
>
> ====
> all:
> -echo '@docdir@' | sed '\
> s%@prefix@%/usr/local%;\
> s%@docdir@%/usr/local/share/doc/fontlinge%;'
> -echo '@docdir@' | sed '\
> s%@prefix@%/usr/local%;\
> s%@docdir@%/usr/local/share/doc/fontlinge%;'
> -export LC_ALL="C"; export LANG="C"; echo '@docdir@' | sed '\
> s%@prefix@%/usr/local%;\
> s%@docdir@%/usr/local/share/doc/fontlinge%;'
> -export LC_ALL="C"; export LANG="C"; echo '@docdir@' | sed '\
> s%@prefix@%/usr/local%;\
> s%@docdir@%/usr/local/share/doc/fontlinge%;'
> ====
>
> und komplett hier mailen? Bei mir klappt das in allen Versionen
> (Ausgabe ist jew. das ersetzte docdir).
>
> Fall eine der Varianten klappt koennen wir die dann nehmen.

ratti@ratti:/tmp$ make all
Makefile:2: *** missing separator (Meinten Sie TAB anstelle von 8
Leerzeichen?).  Schluss.


Ich ersetze die 8 Leerzeichen mit Tabs.


ratti@ratti:/tmp$ make all
echo '@docdir@' | sed '\
        s%@prefix@%/usr/local%;\
        s%@docdir@%/usr/local/share/doc/fontlinge%;'
sed: -e Ausdruck #1, Zeichen 70: unterminated address regex
make: [all] Fehler 1 (ignoriert)
echo '@docdir@' | sed '\
s%@prefix@%/usr/local%;\
s%@docdir@%/usr/local/share/doc/fontlinge%;'
sed: -e Ausdruck #1, Zeichen 70: unterminated address regex
make: [all] Fehler 1 (ignoriert)
export LC_ALL="C"; export LANG="C"; echo '@docdir@' | sed '\
        s%@prefix@%/usr/local%;\
        s%@docdir@%/usr/local/share/doc/fontlinge%;'
sed: -e expression #1, char 70: unterminated address regex
make: [all] Fehler 1 (ignoriert)
export LC_ALL="C"; export LANG="C"; echo '@docdir@' | sed '\
s%@prefix@%/usr/local%;\
s%@docdir@%/usr/local/share/doc/fontlinge%;'
sed: -e expression #1, char 70: unterminated address regex
make: [all] Fehler 1 (ignoriert)


Sieht nicht gut aus.

Gruß,
Ratti


--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/


signature.asc (196 bytes) Download Attachment

Re: fontlinge make'n nicht mehr?

by Joerg Rossdeutscher :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Moin,

Am Samstag, den 04.02.2006, 00:23 +0100 schrieb Christian Boltz:
> - Ohne Backslashes meint make, dass der Befehl am Zeilenende aufhört
>   -> der Backslash ist also erforderlich
> - Da der Backslash von make gebraucht wird, sollte er auch von make
>   entfernt (und *nicht* an den aufgerufenen Befehl weitergegeben)
>   werden.
>   Anders ausgedrückt: Im derzeitigen Zustand ist es unmöglich, manche
>   Befehle auszuführen - siehe unseren sed-Aufruf.

Verstehe ich das richtig?

Wenn da steht

ein
Befehl

versucht make, "ein" auszuführen und danach "Befehl". Was nicht geht.




Wenn da aber steht

ein \
Befehl

dann versucht make "ein \[Zeilenumbruch]Befehl" auszuführen, was auch
nicht geht.





Derzeit gibt es keine Möglichkeit, "ein Befehl" auszuführen, ausser es
genau so in eine Zeile zu schreiben.


Müsste dann nicht das komplette Debian auseinanderfliegen, weil ja
praktisch gar nix größeres mehr make'd?

Gruß,
Ratti



--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/


signature.asc (196 bytes) Download Attachment

Re: fontlinge make'n nicht mehr?

by Joerg Rossdeutscher :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Moin,

Am Samstag, den 04.02.2006, 00:23 +0100 schrieb David Haller:
> Hm. Bei mir sieht's so aus wie bei Christian, GNU make 3.79.1. Wozu
> brauchst
> du die beta-Version?

Nachtrach:

Die heutige CVS von http://savannah.gnu.org/projects/make/ verhält sich
identisch zur Debian-Version. Trägt auch die gleiche Versionsnummer. Wer
gucken will:

To build make from CVS:
 % cvs -z3 -d:pserver:anonymous@...:/sources/make co make
 % cd make
 % AUTOMAKE=automake-1.9 ACLOCAL=aclocal-1.9 autoreconf -s -i
 % ./configure
 % make update
 % make

Gruß,
Ratti


--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/


signature.asc (196 bytes) Download Attachment

Re: fontlinge make'n nicht mehr?

by Christian Boltz :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hallo Ratti, hallo Leute,

Am Samstag, 4. Februar 2006 12:37 schrieb Ratti:
> Am Samstag, den 04.02.2006, 00:23 +0100 schrieb David Haller:
> > Hm. Bei mir sieht's so aus wie bei Christian, GNU make 3.79.1. Wozu
> > brauchst du die beta-Version?
>
> Die heutige CVS von http://savannah.gnu.org/projects/make/ verhält
> sich identisch zur Debian-Version. Trägt auch die gleiche
> Versionsnummer. Wer gucken will: [...]

Habe ich gemacht und konnte den Fehler reproduzieren - und wie Du am
eben rausgegangenen CVS-Commit sehen kannst, auch beheben :-)

Erklärung: make unterscheidet jetzt beim Quoting zwischen »"« und »'«.
Da wir beim sed-Befehl hoffentlich kein Quoting von Variablen brauchen
([1], [2]), habe ich den sed-Aufruf einfach auf »"« geändert.

Zu finden ist die Erklärung in info make (CVS-Version).
Ich hänge den relevanten Ausschnitt an - der interessante Abschnitt
fängt mit "As a more complex example" an.


Gruß

Christian Boltz

[1] die $(irgendwas) werden sowieso von make ersetzt

[2] wer $ in Pfadnamen verwendet, muss ebenso hart bestraft werden wie
    Leute, die ¡ verwenden ;-)
--
Um es mal so zu sagen: Ich Kohlenstoff. Computer Silizium.
Silizium gefälligst so hüpfen, wie Kohlenstoff sagt, nicht umgekehrt.
[Ratti in suse-linux]

5.2 Command Execution
=====================

When it is time to execute commands to update a target, they are
executed by making a new subshell for each line.  (In practice, `make'
may take shortcuts that do not affect the results.)

   *Please note:* this implies that shell commands such as `cd' that
set variables local to each process will not affect the following
command lines.(1)  If you want to use `cd' to affect the next command,
put them on a single line.  Then `make' will consider them a single
command and pass them both to a single shell which will execute them in
sequence.  For example:

     foo : bar/lose
             cd $(@D) && gobble $(@F) > ../$@

Here we use the shell AND operator (`&&') so that if the `cd' command
fails, the script will fail without trying to invoke the `gobble'
command in the wrong directory, which could very easily cause problems
(in this case it would certainly cause `../foo' to be truncated, at
least).

   A shell command can be split into multiple lines of text by placing a
backslash before each newline.  Such a sequence of lines is provided to
the shell as a single command script.  The backslash and newline are
preserved in the shell command.  If the first character on the line
after a backslash-newline is a tab, the tab will _not_ be included in
the shell command.  So, this makefile:

     all :
             @echo no\
     space
             @echo no\
             space
             @echo one \
             space
             @echo one\
              space

consists of four separate shell commands where the output is:

     nospace
     nospace
     one space
     one space

   As a more complex example, this makefile:

     all : ; @echo 'hello \
             world' ; echo "hello \
         world"

will run one shell with a command script of:

     echo 'hello \
     world' ; echo "hello \
         world"

which, according to shell quoting rules, will yield the following
output:

     hello \
     world
     hello     world

Notice how the backslash/newline pair was removed inside the string
quoted with double quotes (`"..."'), but not from the string quoted
with single quotes (`'...'').  This is the way the default shell
(`/bin/sh') handles backslash/newline pairs.  If you specify a
different shell in your makefiles it may treat them differently.

   The program used as the shell is taken from the variable `SHELL'.
By default, the program `/bin/sh' is used.

   On MS-DOS, if `SHELL' is not set, the value of the variable
`COMSPEC' (which is always set) is used instead.

   The processing of lines that set the variable `SHELL' in Makefiles
is different on MS-DOS.  The stock shell, `command.com', is
ridiculously limited in its functionality and many users of `make' tend
to install a replacement shell.  Therefore, on MS-DOS, `make' examines
the value of `SHELL', and changes its behavior based on whether it
points to a Unix-style or DOS-style shell.  This allows reasonable
functionality even if `SHELL' points to `command.com'.

   If `SHELL' points to a Unix-style shell, `make' on MS-DOS
additionally checks whether that shell can indeed be found; if not, it
ignores the line that sets `SHELL'.  In MS-DOS, GNU `make' searches for
the shell in the following places:

  1. In the precise place pointed to by the value of `SHELL'.  For
     example, if the makefile specifies `SHELL = /bin/sh', `make' will
     look in the directory `/bin' on the current drive.

  2. In the current directory.

  3. In each of the directories in the `PATH' variable, in order.


   In every directory it examines, `make' will first look for the
specific file (`sh' in the example above).  If this is not found, it
will also look in that directory for that file with one of the known
extensions which identify executable files.  For example `.exe',
`.com', `.bat', `.btm', `.sh', and some others.

   If any of these attempts is successful, the value of `SHELL' will be
set to the full pathname of the shell as found.  However, if none of
these is found, the value of `SHELL' will not be changed, and thus the
line that sets it will be effectively ignored.  This is so `make' will
only support features specific to a Unix-style shell if such a shell is
actually installed on the system where `make' runs.

   Note that this extended search for the shell is limited to the cases
where `SHELL' is set from the Makefile; if it is set in the environment
or command line, you are expected to set it to the full pathname of the
shell, exactly as things are on Unix.

   The effect of the above DOS-specific processing is that a Makefile
that says `SHELL = /bin/sh' (as many Unix makefiles do), will work on
MS-DOS unaltered if you have e.g. `sh.exe' installed in some directory
along your `PATH'.

   Unlike most variables, the variable `SHELL' is never set from the
environment.  This is because the `SHELL' environment variable is used
to specify your personal choice of shell program for interactive use.
It would be very bad for personal choices like this to affect the
functioning of makefiles.  *Note Variables from the Environment:
Environment.  However, on MS-DOS and MS-Windows the value of `SHELL' in
the environment *is* used, since on those systems most users do not set
this variable, and therefore it is most likely set specifically to be
used by `make'.  On MS-DOS, if the setting of `SHELL' is not suitable
for `make', you can set the variable `MAKESHELL' to the shell that
`make' should use; this will override the value of `SHELL'.

   ---------- Footnotes ----------

   (1) On MS-DOS, the value of current working directory is *global*,
so changing it _will_ affect the following command lines on those
systems.

Re: fontlinge make'n nicht mehr?

by Joerg Rossdeutscher :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Moin,

Am Samstag, den 04.02.2006, 17:40 +0100 schrieb Christian Boltz:

> Habe ich gemacht und konnte den Fehler reproduzieren - und wie Du am
> eben rausgegangenen CVS-Commit sehen kannst, auch beheben :-)
>
> Erklärung: make unterscheidet jetzt beim Quoting zwischen »"« und »'«.
> Da wir beim sed-Befehl hoffentlich kein Quoting von Variablen brauchen
> ([1], [2]), habe ich den sed-Aufruf einfach auf »"« geändert.
>
> Zu finden ist die Erklärung in info make (CVS-Version).
> Ich hänge den relevanten Ausschnitt an - der interessante Abschnitt
> fängt mit "As a more complex example" an.
Mein Goldjunge. :-)

Ich habe ein update für 2.0.1 released, welches die Änderung im Makefile
auf die alte Version zurück"portiert" (Was für ein großes Wort für zwei
Anführungsstriche).

Superdanke.


...und ich lag doch gar nicht so falsch:

Am Sonntag, den 29.01.2006, 12:28 +0100 schrieb Joerg Rossdeutscher:
> Wenn ich drüber nachdenke, erscheint mir, das bei
>
> machwas 'bla \
> bla'
>
> der Backslash wegen des ' drumherum nicht escapend wirkt.


Mal sehen, ob auch in Zukunft die Programme an meine Irrtümer angepasst
werden. :-)

Gruß,
Ratti




--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
--
 -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux
 /\\ http://freshmeat.net/projects/fontlinge/
_\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/


signature.asc (196 bytes) Download Attachment

Re: fontlinge make'n nicht mehr?

by Christian Boltz :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hallo Ratti, hallo Leute,

Am Samstag, 4. Februar 2006 19:57 schrieb Ratti:

> Am Samstag, den 04.02.2006, 17:40 +0100 schrieb Christian Boltz:
> > Habe ich gemacht und konnte den Fehler reproduzieren - und wie Du
> > am eben rausgegangenen CVS-Commit sehen kannst, auch beheben :-)
> >
> > Erklärung: make unterscheidet jetzt beim Quoting zwischen »"« und
> > »'«. Da wir beim sed-Befehl hoffentlich kein Quoting von Variablen
> > brauchen ([1], [2]), habe ich den sed-Aufruf einfach auf »"«
> > geändert.
> >
> > Zu finden ist die Erklärung in info make (CVS-Version).
> > Ich hänge den relevanten Ausschnitt an - der interessante Abschnitt
> > fängt mit "As a more complex example" an.
>
> Mein Goldjunge. :-)
>
> Ich habe ein update für 2.0.1 released,

Das erklärt, warum ich in meinem Posteingang eine Mail hatte, die ein
neues Fontlinge-Release meldet ;-)

Hast Du auch ans Update des ChangeLog gedacht? ;-) *SCNR*
(Commit für die CVS-Version ist soeben rausgegangen.)

> welches die Änderung im
> Makefile auf die alte Version zurück"portiert" (Was für ein großes
> Wort für zwei Anführungsstriche).

*g*

Mach Dir nix draus - für SUSE 10.0 gab es (nach Bugreport von mir) ein
YOU-Update für StoreBackup, ohne dass überhaupt irgendeine Datei
geändert worden wäre.
Einzige Änderung war das Setzen des x-bits für die im Paket enthaltenen
Verzeichnisse und Scripte - ohne wollte es halt nicht laufen ;-)

> Superdanke.

Bitte schön ;-)

> ...und ich lag doch gar nicht so falsch:
>
> Am Sonntag, den 29.01.2006, 12:28 +0100 schrieb Joerg Rossdeutscher:
> > Wenn ich drüber nachdenke, erscheint mir, das bei
> >
> > machwas 'bla \
> > bla'
> >
> > der Backslash wegen des ' drumherum nicht escapend wirkt.

Jepp.

> Mal sehen, ob auch in Zukunft die Programme an meine Irrtümer
> angepasst werden. :-)

*LoL*


Gruß

Christian Boltz
--
> Du tust ja fast so, als gäbe es etwas, das bei Redhat _nicht_
> nach hinten losgeht!?
.forward ?        [Matthias Kabel zu Felix von Leitner in dasr]


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
_______________________________________________
Fontlinge-devel mailing list
Fontlinge-devel@...
https://lists.sourceforge.net/lists/listinfo/fontlinge-devel