J'installe la suite logicielle Quartus via le fichier setup.sh
. En essayant à l'origine de chmod
, j'ai essayé d'exécuter l'exécutable du shell
via ./setup.sh
bash: ./setup.sh: /bin/env: bad interpreter: No such file or directory
puis via Sudo ./setup.sh
.
Sudo: unable to execute ./setup.sh: No such file or directory
Enfin, l’utilisation de la commande Sudo bash setup.sh
dans terminal génère une erreur utile:
You must have the 32-bit compatibility libraries installed for the Quartus II installer and software to operate properly.
setup.sh: line 106: /home/matt/Downloads/Software Packages/Quartus-web-13.1.0.162-linux/components/QuartusSetupWeb-13.1.0.162.run: Permission denied
setup.sh: line 106: exec: /home/matt/Downloads/Software Packages/Quartus-web-13.1.0.162-linux/components/QuartusSetupWeb-13.1.0.162.run: cannot execute: Permission denied`
J'ai essayé de télécharger ces bibliothèques, comme indiqué dans le Manuel d'installation et de licence de Quartus Online . Cela implique l'installation des bibliothèques pré-requises suivantes, répertoriées respectivement pour le logiciel ModelSim (64 bits) ainsi que pour Quartus (dépendance à 32 bits):
Sudo apt-get install
Qui fournit les informations suivantes:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libncurses5-dev' instead of 'libncurses-dev'
libasound2 is already the newest version (1.1.0-0ubuntu1).
libncurses5-dev is already the newest version (6.0+20160213-1ubuntu1).
libx11-6 is already the newest version (2:1.6.3-1ubuntu2).
libxext6 is already the newest version (2:1.3.3-1).
libxi6 is already the newest version (2:1.7.6-1).
libxtst6 is already the newest version (2:1.2.2-1).
unixodbc is already the newest version (2.3.1-4.1).
unixodbc-dev is already the newest version (2.3.1-4.1).
libx11-6:i386 is already the newest version (2:1.6.3-1ubuntu2).
libxau6:i386 is already the newest version (1:1.0.8-1).
libxdmcp6:i386 is already the newest version (1:1.1.2-1.1).
libxext6:i386 is already the newest version (2:1.3.3-1).
libxft-dev:i386 is already the newest version (2.3.2-1).
libxrender-dev:i386 is already the newest version (1:0.9.9-0ubuntu1).
libxt6:i386 is already the newest version (1:1.1.5-0ubuntu1).
libxtst6:i386 is already the newest version (2:1.2.2-1).
libzmq3-dev is already the newest version (4.1.4-7).
libxml2 is already the newest version (2.9.3+dfsg1-1ubuntu0.2).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libxft-dev : Conflicts: libxft-dev:i386 but 2.3.2-1 is to be installed
libxft-dev:i386 : Conflicts: libxft-dev but 2.3.2-1 is to be installed
E: Unable to correct problems, you have held broken packages.
Quelle que soit l'architecture libxft
que j'installe, le même message d'erreur se produit pour l'exécutable du shell lorsqu'il est exécuté avec une commande bash. Des idées qui me manquent et comment résoudre ce conflit?
Ayez un peu confiance en votre capacité à résoudre un problème et creusez un peu plus loin!
En consultant (c'est-à-dire en utilisant vim setup.sh
) le fichier Shell, une liste des dépendances vérifiées peut être générée. Dans le script Shell, j'ai trouvé:
for item in libstdc++ glibc libX11 libXext libXau libXdmcp freetype fontconfig expat
Bibliothèques Ubuntu équivalentes installées:
Sudo apt-get install libstdc++6:i386 libc6:i386 libx11-dev:i386 libxext-dev:i386 libxau-dev:i386 libxdmcp-dev:i386 libfreetype6:i386 fontconfig:i386 expat:i386
Après avoir visionné le script un peu plus et reconnu que la dépendance de la bibliothèque 32 bits s’imprimerait indépendamment de l’existence du module résultant de l’observation du code Shell, je suis retourné à la erreur réelle, comme ci-dessus.
setup.sh: line .../QuartusSetupWeb-13.1.0.162.run: Permission denied
setup.sh: line 106 exec: ... 162.run: cannot execute: Permission denied
En particulier, les commandes utilisant bash setup.sh
ou Sudo bash setup.sh
ne pouvaient pas ensuite exécuter les fichiers .run
, en raison des propriétés de permission de ces fichiers. Un correctif simple, autorisant les droits exécutables de ces fichiers répertoriés, a résolu tous les problèmes.
chmod +x QuartusSetupWeb-13.1.0.162.run
Vérifiez la directive de l’interprète Shebang pour savoir quels interprètes sh sont réellement utilisés pour setup.sh. Dans le cas de Quartus 9.0, c’est "#!/bin/csh"
qui indique C-Shell et n’a pas été installé par défaut dans Ubuntu.