Subject: guile-sly will not build
From: Jesse Gibbons <[email-masked]>
To: bug-guix mailing list <[email-masked]>
Date: Tue, 06 Aug 2019 22:20:48 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

When I try `guix build guile-sly` it gives the error "configure: error:
freeimage not found."

When I try to manually build guile-sly, I get additional information:
ld: /gnu/store/86mrl4m1i90wirwzxrri7xybk5nki7hc-
profile/lib/libfreeimage.so: undefined reference to `PerfTimerStart'
ld: /gnu/store/86mrl4m1i90wirwzxrri7xybk5nki7hc-
profile/lib/libfreeimage.so: undefined reference to
`PerfTimerCopyStartTime'
ld: /gnu/store/86mrl4m1i90wirwzxrri7xybk5nki7hc-
profile/lib/libfreeimage.so: undefined reference to
`PerfTimerGetResults'
ld: /gnu/store/86mrl4m1i90wirwzxrri7xybk5nki7hc-
profile/lib/libfreeimage.so: undefined reference to `PerfTimerStop'
ld: /gnu/store/86mrl4m1i90wirwzxrri7xybk5nki7hc-
profile/lib/libfreeimage.so: undefined reference to `PerfTimerDelete'
ld: /gnu/store/86mrl4m1i90wirwzxrri7xybk5nki7hc-
profile/lib/libfreeimage.so: undefined reference to `PerfTimerNew'
collect2: error: ld returned 1 exit status

I looked into freeimage. The missing function reference should be
defined in the libjxr bundled with freeimage.

Some related history:
- commit a5d4c96b8d90b8bb87e07bd6a7be78991db91bc9 (http://git.savannah.
gnu.org/cgit/guix.git/commit/gnu/packages/image.scm?id=a5d4c96b8d90b8bb
87e07bd6a7be78991db91bc9) gnu: freeimage: Remove bundled libraries.
- commit f347c24acc14e080dc2801561edca0d525a90257 (http://git.savannah.
gnu.org/cgit/guix.git/commit/gnu/packages/image.scm?id=f347c24acc14e080
dc2801561edca0d525a90257) gnu: freeimage: Use bundled libjxr.

- bug #28261 (https://issues.guix.gnu.org/issue/28261) freeimage uses
bundled libraries

- commit 37dc29200c44adc0474476b8df46ed44e8a1d41a (http://git.savannah.
gnu.org/cgit/guix.git/commit/gnu/packages/maths.scm?id=37dc29200c44adc0
474476b8df46ed44e8a1d41a) gnu: Add opencascade-occt.

- bug #34013 (https://issues.guix.gnu.org/issue/34013) [PATCH 1/2] gnu:
libjxr: Build and install shared library.

It seems commit f347c24acc14e080dc2801561edca0d525a90257 was an attempt
to fix guile-sly, but it looks like it was unsuccessful.

Commit 37dc29200c44adc0474476b8df46ed44e8a1d41a mentions a similar
issue and has a work-around. I do not think the configure script will
be as cooperative with this work-around because it checks for FreeImage
unconditionally.

- bug #34013 was a patch submitted in January but nobody has responded
to it. I don't know if it will fix this issue, but it's worth
reviewing.

-- 
-Jesse