Да, вы можете, просто это долгий процесс: вам нужно будет собрать одну из старых версий компилятора D, написанную на C ++, затем использовать ее для сборки более новых версий в D и, возможно, повторить пока не дойдете до последней версии.
Вы также можете собрать компилятор gdc, который все еще находится на C ++, но он также не является самой новой версией, поэтому, вероятно, у вас там также есть пара циклов обновления.
Этот процесс называется "начальной загрузкой". Это не необычно; каждый компилятор должен был быть скомпилирован в определенный момент, и для этого нужен компилятор.