Porting it to Linux, just linkage is pending