Yosemite और Valgrind


110

क्या आप मुझे बता सकते हैं कि yosemite पर valgrind कैसे स्थापित करें? जब मैं इसे स्थापित करने का प्रयास करता हूं तो मुझे "कर्नेल संस्करण के लिए जाँच" मिल जाती है ... असमर्थित (14.0.0) कॉन्फ़िगर: त्रुटि: डार्विन डार्विन पर काम करता है 10.x, 11.x, 12.x और 13.x (मैक ओएस एक्स) 10.6 / 7/8/9) "

कोई आधिकारिक रास्ता या अद्यतन नहीं है, और मुझे कुछ भी नहीं मिला (सिवाय http://comments.gmane.org/gmane.comp.kde.devel.bugs/1553705 , लेकिन उन्होंने उस समस्या का समाधान नहीं किया)।


4
homebrewएक असंगत नोट के साथ ज्ञात मुद्दा : "अपस्ट्रीम के विकास समय सारिणी के कारण निकट भविष्य में निश्चित रूप से तय किया जाना चाहिए"
hrbrmstr

@hrbrmstr, धन्यवाद, मैंने वर्चुअल मशीन पर उबंटू स्थापित करके कुछ समय के लिए इस समस्या को हल किया है और फिर उबंटू पर
वालगाइंड

जवाबों:


287

जैसा कि कोई स्थिर रिलीज़ नहीं है जो योसेमाइट का समर्थन करता है, आप नवीनतम विकास संस्करण को स्थापित कर सकते हैं

brew install --HEAD valgrind

5
यह कमांड अब काम नहीं करता है। मुझे यह संदेश मिलता है:Error: Failed to download resource "valgrind--patch" Download failed: https://gist.githubusercontent.com/jacknagel/cd26a902d72aabd0b51d/raw/1a61a328a87a728dccbeef0594f6fe335e9bf917/valgrind-sdk-paths-Makefile-am.diff
एन्ड्रे कारोन

1
Whilst यह पोस्टिंग के समय सही समाधान था, Valgrind अब OS X Yosemite को एप्लिकेशन के प्रलेखित रिलीज़ चैनलों के माध्यम से समर्थन करता है।
Rhys Kidd

50

Whilst यह पिछले OS X रिलीज़ साइकल के मामले में हो सकता है कि Valgrind ने उचित सुविधा समर्थन प्राप्त करने से पहले कुछ समय लिया, मूल OS X 10.10 समर्थन पहले से ही रिलीज़-पूर्व योसमाइट पर महत्वपूर्ण कार्य के कारण Valgrind ट्रंक में उपलब्ध है।

मेलिंग सूची से:

हाल ही में Yosemite के लिए Valgrind के समर्थन को बेहतर बनाने के लिए कुछ प्रयास किए गए हैं। यदि आप Mac OS पर विकसित होते हैं, तो आप ट्रंक (svn co svn: //svn.valgrind.org/valgrind/trunk) को आज़माना चाहते हैं और आपको मिलने वाले किसी भी टूटने की रिपोर्ट कर सकते हैं। योसेमाइट के लिए समर्थन इतना अच्छा है कि कम से कम एक बड़ा ग्राफिकल एप्लिकेशन (फ़ायरफ़ॉक्स) ठीक चलता है। पिछली रिलीज के लिए समर्थन, 10.9 (Mavericks), भी काफी सुधार हुआ है।

ध्यान दें कि काम ने केवल 64 बिट प्रक्रियाओं को लक्षित किया है। 32 बिट काम कर सकता है, और संभवत: Mavericks पर बेहतर है, लेकिन मुझे संदेह है कि Valgrind के 32 बिट x86 इंस्ट्रक्शन सेट सपोर्ट के कारण SSSE3 पास नहीं होने के कारण योसमाइट पर यह तेजी से समस्याग्रस्त होगा।

जूलियन सीवर

http://sourceforge.net/p/valgrind/mailman/message/33047840/

पूर्ण प्रकटीकरण: मैं नए Valgrind डेवलपर्स में से एक हूं जिन्होंने OS X 10.10 का समर्थन करने के लिए पैच का योगदान दिया


14
वेलग्रिंड में योगदान के लिए +1। इसे मेरे कोड के खिलाफ चला गया। इसने एक विभाजन दोष का कारण बताया जो पिछले 24 घंटों से मुझे पागल बना रहा है क्योंकि मुझे इसका कारण नहीं मिला।
आर्टऑफवर्फ

11

Valerio की svn वर्कफ़्लो हर शाखा को डाउनलोड करेगी जो समय और संसाधन खपत है। एक बेहतर प्रक्रिया सिर्फ ट्रंक को डाउनलोड करना है:

svn co svn://svn.valgrind.org/valgrind/trunk valgrind
cd valgrind
./autogen.sh
./configure
make
make install

यह देखते हुए कि इसे डाउनलोड करने में रिलीज़ स्रोत की तुलना में अधिक समय लगता है .tar.bz ने किया ... क्या यह सिर्फ संपीड़न है जो इतना बड़ा अंतर बनाता है या क्या यह वास्तव में फ़ाइलों को डाउनलोड कर रहा है जो कि अन्यथा नहीं होगा? (मुझे लगता है कि यह अलग सर्वर हो सकता है ... या अंतर svn coऔर curl...)
आर्टऑफवर्फ

+1: बढ़िया काम किया। केवल एक चीज जो मैंने बदली, वह थी मैं sudo make installइसके बजाय अंत में था make install। निश्चित नहीं है कि यह आवश्यक था या नहीं क्योंकि मैंने इसे अपने तरीके से आज़माया नहीं था।
आर्टऑफवर्फ

8

यहाँ इस पर मेरा टेक है। मैं कम या ज्यादा एक साफ मैक स्थापित xcode के साथ था। यह संकलन और निम्नलिखित के साथ चल रहा है:

# build/install autoconf/automake/libtool so that 'autogen' works
curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
tar -xzf autoconf-2.69.tar.gz 
cd autoconf-2.69
./configure && make && sudo make install
cd ..

curl -OL http://ftpmirror.gnu.org/automake/automake-1.14.tar.gz
tar -xzf automake-1.14.tar.gz
cd automake-1.14
./configure && make && sudo make install
cd..

curl -OL http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz
tar -xzf libtool-2.4.2.tar.gz
cd libtool-2.4.2
./configure && make && sudo make install
cd ..

svn co svn://svn.valgrind.org/valgrind/trunk valgrind
cd valgrind
./autogen.sh
# important: configure-params, otherwise make ends in errors 
./configure -disable-tls --enable-only64bit --build=amd64-darwin 
make
# sudo, otherwise it fails due to permissions 
sudo make install  

ध्यान दें कि callgrind_control (valgrind-3.11.0 SVN से) OS X पर काम नहीं करता है, एक पर्ल-स्क्रिप्ट और कमांडलाइन टूल जैसा दिखता है, जो इसे चलाता है (vgdb -l) कुछ 'अनपेक्षित' प्रिंट करता है जो कि स्क्रिप्ट नहीं करता है ' टी सही ढंग से पार्स (ताकि यह वैलेग्रिंड के साथ चलने वाली अन्य प्रक्रिया को खोजने में सक्षम न हो)।

वैकल्पिक रूप से, पर्ल स्क्रिप्ट बस vgdb को कॉल करती है, हम सीधे ऐसा भी कर सकते हैं (बस अपनी प्रक्रिया-आईडी को मैन्युअल रूप से समझें):

vgdb --pid=2858 instrumentation on

शानदार, यह वही है जो मुझे योसेमाइट 10.10.4 पर चलने के लिए वैलेरिंड प्राप्त करने की आवश्यकता है। केवल एक चीज, -disable-tls स्विच को इंगित करने के ऊपर के कमांड में एक यूनिकोड हाइफ़न वर्ण होता है, नियमित रूप से इस्की हाइफ़न के बजाय।
टिम केन

खुश मैं मदद कर सकता है - हाइफन को इंगित करने के लिए धन्यवाद (इसे अपडेट किया गया)। इसके अलावा callgrind_control समस्या के लिए एक काम के आसपास जोड़ा।
कलमाया

7

10.10.1 को मेरे लिए काम किया:

svn co svn://svn.valgrind.org/valgrind
cd valgrind
./autogen.sh
./configure
make
make install

इसकी कोशिश की। मैंने बहुत सारे अप्रासंगिक परीक्षण डाउनलोड करते हुए छोड़ दिया।
19

1
प्रतिगमन परीक्षण एक वल्गर के दृष्टिकोण से Valgrind कार्यक्रम का एक अनिवार्य हिस्सा हैं। Whilst एक आधिकारिक Valgrind रिलीज अभी तक OS X प्लेटफ़ॉर्म समर्थन में सुधार के साथ किया जाना है, दुर्भाग्य से आपको परीक्षणों के साथ एक संस्करण डाउनलोड करना होगा। यदि किसी कारण से आपके कनेक्शन पर एसवीएन डाउनलोड परेशानी है, तो अनौपचारिक गीथहब रिपॉजिटरी हैं: github.com/liquid-mirror/valgrind
Rhys Kidd

7

यहां सूचीबद्ध सभी समाधान मेरे लिए विफल रहे। मैक पोर्ट का उपयोग करने के लिए आखिरकार काम करना समाप्त हो गया।

sudo port install valgrind-devel


3

यहां आधिकारिक svn के अलावा वैकल्पिक स्रोतों का उपयोग करके इसे स्थापित करने का तरीका बताया गया है (क्योंकि यह रुक-रुक कर उपलब्ध होता है)।

https://crispyappstudiosblog.wordpress.com/2015/07/07/installing-valgrind-on-osx-yosemite/

1) svn के इस git दर्पण में नेविगेट करें और नवीनतम उपलब्ध संस्करण डाउनलोड करें: http://repo.or.cz/w/valgrind.git

2) आपको वीईएक्स की भी आवश्यकता है, इसलिए यहां नवीनतम संस्करण को पकड़ो: http://repo.or.cz/w/vex.git

3) दोनों को बाहर निकालें। VEXफ़ोल्डर की संपूर्ण सामग्री को वैलेराइंड निर्देशिका के शीर्ष स्तर में VEX नामक फ़ोल्डर में रखें।

cd वैध निर्देशिका में, और निम्नलिखित निष्पादित करें:

Run ./autogen.sh

Run ./configure

Run make

Run sudo make install

इसे चलाकर देखें valgrind --version। योसेमाइट पर काम करने के लिए आपको कम से कम 3.11.0 एसवीएन चलाना चाहिए। Valgrind 3.11.0 SVN OSX Yosemite 10.10.4 पर चल रहा है


3

मैंने इसे अपने मैक पर स्थापित किया homebrewऔर फिर इस 3 कमांड को टर्मिनल में चलाया।

  1. brew update
  2. brew doctor
  3. brew install --HEAD valgrind

PS: मेरे पास Os X El Capitan (10.11) है लेकिन इसे पिछले संस्करणों के साथ भी काम करना चाहिए।


इससे कुछ भी नया नहीं है:valgrind: This formula either does not compile or function as expected on macOS versions newer than El Capitan due to an upstream incompatibility.
एलेक्स

2

अंत में मुझे अपने OSX El Capitan 10.11.12 पर काम करने के लिए Valgrind मिला ।

जब मैंने Xcode कमांडलाइन टूल इंस्टॉल किया, तो उपयोगकर्ता कलमीया के उत्तर ने मेरे लिए सबसे पहले काम किया।

इसे टर्मिनल में टाइप करें:

xcode- चयन - स्थापना

अब Kalmiya की पोस्ट का अनुसरण करें , चरण दर चरण। https://stackoverflow.com/a/30366798/3633475


मेरी मैक बुक प्रो में पहले से ही अपडेटेड मैक ओएस का नवीनतम संस्करण है और यह 10.11.3 नहीं 10.11.12 है! आपके सुझाव ने भी मेरे लिए काम नहीं किया। यह त्रुटि हैAssertion 'tst->os_state.pthread - magic_delta == self' failed.
SMMousavi

@SMMousavi एसवीएन विकास संस्करण में Valgrind के लिए "अभिकथन 'परीक्षण-> os_state.pthread - magic_delta == self'" त्रुटि तय की गई है।
राइस किड

@RhysKidd जानकारी के लिए बहुत बहुत धन्यवाद :)
SMMousavi

0

यहाँ svn स्थापित पर एक और ले रहा है। पिछले लोगों ने मेरे लिए काम नहीं किया, क्योंकि मुझे ज़रूरत थी automakeऔर autoconfस्थापित करने की, जो कि मैंने नहीं की, भले ही मेरे पास एक्सकोड कमांड लाइन टूल्स का नवीनतम संस्करण स्थापित था।

मुझे इस साइट से निम्नलिखित मिला है । मैं भी लिंक किया था automakeऔर autoconfकरने के बाद brew install automakeऔर brew install autoconfऐसा करके brew link automakeऔर brew link autoconfइस के लिए काम करने के लिए।

# Check out their repo...
$ svn co svn://svn.valgrind.org/valgrind/trunk valgrind-trunk
# and hop into it.
$ cd valgrind-trunk

# You need to have autoconf and automake installed to build Valgrind
# This example uses Homebrew to install these dependencies
# (MacPorts should also work)
# (Permission error? add sudo!)
$ brew install automake
$ brew install autoconf

# run autogen.sh in valgrind-trunk
$ ./autogen.sh

# Tricky, there are some hard wired paths in the Valgrind sources.
# You need to symlink the mach folder in your XCode SDK to /usr/include/mach
# Be sure to use the proper Xcode SDK "MacOSX10.10.sdk" in the path!
$ ln -sv /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/mach /usr/include/mach

# Run configure + set install paths in valgrind-trunk
$ ./configure --prefix=/usr/local

# Run Make and make install (permission error? add sudo!) in valgrind-trunk
$ make
$ make install

# Check it works
$ valgrind --version
valgrind-3.11.0.SVN

1
10.10.3 को अभी भी कोई सफलता नहीं मिली है: $ make ... Making all in coregrind make[2]: *** No rule to make target '/usr/include/mach/mach_vm.defs', needed 'by m_mach/mach_vmUser.c'. Stop. make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 हालांकि / usr / शामिल / मच रूट के तहत बनाया गया था, जैसा कि वर्णित है आदि
सिम्प्लेनिक

0

मैंने kalmiya के निर्देशों का उपयोग OSX Yosemite के लिए एक conda पैकेज के रूप में वैलेग्रिड बनाने के लिए किया है। एनाकोंडा / कोंडा के साथ काम करने वालों के लिए, बस

conda install -c https://conda.binstar.org/groakat valgrind

साइड-नोट: मुझे कमांड लाइन टूल स्थापित करने की आवश्यकता है जैसा कि नीचे वर्णित है कि वेलग्रिंड को संकलित करने के लिए।

https://stackoverflow.com/a/30471647/2156909


0

मैं संकलित Yosemite पर मिला, लेकिन ऐसा करने के लिए एक हैक का उपयोग करना पड़ा। जबकि मुझे लगता है कि आपको xcode-select installसभी कमांड लाइन टूल (जिसके बाद वेलग्रिंड को ठीक से बनाना चाहिए) प्राप्त करने के लिए उपयोग करना चाहिए, लेकिन यदि आप ऐसा नहीं करना चाहते हैं (जैसे कि Xcode टूल का आकार बहुत बड़ा है), तो आप डार्विन OSX भी प्राप्त कर सकते हैं। कोड और निम्न फ़ाइलों की प्रतिलिपि बनाएँ/usr/include/mach

   mach_vm.defs
    task.defs
    thread_act.defs
    vm_map.defs

यह एक साफ संकलन और स्थापित करने की अनुमति देता है, हालांकि ध्यान दें कि यह एक सुस्त हैक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.