It seems to me that removing the unique usage of window-text-pixel-size would render ivy usable on Emacs 24.3. I think redefining ivy--resize-minibuffer-to-fit as follows works:
(defun ivy--resize-minibuffer-to-fit ()
"Resize the minibuffer window so it has enough space to display
all of the text contained in the minibuffer."
(with-selected-window (minibuffer-window)
(fit-window-to-buffer)))
It seems to me that removing the unique usage of
window-text-pixel-sizewould render ivy usable on Emacs 24.3. I think redefiningivy--resize-minibuffer-to-fitas follows works: