> It is from many years that i compile fltk 1. ... in Linux
> (slamd64 10.2), in Windows (msys-mingw) and in AIX 5.2.
>
> Everything was ok until fltk-1.3.x-r6118.
> I have tried to compile both fltk-1.3.x-r6218 and
> fltk-1.3.x-r6305 on Linux.
> All is compiled, (only some warnings like: "cast to pointer
> from integer of different size", but I have seen this
> warnings also with previous versions that work ok!), but when
> I run Fluid, it crash with:
>
> Segmentation fault
> bash-3.00$ *** glibc detected *** double free or corruption
> (!prev): 0x0000000000833270 ***
>
> Do You know why?
> What are the changes in source code that make this problem?
Fltk-1.3 runs for me on many platforms, with no new problems over what
1.1.9 exhibits. There are several changes in the code that will cause
breakage at the ABI level, and a few small API changes too.
- Which platform are you seeing this failure on?
- Are you running statically linked or dynamically linked?
My guess is that you are getting bitten by changes at the ABI level, and
you are generating code that is (for example) compiling against the
fltk-1.3 headers but then linking against the fltk-1.1 libraries (or
vice versa).
Since the names of the libraries, the header files and the API entries,
are all unchanged between 1.1 and 1.3, it is possible to produce a
"hybrid" build of this nature that appears to build and link correctly,
but which manifests failing behaviour at runtime.
Here's a process to try:
- Go into your 1.3 build tree and "make distclean" (in fact, even
better, "find . -name "*.o" -exec rm {} \; -print" just to be on the
safe side!)
- re-configure, but with --disable-shared (to minimise the risk of
"cross-contamination" from the 1.1 builds)
- make
- Now try running the statically linked fluid from its build location
(i.e. do not "make install", just run from the build tree)
If that works (and I expect it will) then your problem is probably
cross-contamination between the 1.1 and 1.3 builds, and you'll just have
to be conscious of that, to ensure that it doesn't "damage" future
builds.
In summary - I think the key here is that 1.1 and 1.3 are *not* ABI
compatible, but *nearly* are, near enough that code will probably link,
but not actually run...
SELEX Sensors and Airborne Systems Limited
Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex SS14
3EL
A company registered in England & Wales. Company no. 02426132
********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk