chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Compiling the IUP egg - IUP not found


From: Thomas Chust
Subject: Re: [Chicken-users] Compiling the IUP egg - IUP not found
Date: Wed, 10 Nov 2010 17:55:13 +0100

2010/11/10 Joe Python <address@hidden>:
> Its funny. I tried adding every IUP library out there in CSC_OPTIONS and the
> chicken-install still complains.
> Is there any other libraries which i left out. see below for the current
> ones.
> ---------------------------------------<>-----------------------------------------------------------------------------------------------------
> [...]
> c:/mingw32/bin/../lib/gcc/mingw32/4.5.0/../../../libiupim.a(iup_im.o):iup_im.c:(.text+0x7b):
> undefin
> [...]

Hello Joe,

judging from the error messages you obviously need to link against IM, the
image and image file toolkit from Tecgraf that is used by IUP. You will likely
have to link against CD, the vector graphics library from Tecgraf that is used
by parts of IUP, as well.

Now that I think about your configuration I expect one additional major problem
once you get the IUP egg compiled: The egg is split into several small
extensions, each for a specific part of the IUP functionality. If you compile
all these extensions separately into shared objects but link them against
static versions of the IUP library and its dependencies, you will end up with
multiple copies of all those dependent libraries being loaded into your CHICKEN
program at runtime, one copy per extension that is loaded. Such a setup is
extremely likely to blow up at points where data structures created by one copy
of the static libraries are passed to another copy, which will happen just about
everywhere the way the IUP egg is constructed.

Therefore I suggest that you either
- compile all the modules from the IUP egg into one shared object linked with
  all the static libraries of IUP and its dependencies or
- compile the modules from the IUP egg into static objects and link your entire
  CHICKEN program statically or
- get dynamic IUP libraries and link the modules from the IUP egg against these,
  which is probably the easiest way and should work without additional flags or
  modifications of the setup script.

Ciao,
Thomas


-- 
When C++ is your hammer, every problem looks like your thumb.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]