In a small saucepan cover carrots with water. Bring water to a boil and cook until tender, about 15 minutes. Let cool and mash.
In a large mixing bowl, beat eggs. Add vegetable oil, buttermilk, 2 cups white sugar and 2 teaspoons vanilla. Add flour, bicarb soda, ground cinnamon and salt. Mix in pineapple, 2 cups mashed carrots, nuts and coconut.
Pour into paper towel-lined 20x30cm pan.
Bake at 180 degrees C for 55 minutes, or until cake tests done.
Place cake on a plate and allow to cool completely before icing.
To Make icing: Combine cream cheese, melted butter, 1 teaspoon vanilla essence and icing sugar. Spread on cooled cake. Cake tastes best after refrigerating overnight.