Really clean surfaces are a must. A good flux is a must. A good fit between the two surfaces is a must. Not overheating is a must. The solder joint will not join together properly if all the above are not done correctly.
Things to remember: solder is not a gap filler, the tighter the fit the stronger the joint.
You only need to tin one surface, be it the lug or the barrel, I usually just tin the lug.
Flux the joint surfaces very well.
I use soft iron wire to hold the lug to the barrel.
Heat the barrel slowly from underneath the the lug position until you see the solder joint start to melt, immediately take the heat source away. Over heating the joint causes most failures in soldering.
Remove wire and clean up as required.
When I am soldering two joints that are close together I will wire both pieces to hold them in place or wrap the completed joint with a damp paper towel, this will keep the completed joint from getting hot enough to keep it from coming apart.