Boolean operations do not work

So, I’m just finding my way into Blender again and just don’t get what it is trying to tell me, when it screws up some simple boolean operations. Sometimes they work, sometimes they don’t. Do I in the end need to buy some addon to have proper functionality? I know that one has to be careful with using boolean operations, but frankly I haven’t had problems like Blender presents them in any other package.

See attached images of a quite simple shape: cylinder with smaller cylinders to cut out some parts. Whatever operation I choose, it gives completely messed up results. First images show “difference” on the big cylinder with “objects” smaller cylinders. Scale, rotation have been applied.


Looking at the colour of those cylinders they have inverted normals.

Go though each object and
Ensur the object does not have a negative scale. Apply any scale with Ctrl+A
Remove doubles (W / remove doubles)
Recalculate normals (Ctrl+N) or flip face normals (W / flip normals)
Ensure all objects have consistent normals.

Cannot check since you failed to supply a demo blend file to review

Thanks again, Richard! Indeed the problem was inverted normals, when I tried again. After recalculating the boolean operation worked.
That however evolves into a new question: Why do the normals get inverted when I use the array modifier or the spin tool? Can it be avoided?

Depending on the direction you extrude from edge outline normals are either ‘correct’ or ‘inverted’.
TBH, i am not sure why Z-up is chosen as producing ‘inverted’ normals.