Preheat the oven to 350 degrees. Lightly grease and flour 3 (8-inch) cake pans. Using an electric mixer, cream the sugar with 1/2 cup of the butter. With the mixer running, add the oil and incorporate thoroughly. Add the egg yolks, 1 at a time, beating well after each yolk. Sift the flour and baking soda together. Add the ground pecans to the flour mixture. Alternately add the flour mixture and buttermilk to the egg mixture. Mix thoroughly. Fold in 1 cup of the coconut. Using an electric mixer, beat the egg whites until stiff. Fold the egg whites into the cake batter. Pour the batter into the prepared pans. Bake the cakes for about 25 to 30 minutes or until the center of each cake is set. Remove the cakes from the oven and cool on a wire cake. After the cakes have cooled, invert each cake onto a piece of parchment paper. Set the cakes aside. Using an electric mixer, cream the remaining butter with the cream cheese. Add the powdered sugar, vanilla, milk and pineapple. Mix well. Fold in the pecans. Slice each cake in half, horizontally. Spread a thin layer of the frosting on top of each cake. Place the layers of cake on top of each other. Place the cake on a serving platter. Ice the sides of the cake with the remaining frosting. Sprinkle the top of the cake with the remaining coconut.