If you experience oil-based polyurethane not drying well, it’s not likely that it’s bad polyurethane. It’s more likely that the wood you’re finishing contains a natural oil or you have applied an oil to the wood and the oil hasn’t dried.
In both cases we’re talking only about the first coat of polyurethane. After the first coat has dried, there shouldn’t be any further drying problems.
Most exotic woods (woods from jungle areas), with the exception of mahogany, contain a natural resin that is very oily. You can feel the oiliness. The mineral-spirits solvent in the polyurethane is also the solvent for the resin. So when you apply the polyurethane to the bare wood, the oily resin and the polyurethane mix and the oily resin retards the drying of the polyurethane.
The same explanation applies to the situation of applying polyurethane over linseed or other oil until that oil has totally dried.
If you have already applied the polyurethane and it isn’t drying, you can try applying heat—for example, from a heat lamp or blow dryer. It will speed the drying, just not very much. You may have to strip off the polyurethane with a strong solvent such as lacquer thinner or acetone, or with paint stripper, and start over.
Before applying polyurethane to an oily exotic wood, wipe over the surface with naphtha, lacquer thinner or acetone to remove the oiliness. Then apply the polyurethane right after the solvent dries.
Alternatively, apply a first coat of shellac to “seal in” the oily resin. Shellac will usually dry well on exotic woods.
If you have applied an oil to the wood, let it dry completely before applying the polyurethane. This may take a week or so in a warm room.