Você entendeu mal a finalidade de --prefix .
Se você não especificar, o padrão será /usr/local , portanto, quando você especificar um PREFIX, ele substituirá /usr/local , ele não será o prefixo.
Assim, o seu aplicativo provavelmente está procurando seus dados em /lots/of/subdirs/share , em vez de /usr/local/share , sem saber por que você acha que está parecendo lá.