'took several years to be built' or 'took several years to build' – which one is correct?
Solution 1:
Both sentences are grammatical, but the non-passive form is much more common according to Google:
"It took several years to build but*" (5,800 hits)
"It took several years to be built" (4 hits)
In the entry on the use of the verb take meaning "how much time we need to do something" Swan in Practical English Usage (p570) lists five common structures. One of them is:
The object of the activity is the subject.
object of activity + take (+ person) + infinitive
The ferry took (them) two hours to unload.
This house will take all week to clean.
The palace took several years to build follows the same structure.
* Note: I included the word but to rule out hits with a direct object following build.