Никакой серьезной ошибки в этом предложении нет. Требования единства вида глаголов в однородном ряду (а здесь перед нами однородные смысловые компоненты сложного трехчленного сказуемого, выраженные инфинитивами) не существует. Существует лишь такая рекомендация, следовать которой иногда нужно, иногда не обязательно, а иногда и невозможно. В частности, в данном случае замена на «примыкать к нему» ведет к риску потери переносного значения, в котором употреблен глагол примкнуть. Риск возникает в силу того, что зло в данном случае употреблено в собирательном (а не обычном отвлеченном) значении.
Некоторая шероховатость здесь, впрочем, ощущается. Чтобы избежать ее, лучше было бы несколько изменить предложение: Ты должен был бороться со злом, а не примыкать к злодеям; Ты должен был бороться со злом, а не потакать ему и т. п.
Это задание из конкурса "Русский медвежонок". К заданию есть варианты ответа, присмотритесь к ним внимательно.