Main thing that stops any country is availability of refined fission material. First you need to have access to Uranium mines which US and Russia pretty much has covered all over the world. Second, you need to dig tons of ore and go through very tedious and complicated refinement process that is very expensive and requires very large scale operation. To avoid these, countries like Iran would just use the material generated from reactor fuel that can be obtained more easily.