In the following sentence:
Il faut attendre qu'il ait fini de dormir.
I don't understand why the subclause must use past subjunctive. Since the past subjunctive is used if the time of the subclause phrase happens before the that of the main clause, in order to use the past subjuntcive in the subclause, you must use some expressions that meet the criteria.
However, I'm not sure how it is possible to make the wait until ~ expression combined with something that happened in the past.
It is necessary to wait until he comes.
In this sentence, the he comes is a future event (he comes must happen after (you) wait) , so the French sentence would be the following:
Il faut attendre que il vienne.
However, how is it possible that the wait until ~ can be used with the past action?
Or put differently, what is the difference from the following sentence?
Il faut attendre qu'il finisse de dormir.