On 15-10-2014 16:51, Liam White wrote:
Here's what you do:
- Install the dependencies listed on the wiki:
port install cairo boehmgc gtkmm gtk-engines2 intltool libxslt lcms popt poppler boost gsl gnome-vfs libgnomeprintui automake autoconf bzr
- Get inkscape:
bzr branch lp:inkscape trunk
- Build it:
./autogen.sh && ./configure --prefix=$(pwd)/inst --enable-localinstall && make -j2 install
- Run it:
inst/bin/inkscape
For maximum awe:
5. Get ToT LLVM/clang, and build it: cd ~ mkdir llvm-trunk svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm cd llvm/tools svn co http://llvm.org/svn/llvm-project/cfe/trunk clang cd ../projects svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt cd ../.. mkdir build cd build ../llvm/configure --enable-optimized make -j 4 && make check-all Make dinner, watch TV, go to bed, wake up in the morning, check if done. If you get a build error: "make update", then try the last line again.
6. Build inkscape with address sanitizer (replace "johan" with your username) export LIBPREFIX="/opt/local" export CPATH="$LIBPREFIX/include" export CPPFLAGS="-I$LIBPREFIX/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/c++/v1" export LDFLAGS="-L$LIBPREFIX/lib -fsanitize=address" export CFLAGS="-O1 -g -fsanitize=address -fno-omit-frame-pointer" export CXXFLAGS="$CFLAGS --std=c++11 -stdlib=libc++ -DCPP11" export CC="/Users/johan/llvm-trunk/build/Release+Asserts/bin/clang" export CXX="/Users/johan/llvm-trunk/build/Release+Asserts/bin/clang++" export ASAN_SYMBOLIZER_PATH="/Users/johan/llvm-trunk/build/Release+Asserts/bin/llvm-symbolizer" Go to your inkscape checkout ./configure --prefix=$(pwd)/inst --enable-localinstall open ./src/main.cpp Add the following lines at the start of main():
int stack_array[100]; stack_array[1] = 0; return stack_array[argc+ 100]; // BOOM
make -j 4 install dsymutil ./src/inkscape
Get ready for maximum awe
./src/inkscape
Feel the awe.
cheers, Johan