build shared libary