2016-04-11 3 views
1

J'installe libusb avec brew dans mon Macbrew installer liaison libusb échoué

brew install libusb

L'étape de liaison a échoué comme ci-dessous

Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local 

Could not symlink lib/libusb-1.0.0.dylib 

Target /usr/local/lib/libusb-1.0.0.dylib already exists. 

You may want to remove it: rm '/usr/local/lib/libusb-1.0.0.dylib' 

To force the link and overwrite all conflicting files: brew link 
--overwrite libusb 

Je retiré libusb existant avec

sudo rm '/usr/local/lib/libusb-1.0.0.dylib'

et fait un lien

brew link --overwrite libusb

Le lien ne fonctionne pas, montre erreur ci-dessous

Error: Could not symlink lib/libusb-1.0.0.dylib

/usr/local/lib is not writable.

Si je tente

sudo brew link --overwrite libusb

à la place

, qui ne fonctionne pas non plus. Qu'est-ce que je rate?

J'utilise OSX El Capitan Version 10.11.4 (15E65)

+0

Essayez fessée il est plus difficile ... 'brasser rm libusb --force',' BRE w install libusb' –

+0

Aussi, si vous prévoyez de l'utiliser pour numériser, sachez que 'Image Capture' s'accroupit sur le scanner et doit être détruit avant de pouvoir être scanné. Oh, je peux mentionner * claquer * et * tuer *, mais je ne suis pas vraiment une personne violente ;-) –

+0

@MarkSetchell après avoir brisé le brassage et la récupération, j'ai fait 'brasser rm libusb --force',' sudo brew installer libusb' (wo sudo était l'autorisation refusée). Semblait travailler wo erreur. Maintenant, si je fais 'quel libusb', il ne montre rien. Cela signifie-t-il que libusb n'est toujours pas lié? – nad

Répondre

2

Si les choses semblent ne pas travailler avec homebrew, ma stratégie générale est d'abord d'essayer:

brew doctor 

et faire tout le bien le docteur recommande.

Si cela échoue, j'ai tendance à désinstaller les choses, normalement en utilisant --force qui fait vraiment un bon nettoyage et supprime les anciennes versions. Donc, dans votre cas:

brew rm libusb --force 

puis réinstaller le "malheureux" paquet. Ainsi, dans votre cas:

brew install libusb 

En réponse à votre nouvelle question dans les commentaires. Votre installation semble correcte car libusb n'est pas un programme exécutable - c'est juste une bibliothèque sans aucun outil de ligne de commande associé - donc il n'apparaîtra pas lorsque vous exécuterez which libusb.

Vous pouvez voir les éléments constitutifs du paquet avec cette commande:

brew ls libusb 

/usr/local/Cellar/libusb/1.0.20/include/libusb-1.0/libusb.h 
/usr/local/Cellar/libusb/1.0.20/lib/libusb-1.0.0.dylib 
/usr/local/Cellar/libusb/1.0.20/lib/pkgconfig/libusb-1.0.pc 
/usr/local/Cellar/libusb/1.0.20/lib/ (2 other files) 

Et, comme vous pouvez le voir dans /usr/local/bin, il n'y a pas de programme exécutable autonome appelé libusb, il y a juste

  • libusb.h - un fichier d'en-tête C vous compilez contre
  • libusb ... dylib - une bibliothèque dynamique, vous lierait contre
  • libusb ...pc - qui fournit l'information pour l'outil pkgconfig

Donc, si vous vouliez compiler et lier une application contre libusb, vous devez exécuter pkg-config comme celui-ci pour découvrir les « Include chemin » et éditeur de liens détails

pkg-config --cflags --libs libusb 

-I/usr/local/Cellar/libusb-compat/0.1.5/include  \ 
-I/usr/local/Cellar/libusb/1.0.20/include/libusb-1.0 \ 
-L/usr/local/Cellar/libusb 

qui signifie que votre commande de compilation ressemblerait à ceci:

gcc yourApp.c $(pkg-config --cflags --libs libusb) -o yourApp 
+0

On dirait que j'ai un problème avec pkg-config le chemin libusb. Je pense que c'est au-delà de la portée de cette question donc posté une nouvelle [question] (http://stackoverflow.com/questions/36578535/package-libusb-was-not-found-in-the-pkg-config-search- chemin) – nad