Why not all Berry phase just vanished? I just learned that for any real wavefuntions, berry phase equals zero. But in Griffiths'  Problem 2.1(b), he proved that any complex wavefuntion can be written as linear combination of REAL wavefuntions, as shown in this figure:

Then why not all complex wavefuntions' berry phase just vanished if they can express by real wavefuntions?
 A: The Berry phase arises when the Hamiltonian has some parameter $\lambda$ which is slowly varied over time (we have a curve $\lambda(t)$ in parameter space). Then, if the starting state is a non degenerate eigenstate of the Hamiltonian, it will remain an eigenstate of the (changing) Hamiltonian (in the adiabatic approximation at least).
Then, the state $\psi(t)$ evolves according to the Schrödinger equation under the adiabatic approximation. As in Griffiths, we can find a real eigenstate $\phi(\lambda)$ at each value of the parameter $\lambda$. However, there is no guaranty that $\phi(\lambda(t))$ satisfies the equation of motion. Instead, we know that we can find a phase $e^{i\varphi(t)}$ such that :
$$\psi(t) = e^{i\varphi(t)}\phi(\lambda(t))$$
If the parameter is varied into a loop (say $\lambda(1) = \lambda(0)$), then we have $\phi(\lambda(0)) = \phi(\lambda(1))$ (actually, up to a sign). However, we have no way of getting rid of the phase $e^{i(\varphi(1)-\varphi(0))}$, and in fact in is physical and observable.
A: If you like, you can do everything in a real vector space by splitting wavefunctions into real and imaginary parts. But now every level is at least two-fold degenerate, and you need to be concerned with off-diagonal Berry phases
$$A_{ij} = \langle \psi_i | \frac{\partial}{\partial \lambda} |\psi_j\rangle$$
which can be non-vanishing even if the $|\psi_i\rangle$ are real. Take these to be the real and imaginary parts of a complex single band with a Berry phase and you will see $A_{ij}$ generate a rotation. We just embedded $U(n)$ into $SO(2n)$.
