Erreur de syntaxe: mot inattendu (en comptant “)”)
Problème à court- sous linux, chaque fois que nous obtenez l'erreur suivante
"Erreur de syntaxe: mot inattendu (en comptant ")")", ce qui veut généralement dire?
Problème dans les détails- j'ai essayé de cross-compiler Qt 4.6 comme par Sourcery outil de la chaîne sur Ubuntu 10.04. J'ai suivi les étapes exactes mentionné sur le lien la compilation de Qt 4.6. Mais j'obtiens l'erreur suivante à droite ./configurer étape
/home/weds/qt-everywhere-opensource-src-4.6.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
La recherche dans internet, j'ai trouvé beaucoup de messages concernant cette erreur. Tous les lire. Mais encore désemparés quant à Ce que cette erreur et Comment la résoudre. Je serais heureux si quelqu'un pouvait m'aider dans la compréhension de cette erreur.
P. S 1- Sourcery de la chaîne est présent à l'intérieur de /opt/dossier et ma variable PATH est correctement pointant vers elle.
P. S 2- Ce de la chaîne n'a pas été installé manuellement par moi. Plutôt, il a été fourni par un fournisseur .tgz fichier dont j'ai extrait dans /opt/dossier.
exec
: stackoverflow.com/questions/22460589/... Related: unix.stackexchange.com/questions/224040/...
OriginalL'auteur satya prakash Panigrahi | 2016-04-19
Vous devez vous connecter pour publier un commentaire.
Une réponse à ce qui semble être posté dans les instructions de la section à laquelle vous avez accédé.
Certes c'est un long chemin vers le bas dans les commentaires mais il n'a pas fallu longtemps à la recherche pour
qmake: Syntax error: word unexpected
.Citation:
Dans le cas où cela n'est pas clair, Tej suggère qu'il semble que vous essayez de courir le cross-compilé
qmake
sur le système hôte.OriginalL'auteur roaima
C'est une erreur signalée par le Almquist shell ou un de ses dérivés comme le
dash
(etdash
est arrivé à être le défaut de mise en œuvre de/bin/sh
sur Ubuntu 10.04) lorsqu'un mot est détectée lors de l'analyse de la syntaxe d'un script où un)
est à prévoir, au lieu, par exemple, comme dans ce cas l'énoncé:C'est parce que, après
b
, la seule chose qui est prévu après est)
, (quoique, en réalité,|
serait également autorisé), de sorte quec
mot est inattendu.Un cas où cela peut se produire si le script a été écrit sur ou transférées par l'intermédiaire d'un système d'exploitation Microsoft où le texte des fins de ligne sont CRLF au lieu de simplement LF.
Un
script écrit sur MS-DOS semblerait que:
sur Unix et que
c
serait un supplément mot après la<CR>
mot.Ici que c'est peu probable que vos rapports d'erreur le problème d'être sur la première ligne du script et la plupart des scripts de démarrage avec le
#! /path/to/interpreter
elle-bang ligne.Une autre possibilité est que ce script vous essayez d'exécuter a été écrit sur l'hypothèse que
sh
étaitbash
et utilise les constructions qui ne sont pas transférables à d'autressh
implémentations.Car vous utilisez une ancienne et n'est plus maintenu OS, il est également possible que vous rencontrez un bug dans la version de
dash
. Vous pouvez exécuterdpkg-reconfigure dash
et indique au système de ne pas utiliserdash
poursh
(maisbash
à la place) pour voir si cela aide.Encore peu probable d'être sur la première ligne.
Ce qui semble plus probable, c'est que le
qmake
fichier n'est pas un script, mais un exécutable binaire qui n'est pas reconnue comme telle par le système, par exemple parce qu'il est d'un format binaire pour le mal de l'architecture ou qu'il a été endommagé dans le processus de transfert.Dans ce cas, lorsque le système ne parvient pas à reconnaître comme un fichier exécutable natif, l'invocation d'application essayez d'exécuter
sh
sur elle comme si c'était un script shell, et la présence d'un(
caractère dans le fichier pourrait causerdash
à échouer avec une erreur.Sur mon système:
Et si vous regardez le contenu de
/bin/touch
comme s'il s'agissait d'un script, vous pouvez voir:OriginalL'auteur Stephane Chazelas
99% c'est un mauvais transfert de fichiers /ascii /binaire en mode
essayer d'extraire l'ensemble des outils directement sur le système cible
.tgz
a été extraite directement dans le/opt
dossier.OriginalL'auteur Gorgone Impertinence