martes, 12 de octubre de 2010

HDK in the Mac. Using hcustom with Leopard

Well, I have recently tried to compile some custom SOPs in my Mac.
No luck at the beggining so I begin to as in the Houdini Mailing list, Odforce, but no luck.
In my first try I got these errors:
Making SOP_Flatten.o and
/Users/pablo/Library/Preferences/houdini/11.0/dso/SOP_Flatten.dylib
from SOP_Flatten.C
cc1plus: warning: command line option "-fobjc-gc-only" is valid for
ObjC/ObjC++ but not for C++
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:
In function ‘int32 SYS_AtomicImpl::test_and_add(int32*, int)’:
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:345:
error: ‘__sync_fetch_and_add’ was not declared in this scope
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:
In function ‘int32 SYS_AtomicImpl::compare_and_swap(int32*, int32,
int32)’:
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:351:
error: ‘__sync_val_compare_and_swap’ was not declared in this scope
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:
In function ‘int64 SYS_AtomicImpl::test_and_set64(int64*, int64)’:
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:358:
error: ‘__sync_lock_test_and_set’ was not declared in this scope
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:
In function ‘int64 SYS_AtomicImpl::test_and_add64(int64*, int64)’:
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:365:
error: ‘__sync_fetch_and_add’ was not declared in this scope
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:
In function ‘int64 SYS_AtomicImpl::compare_and_swap64(int64*, int64,
int64)’:
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:372:
error: ‘__sync_val_compare_and_swap’ was not declared in this scope
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:
In function ‘void SYS_AtomicImpl::store(int32*, int32,
SYS_MemoryOrder)’:
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:389:
error: ‘__sync_synchronize’ was not declared in this scope
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:399:
error: ‘__sync_lock_release’ was not declared in this scope
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:405:
error: ‘__sync_lock_test_and_set’ was not declared in this scope
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:
In function ‘int32 SYS_AtomicImpl::load(const int32*,
SYS_MemoryOrder)’:
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:428:
error: ‘__sync_synchronize’ was not declared in this scope
/Library/Frameworks/Houdini.framework/Resources/toolkit/include/SYS/SYS_AtomicImpl.h:435:
error: ‘__sync_val_compare_and_swap’ was not declared in this scope
Compile failed


I am using Mac OS X 10.5.X, Leopard. So asking to SESI seems I have some problems with the gcc version.
I have been using Xcode 3.0 which uses gcc 4.0.1, whereas Houdini is compiled against gcc 4.2.
So I installed Xode 3.1.3, which is the latest version for Leopard and includes gcc-4.2.
You can grab it from here:
http://connect.apple.com/cgi-bin/WebObjects/MemberSite.wo/wa/getSoftware?bundleID=20414
Now, how to use it, you can go to the dirty solution, removing cd gcc links in /usr/bin and make new ones pointing to gcc-4.2:

cd /usr/bin
rm cc gcc c++ g++
ln -s gcc-4.2 cc
ln -s gcc-4.2 gcc
ln -s c++-4.2 c++
ln -s g++-4.2 g++

Or the clean solution, don't touch the system just add some environment variables:

# Use GCC 4.2 rather tha GCC 4.0
export CC="/usr/bin/gcc-4.2"
export CPP="/usr/bin/cpp-4.2"
export CXX="/usr/bin/g++-4.2"
# Use GCC 4.2 for HDK
export HOUDINI_CC=$CXX

I put the text above in my ~/.bashrc
The first thre variables are for the usual GNU tools.
The last one is used by hcompile, the script called by hcustom to compile your DSO.
Now you can try hcustom and see your DSOs happily compiled.
Happy hacking!

lunes, 5 de abril de 2010

I´m dad!!!


Hi all.

Last 28th of March my daughter, Ines was born!

Both, Ines and mum are doing well.

A new life begins .......


domingo, 14 de marzo de 2010

Iron Man 2 - second trailer is out!

Hi there.
At least after long hours the movie is almost done and the secon trailer was showed in the last Oscars night.
So here it is I hope you like, and specially if you are a fan of the saga

http://trailers.apple.com/trailers/paramount/ironman/

At Dneg we have been working in the sequence between Whiplash and Ironman.
I was mainly doing tesla and sparks fx.
Before this project I supposed this kind of effects should be easy, actually I think doing electricity fx phenomena to look real and credible is really hard.
Cheers!

miércoles, 4 de noviembre de 2009

Prince Of Persia official trailer is out!

At least here it is the official trailer for Prince Of Persia.
At DNeg we did the daggertime effect and the final battle.
I worked on the daggertime effect which is inspired on the bullet time effect from The Matrix with a little (ok not so little) touch of sand :)
Enjoy

domingo, 2 de agosto de 2009

TDVim 0.1 Alpha Released!

At least!
After some hard work with the keymaps and testing them for Linux, MacOSX, windoiws and Cygwin the first release of TDVim for development use is ready.
This is alpha software, is only ready fo rdevelopers or people who feel curious about what TDVim can do and get an idea of the project.
I am using it in my daily work so at least will have some functionality.
the documentation also has got a dramatic improvement.
Go to the download section to get it.
Give it a try and tell me your opinion, much appreciated.

domingo, 7 de junio de 2009

TDVim Wiki Ready!

The new brand TDVim wiki is ready!
Ok is a first version and just a brief skel for the whole wiki but the foundations are there.
This wiki will be an extra source of help for many users of TDVim.
Is specially oriented to new users, they will find the web format much more easier than the usual VIM documentation.
Also the other reason to have a wiki appart from the docs integrated in vim is to have a repository for tricks and tutorials for all the VIM/TDVim users.
Enjoy!

martes, 2 de junio de 2009

Speeder Tools basic help infraestructure is done!

Now I can begin to actually collect all the tools, pack them into OTL libraries and add the help.
I hope that with this first compilation the project will begin to get shape.
I think there is a lot of potential in this project cos there is a demand for a set of tools that makes Houdini easier out of the box, specially for mid/small studios.
More about Speeder Tools here.