2016-09-25 4 views
0

Ich habe jetzt Probleme mit einem autotools generated Makefile, und es sieht zuerst wie this aus. Als ich versuchte make ein Fehler arised:fehlendes Trennzeichen auf Makefile

Makefile:327: *** missing separator. Stop. 

Dann habe ich versucht, die folgende Änderung:

326,327c326 
< LDFLAGS = -Wl,-O1,--sort-common,--as-needed,-z,relro -L/home/tjm/tmp/fake-root/libgd/usr/local/lib/ -L /home/tjm/tmp/fake-root/libpng/usr/local/lib -L /home/tjm/tmp/fake-root/freetype/usr/local/lib -L /home/tjm/tmp/fake-root/libpng/usr/local/lib -L /home/tjm/tmp/jpeg-6b 
<  -static 
--- 
> LDFLAGS = -Wl,-O1,--sort-common,--as-needed,-z,relro -L/home/tjm/tmp/fake-root/libgd/usr/local/lib/ -L /home/tjm/tmp/fake-root/libpng/usr/local/lib -L /home/tjm/tmp/fake-root/freetype/usr/local/lib -L /home/tjm/tmp/fake-root/libpng/usr/local/lib -L /home/tjm/tmp/jpeg-6b -static 

Aber diesmal habe ich diesen Fehler:

Making all in intl 
Makefile:35: *** missing separator. Stop. 
make[1]: *** [Makefile:582: all-recursive] Error 1 
make: *** [Makefile:489: all] Error 2 

Die zugehörige Linien sehen wie folgt aus:

32 skip_next=no; \ 
33 strip_trailopt() \ 
34 { \ 
35  flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ 
36 }; \ 

Und ich teird eine Menge Dinge wie:

34 { flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; }; \ 

34 { \ 
35  flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; }; \ 

33 strip_trailopt() { flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; }; \ 

und

35 ^Iflg=printf '%s\n' "$$flg" | sed "s/$$1.*$$//"; \$ 

aber immer noch die gleichen Fehler.

Kann mir jemand etwas über die Reparatur geben?

+0

Wenn das generierte Makefile beschädigt ist, bedeutet dies wahrscheinlich, dass makefile.am beschädigt ist. Hast du es geschrieben oder stammt es von einem anderen Projekt? – user657267

Antwort

0

(Anmerkung:. Ich bin mir nicht sicher, ob dies in Stackoverflow vs Super-User korrekt ist)

Wenn Sie die Makefile bearbeiten, ist es nicht sinnvoll sein werden, da es würde nur aus Makefile.in neu generieren, und dieser wiederum wird aus Makefile.am generiert.

Überprüfen Sie Ihre Makefile.am Datei und setzen Sie -static in der gleichen Zeile wie alles andere; Was passiert, ist, dass es kein Fortsetzungssymbol am Ende der vorherigen Zeile (\) hat, so dass die Variablendefinition nicht fortgesetzt wird. Und deswegen versucht es, es in der Regel zu analysieren, was es nicht ist.