Как я могу скомпилировать Valgrind на Snow Leopard?

Как я могу скомпилировать Valgrind на Snow Leopard?

Ответы

Ответ 2

Предположим, что у вас установлены инструменты XCode и SVN-клиент, вот он.

Перейдите в каталог, в котором вы храните материал. Ознакомиться с источниками valgrind

svn co svn://svn.valgrind.org/valgrind/tags/VALGRIND_3_5_0 valgrind

Загрузите патч Greg Parker 10.6

curl http://bugsfiles.kde.org/attachment.cgi?id=36999 > 10.6.patch
mv 10.6.patch ./valgrind

Применить патч

cd valgrind
patch -p0 < 10.6.patch

Скомпилировать valgrind

./autogen.sh
./configure
make

Установите его

sudo make install

Запустить его

valgrind --leak-check=full --show-reachable=yes /tmp/a.out

Ответ 3

В дополнение к (почти) идеальному ответу diciu. Для компиляции 64-разрядной версии valgrind (требуется для 64-разрядных исполняемых файлов, например, стандарта в OS 10.6). Вам нужно будет запустить configure следующим образом:./configure --enable-only64bit

Ответ 4

Ответ diciu работал безупречно для 32-битной сборки, но я не мог получить 64-битную сборку, адаптируя эти инструкции.

Нашел некоторые другие рабочие инструкции для получения 64-битной сборки valgrind.

(реплицируется здесь, слегка адаптировано, поскольку wget по умолчанию не установлен на os x)

svn co -r 11104 svn://svn.valgrind.org/valgrind/trunk valgrind
cd valgrind
curl http://bugsfiles.kde.org/attachment.cgi?id=40091 -o snow-leopard.patch
curl http://bugsfiles.kde.org/attachment.cgi?id=40900 -o arc4random.patch
curl http://bugsfiles.kde.org/attachment.cgi?id=42530 -o sidt.patch 
curl http://bugsfiles.kde.org/attachment.cgi?id=42892 -o signal.patch
patch -p0 < snow-leopard.patch
patch -p0 < arc4random.patch
patch -p1 < signal.patch
cd VEX; patch -p0 < ../sidt.patch ; cd ..
touch darwin10-drd.supp
touch darwin10.supp
./autogen.sh || autoreconf -fvi
./configure --prefix=`pwd`/inst64 --build=amd64-darwin
make -j 8 && make install

Изменить: в ответ на комментарии, чтобы иметь как 32, так и 64 бит также выполнять следующие команды: (обратите внимание, что мне не нужно 32-битный valgrind, поэтому я не пробовал это, но он должен работать)

make clean
 ./configure --prefix=`pwd`/inst32
make -j 8 && make install

Оба будут расположены в inst32/и inst64/after.

Ответ 5

Использование флага конфигурации --enable-only64bit предотвращает необходимость взломать host_cpu = "x86_64" в configure script (используя опубликованный патч diciu)

Ответ 7

Вы не можете. Он еще не поддерживается.