web-dev-qa-db-fra.com

Impossible de construire et d'installer Valgrind sur macOS High Sierra

Je ne peux pas installer Valgrind sur macOS High Sierra. Ce n'est pas disponible via brew. J'ai essayé avec 3.10 . Après make install, je reçois ce message:

configure: error: Valgrind works on Darwin 10.x, 11.x, 12.x, 13.x and 14.x (Mac OS X 10.6/7/8/9/10)

Homebrew dit:

valgrind: This formula either does not compile or function as expected on macOS
versions newer than Sierra due to an upstream incompatibility.
Error: An unsatisfied requirement failed this build.
9
1N5818

J'ai eu un problème comme celui-ci ... J'ai donc trouvé la solution. Vous devez installer valgrind avec ce code brew install --HEAD valgrind

7
Yuriy Lesyo

J'ai créé un portage de valgrind 3.13.0 pour travailler sur macOS High Sierra (10.13.x). Vous pouvez l'obtenir ici: https://github.com/padiakalpesh/valgrind_3.13_high_sierra

Une fois que vous avez obtenu la source, exécutez les commandes suivantes à partir du répertoire source:

./configure
make
Sudo make install
4
kallumama24

Je travaille en juillet 2018, pour référence:

https://Gist.github.com/AlessandroMinali/d8316d6cc650c97027433644c2ff31ee

Modifier ./configurer

- 5468: applellvm-5.1|applellvm-6.*|applellvm-7.*|applellvm-8.*)
+ 5468: applellvm-5.1|applellvm-6.*|applellvm-7.*|applellvm-8.*|applellvm-9.*)


- 5879:          16.*)
+ 5879:          17.*)

Courir

./autogen.sh
./configure
make
make install

Créer le fichier ~/.valgrind.supp

# false positive for any executable (it seems)
# macOS 10.12.6
# valgrind 3.13.0
{
    libtrace initialization false positive
    Memcheck:Param
    msg->desc.port.name
    fun:mach_msg_trap
    fun:mach_msg
    fun:task_set_special_port
    fun:_os_trace_create_debug_control_port
    fun:_libtrace_init
}

Créer un fichier ~/.valgrindrc

--suppressions=$HOME/.valgrind.supp

Dépannage

  • si vous ne pouvez pas lire le fichier suppresion, copiez et collez le contenu de $ HOME
  • s'il se plaint de versions clang, cogner la première édition
  • si elle se plaint de la version de Darwin, augmentez la deuxième modification
2
user10114753

Je construis la version git head de Valgrind sur macOS assez régulièrement. Si vous avez installé xcode, rien de plus que de suivre les instructions ici .

Je mettrai à jour avec mon script de construction plus tard.

Au lieu de cela, vous voudrez peut-être envisager des désinfectants clang. Cela peut être activé dans xcode ou avec l'option -fsanitize = X (où X est l'adresse, indéfini, thread, mémoire et quelques autres).

1
Paul Floyd

La version MacPorts a commencé à fonctionner pour moi en septembre 2018!

La commande, par souci d’exhaustivité (s’achève très rapidement - apparemment, déjà construite):

Sudo port install valgrind-devel

Version:

$ valgrind --version
valgrind-3.14.0.GIT
1
Victor Sergienko

utiliser le brew install --HEAD valgrind a également fonctionné pour moi, mais sachez qu'il faudra un certain temps pour extraire la version HEAD et pour construire/installer. 

Cependant, aucun autre changement n'était nécessaire.

1
Steve Rogers

Valgrind est un logiciel plutôt délicat qui nécessite des mises à jour pour chaque version majeure de macOS.

Depuis février 2018, aucune version publiée de Valgrind ne prend en charge macOS High Sierra (10.13). Vous devrez utiliser une version de développement de Valgrind ou utiliser d'autres outils. ( Instruments d’Apple peut avoir certaines des fonctionnalités que vous recherchez.)

1
duskwuff

Ce qui suit a fonctionné pour moi en utilisant la dernière version de Valgrind release 3.14.0 (9 octobre 2018) sur macOS 10.13.6.

VERSION="3.14.0"
wget -O - http://www.valgrind.org/downloads/valgrind-"$VERSION".tar.bz2 | tar xjf -
cd valgrind-"$VERSION"
# use --prefix=/path/to if you want it installed somewhere in particular
./configure
make
# may need Sudo
make install
# test all is working
valgrind ls -l

Ces instructions sont extraites de README à l’intérieur de la boule de goudron de libération Valgrind.

0
Michael Hall