Hi all,

I cannot manage to cross-compile a simple test app for my mini2440 board.
Here is my test_efl_fb.c file :

#include <Ecore.h>
#include <Ecore_Evas.h>
#include <Evas_Engine_FB.h>
#include <unistd.h>

int
main(void)
{
   Ecore_Evas *ee;
   Evas *canvas;
   Evas_Object *bg;
   Eina_List *engines, *l;
   char *data;

   if (ecore_evas_init() <= 0)
     return 1;

   ee = ecore_evas_fb_new(NULL, 0, 400, 800);
   ecore_evas_title_set(ee, "Ecore Evas basics Example");
   ecore_evas_show(ee);

   ecore_main_loop_begin();

   ecore_evas_free(ee);
   ecore_evas_shutdown();

   return 0;
}

My build machine is a Ubuntu 14.04.1 64 bits.
To build it i use a staging dir (named targetdir_mini2440/) issued from
qemu-debootstrap which contains a full functionnal debian wheezy rootfs for
mini2440 board.
In that rootfs, I have installed all dev package and needed libraries for
efl (libelementary-dev, libevas1-engine-fb, libecore-evas1, ...)

All files needed seems to be present.
To build my app, I chroot into that rootfs and build with the following
command :

$ gcc test_efl_fb.c -o test_efl_fb -I/usr/include/ecore-1/
-I/usr/include/eina-1/ -I/usr/include/eina-1/eina/ -I/usr/include/evas-1/
-lecore_evas

It works fine and it produces the wanted binary :

$ file test_efl_fb
test_efl_fb: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically
linked (uses shared libs), for GNU/Linux 2.6.26,
BuildID[sha1]=0x62514bc463ccc992f5149a765a97884ae9a6ea51, not stripped

As it is using qemu, build could be very slow for bigger applications. So i
would like to cross-compile outside of the chroot, from the host system
(Ubuntu 14.04.1 64 bits) :

$ export ROOTFS_PATH=$(readlink -f targetdir_mini2440/)
$ arm-linux-gnueabi-gcc test_efl_fb.c -o test_efl_fb
-I/usr/include/ecore-1/ -I/usr/include/eina-1/ -I/usr/include/eina-1/eina
-I/usr/include/evas-1 --sysroot ${ROOTFS_PATH} -lecore_evas

But --sysroot option does not seem to work as expected, libecore_evas.so is
taken from the staging dir but other libs are searched on my build machine
path.

arm-linux-gnueabi-gcc test_efl_fb.c -o test_efl_fb -I/usr/include/ecore-1/
-I/usr/include/eina-1/ -I/usr/include/eina-1/eina/ -I/usr/include/evas-1/
-lecore_evas --sysroot targetdir_mini2440/
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld:
warning: libecore_x.so.1, needed by
./usr/lib/arm-linux-gnueabi/libecore_evas.so, not found (try using -rpath
or -rpath-link)
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld:
warning: libX11.so.6, needed by
./usr/lib/arm-linux-gnueabi/libecore_evas.so, not found (try using -rpath
or -rpath-link)
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld:
warning: libXext.so.6, needed by
./usr/lib/arm-linux-gnueabi/libecore_evas.so, not found (try using -rpath
or -rpath-link)
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld:
warning: libecore_fb.so.1, needed by
./usr/lib/arm-linux-gnueabi/libecore_evas.so, not found (try using -rpath
or -rpath-link)
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld:
warning: libecore_ipc.so.1, needed by
./usr/lib/arm-linux-gnueabi/libecore_evas.so, not found (try using -rpath
or -rpath-link)
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld:
warning: libecore_input.so.1, needed by
./usr/lib/arm-linux-gnueabi/libecore_evas.so, not found (try using -rpath
or -rpath-link)
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld:
warning: libecore_input_evas.so.1, needed by
./usr/lib/arm-linux-gnueabi/libecore_evas.so, not found (try using -rpath
or -rpath-link)
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld:
warning: libecore.so.1, needed by
./usr/lib/arm-linux-gnueabi/libecore_evas.so, not found (try using -rpath
or -rpath-link)
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld:
warning: libevas.so.1, needed by
./usr/lib/arm-linux-gnueabi/libecore_evas.so, not found (try using -rpath
or -rpath-link)
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld:
warning: libeina.so.1, needed by
./usr/lib/arm-linux-gnueabi/libecore_evas.so, not found (try using -rpath
or -rpath-link)
/tmp/ccdvY8yv.o: dans la fonction « main »:
test_efl_fb.c:(.text+0x50): référence indéfinie vers «
ecore_main_loop_begin »
./usr/lib/arm-linux-gnueabi/libecore_evas.so: référence indéfinie vers «
evas_render_updates »
./usr/lib/arm-linux-gnueabi/libecore_evas.so: référence indéfinie vers «
ECORE_X_EVENT_WINDOW_DELETE_REQUEST »
./usr/lib/arm-linux-gnueabi/libecore_evas.so: référence indéfinie vers «
ECORE_X_EVENT_CLIENT_MESSAGE »
./usr/lib/arm-linux-gnueabi/libecore_evas.so: référence indéfinie vers «
ECORE_X_ATOM_CARDINAL »
./usr/lib/arm-linux-gnueabi/libecore_evas.so: référence indéfinie vers «
evas_async_events_fd_get »
./usr/lib/arm-linux-gnueabi/libecore_evas.so: référence indéfinie vers «
ecore_fb_input_device_window_set »
./usr/lib/arm-linux-gnueabi/libecore_evas.so: référence indéfinie vers «
ecore_event_evas_init »
./usr/lib/arm-linux-gnueabi/libecore_evas.so: référence indéfinie vers «
evas_event_feed_key_down »
./usr/lib/arm-linux-gnueabi/libecore_evas.so: référence indéfinie vers «
eina_list_append »
./usr/lib/arm-linux-gnueabi/libecore_evas.so: référence indéfinie vers «
ECORE_IPC_EVENT_CLIENT_DEL »
....

Can you point me on what am I missing to cross-compile my app please ?

Thank you in advance,
Best Regards,
Gilles
------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
enlightenment-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to