I was facing the same error The method until(Function<? super WebDriver,V>) in the type FluentWait<WebDriver> is not applicable for the arguments (ExpectedCondition<Alert>)
Solution I did - I had 3 libraries of guava 19, 21, 23 in my same project. so I went to build path & removed the 19 & 23 versions of Guava & click apply in configure build path & it has been solved.