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

Je ne peux pas installer Valgrind sur macOS High Sierra. Il 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.
4
demandé sur rogerdpack 2018-02-10 01:07:02

7 réponses

j'ai eu ce problème. Donc, j'ai trouvé la solution. Vous devez installer valgrind par ce code brew install --HEAD valgrind

5
répondu Yuriy Lesyo 2018-06-12 21:22:02

j'ai créé un port 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 depuis l'intérieur du répertoire source:

./configure
make
sudo make install
3
répondu kallumama24 2018-06-10 20:53:55

j'ai obtenu ce travail en juillet 2018, pour référence:

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

Edit ./ 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.*)

Exécuter

./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 le fichier ~/.valgrindrc

--suppressions=$HOME/.valgrind.supp

dépannage

  • si vous ne pouvez pas lire fichier de suppression copier-coller le contenu de $HOME
  • si elle se plaint des versions clang, bump la première édition
  • s'il se plaint de la version de Darwin, passez à la seconde édition
2
répondu user10114753 2018-07-21 12:45:15

je construis assez régulièrement la version git head de Valgrind sur macOS. Si vous avez Xcode installé alors il n'y a pas beaucoup plus que de suivre les instructions ici .

je mettrai à jour mon script de construction plus tard.

comme alternative, vous voudrez peut-être considérer clang désinfectants. Cela peut être activé dans xcode, ou avec l'option-fsanitize=X (où X est Adresse, non défini, thread, mémoire et quelques autres).

1
répondu Paul Floyd 2018-02-13 17:45:41

utilisant le brew install --HEAD valgrind a également fonctionné pour moi, mais soyez sûr de savoir que cela va prendre un certain temps pour tirer la version HEAD, et construire/installer.

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

1
répondu Steve Rogers 2018-07-31 21:51:07

Valgrind est un logiciel assez sensible, et nécessite des mises à jour pour chaque version majeure de macOS.

en février 2018, il n'existe pas de version de Valgrind supportant macOS High Sierra (10.13). Vous devrez utiliser une version de développement de Valgrind, ou utiliser d'autres outils. (Apple Instruments peut avoir certaines des fonctionnalités que vous recherchez.)

1
répondu duskwuff 2018-07-31 22:57:32

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

la commande, par souci d'exhaustivité (complète très vite-apparemment, prébutit):

sudo port install valgrind-devel

Version:

$ valgrind --version
valgrind-3.14.0.GIT
0
répondu Victor Sergienko 2018-09-07 00:12:32