Goldstein (3rd ed. page 17) derives the principle of virtual work for systems subject to holonomic constraints.
For a system in equilibrium, the force can be decomposed into applied and constraint forces. The net force on the $i^{th}$ particle: $$\textbf{F}_{i} = \textbf{F}_{i}^{\ (a)} \ +\ \textbf{f}_{\ i}$$
He restricts the discussion to systems where the net virtual work done by constraint forces is zero $$\sum _i\ \textbf{f}_{\ i} \ \cdot \delta\textbf{r}_i = 0$$ This is all fine. But what happens if the constraint is non-holonomic?
For example, suppose the system is just one particle of mass $m$ at rest on a tabletop. It is free to move on and above this tabletop. The constraint force acts in a direction perpendicular to the surface of the table. $\textbf{f} = N \hat{\textbf{z}}$
A conceivable virtual displacement is $\delta \textbf{r} = \delta x \hat{\textbf{x}} + \delta y \hat{\textbf{y}} + \delta z \hat{\textbf{z}}$. Now $\textbf{f} \cdot \delta \textbf{r} = 0$ is not true and so I cannot claim that $\textbf{F}^{\ (a)} \cdot \delta \textbf{r} = 0$, which is the principle of virtual work.
Question: Is there a weaker version of this principle which accommodates non-holonomic constraints? Can a D'alembert's principle (and, subsequently) Lagrange's equations be derived for such systems?