In order to use iup
in Chicken Scheme, I need to provide some dependencies. One of them is IM (imtoolkit), which I found on https://webserver2.tecgraf.puc-rio.br/cd/en/building.html , where it links me to sourceforge. From there I can download the source code to compile myself, but there are no instructions I could find how to do that and there is not the typical configure
make
make install
structure, because there is no runnable configure
. So I decided to use the precompiled version.
When I run sudo chicken-install iup
I get the error:
iup.c:17:16: fatal error: im.h: No such file or directory
compilation terminated.
So I know I need IM somewhere. It is not in the repositories. In another question, I learned about specifying a path to a library when using chicken-install
. This makes the command I try using CSC_OPTIONS=-I/home/xiaolong/development/ChickenScheme/IM/precompiled/include chicken-install -p ~/.chicken-scheme/eggs/ iup
. However, still it results in the same error.
How can I use the precompiled library?
Note: Compiling it myself is still not totally out of the picture, if I could find any instructions on how to do it.
Info
- OS: Xubuntu 16.04 64bit
Chicken Scheme version installed from the repositories:
CHICKEN (c) 2008-2014, The Chicken Team (c) 2000-2007, Felix L. Winkelmann Version 4.9.0.1 (stability/4.9.0) (rev 8b3189b) linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ] bootstrapped 2014-06-07
Perhaps you can try this Makefile by Matthew Welland, for the Megatest UI. It's the only way I've ever got iup to work at all (on an Ubuntu box). Unfortunately, the Makefile is quite complex and it does a lot more than just install iup.
From what I can gather, it indeed downloads all the pre-built binaries of iup, im (imtoolkit) and cd (canvas draw), and it extracts them all into the same directory. Finally, it manually copies include files and shared objects around into the CHICKEN prefix. That's not exactly a best practice, but if it helps to get things up and running, maybe you can give it a shot. My advice would be to do it in a VM first, to avoid making too much of a mess on your main system.