If X is a differentiable manifold, so that both notions are defined, then they coincide.
The ``patching'' of local orientations that you describe can be expressed more formally as follows: there is a locally constant sheaf omegaR of R-modules on X whose stalk at a point is Hn(X,Xsetminusx;R). Of course, omegaR=RotimesmathbbZomegamathbbZ.
This sheaf is called the orientation sheaf, and appears in the formulation of Poincare duality for not-necessarily orientable manifolds. It is not the case that any section of this sheaf gives an orientation. (For example, we always have the zero section.)
I think the usual definition would be something like a section which generates each stalk.
I will now work just with mathbbZ coefficients, and write omega=omegamathbbZ.
Since the stalks of omega are free of rank one over mathbbZ, to patch them together you
end up giving a 1-cocyle with values in GL1(mathbbZ)=pm1. Thus underlying
omega there is a more elemental sheaf, a locally constant sheaf that is a principal bundle for pm1. Equivalently, such a thing is just a degree two (not necessarily connected) covering space
of X, and it is precisely the orientation double cover of X.
Now giving a section of omega that generates each stalk, i.e. giving an orientation of X, is precisely the same as giving a section of the orientation double cover (and so X is orientable, i.e. admits an orientation, precisely when the orientation double cover is disconnected).
Instead of cutting down from a locally constant rank 1 sheaf over mathbbZ to just a double cover, we could also build up to get some bigger sheaves.
For example, there is the sheaf mathcalCinftyX of smooth functions on X.
We can form the tensor product mathcalCinftyXotimesmathbbZomega,
to get a locally free sheaf of rank one over mathcalCinfty, or equivalently, the sheaf of sections of a line bundle on X. This is precisely the line bundle of top-dimensional forms on X.
If we give a section of omega giving rise to an orientation of X, call it sigma, then we certainly get a nowhere-zero section
of mathcalCinftyXotimesmathbbZomega, namely 1otimessigma.
On the other hand, if we have a nowhere zero section of mathcalCinftyXotimesmathbbZomega, then locally (say on the the members of some cover Ui of X by open balls) it has the form fiotimessigmai, where fi is a nowhere zero real-valued function on Ui and sigmai is a generator of omega|Ui.
Since fi is nowhere zero, it is either always positive or always negative; write
epsiloni to denote its sign. It is then easy to see that sections epsilonisigmai
of omega glue together to give a section sigma of X that provides an orientation.
One also sees that two different nowhere-zero volume forms will give rise to the same orientation if and only if their ratio is an everywhere positive function.
This reconciles the two notions.