for people who are faced to this issue, the problem comes from EFLTK lib.
It is necessary to compile with -m64 option and to declare a pointer as int64_t rather than int in 
Fl_Group.cpp.

Below the "efltk-2.0.7-compil64.patch" patch usable for EFLTK 2.0.7

--- efltk/makeinclude.in    2009-02-21 16:23:56.000000000 +0100
+++ efltk/makeinclude.in    2009-02-21 16:23:33.000000000 +0100
@@ -55,8 +55,8 @@
 # flags for compiler:
 # WALL            = -Wcomment -Wformat -Wimplicit-int -Werror-implicit-function-declaration -Wmain -Wmultichar -Wparentheses -Wreturn-type -Wswitch -Wunused
 WALL            = -Wall
-CFLAGS        = -DHAVE_CONFIG_H -I$(EFLTK_BUILDDIR) $(WALL) @CFLAGS@ @DEBUGFLAG@
-CXXFLAGS    = -DHAVE_CONFIG_H -I$(EFLTK_BUILDDIR) $(WALL) @CXXFLAGS@ @DEBUGFLAG@
+CFLAGS        = -m64 -DHAVE_CONFIG_H -I$(EFLTK_BUILDDIR) $(WALL) @CFLAGS@ @DEBUGFLAG@
+CXXFLAGS    = -m64 -DHAVE_CONFIG_H -I$(EFLTK_BUILDDIR) $(WALL) @CXXFLAGS@ @DEBUGFLAG@
 
 # static libs:
 LIBEXT        =@LIBEXT@
--- efltk/src/core/Fl_Group.cpp    2009-02-21 16:36:21.000000000 +0100
+++ efltk/src/core/Fl_Group.cpp    2009-02-21 16:35:10.000000000 +0100
@@ -421,9 +421,9 @@
 
     m_auto_grow_min_width = m_auto_grow_min_height = 0;
 
-    int* p = 0;
+    int64_t* p = 0;
     if (resizable() && children() > 0) 
-        p = store_sizes(); // initialize the size array         
+        p = (int64_t*)store_sizes(); // initialize the size array         
 
     if(children() > 0 && layout_damage&(FL_LAYOUT_DAMAGE|FL_LAYOUT_WH))
     {
--- efltk/configure    2009-02-21 17:55:56.000000000 +0100
+++ efltk/configure    2009-02-21 17:53:47.000000000 +0100
@@ -767,7 +767,7 @@
 dvidir='${docdir}'
 pdfdir='${docdir}'
 psdir='${docdir}'
-libdir='${exec_prefix}/lib'
+libdir='${exec_prefix}/lib64'
 localedir='${datarootdir}/locale'
 mandir='${datarootdir}/man'
 
@@ -1252,7 +1252,7 @@
               [PREFIX]
 
 By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib64' etc.  You can specify
 an installation prefix other than \`$ac_default_prefix' using \`--prefix',
 for instance \`--prefix=\$HOME'.
 
@@ -10363,7 +10363,7 @@
 echo "-------------------------"
 echo "Prefix: $prefix"
 echo "Bin directory: $prefix/bin"
-echo "Lib directory: $prefix/lib"
+echo "Lib directory: $prefix/lib64"
 echo "Include directory: $prefix/include"
 echo
 echo "Debug/Optim flags: $DEBUGFLAG"



The modification in configure file is optional and allows the EFLTK lib installation in 
<prefix>/lib64 rather than <prefix>/lib.

My environment is the following :
AMD Turion64
Vanilla Linux kernel 2.6.23.9 #1 SMP Sun Dec 28 02:57:28 CET 2008 x86_64 GNU/Linux
gcc version 4.2.4 (Ubuntu 4.2.4-1ubuntu3)

to install EFLTK 2.0.7 :
tar -zxvf efltk-2.0.7.tar.gz
patch -p0 -b  < efltk-2.0.7-compil64.patch
./configure --disable-mysql --disable-unixODBC --prefix=/usr/local
./emake
./emake install


Most of the EFLTK testcases pass but some of them fail (perhaps it is due to a lot of warning 
"deprecated conversion from string constant to char*").
Nevertheless, all the XRTAILAB checks pass.

 
Laurent Boudou <lboudou93@live.fr> 2.3.2009
