-   Linux - Software (
-   -   Compiling Evas (E17) - /usr/bin/ld: cannot find -lvga (

victorhooi 10-19-2005 08:03 AM

Compiling Evas (E17) - /usr/bin/ld: cannot find -lvga

I'm having some trouble compiling Evas (latest CVS, 2005-10-19) on a computer at my uin. The OS used is Redhat 9 (Shrike), GCC is version 3.2.2-5, and glibc is 2.3.2.

I'm compiling in the /tmp directory (since that's one of the few directories I have write-access to, and it doesn't have a quota), which I"ll then copy to my home directory and (hopefully) run.

Error message:

ar cq .libs/libevas.a .libs/libevas.lax/libevas_engine_gl_x11.a/evas_x_main.o
: .libs/libevas.a
ar cq .libs/libevas.a .libs/libevas.lax/libevas_engine_xrender_x11.a/evas_engine.o
: .libs/libevas.a
ar cq .libs/libevas.a .libs/libevas.lax/libevas_engine_xrender_x11.a/evas_engine_ximage.o
: .libs/libevas.a
ar cq .libs/libevas.a .libs/libevas.lax/libevas_engine_xrender_x11.a/evas_engine_xrender.o
: .libs/libevas.a
ar cq .libs/libevas.a .libs/libevas.lax/libevas_engine_xrender_x11.a/evas_engine_image.o
: .libs/libevas.a
ar cq .libs/libevas.a .libs/libevas.lax/libevas_engine_xrender_x11.a/evas_engine_font.o
: .libs/libevas.a
ar cq .libs/libevas.a .libs/libevas.lax/libevas_engine_xrender_x11.a/evas_engine_gradient.o
ranlib .libs/libevas.a
rm -fr .libs/libevas.lax
(cd .libs && rm -f && ln -s ../
make[4]: Leaving directory `/tmp/e17/libs/evas/src/lib'
make[3]: Leaving directory `/tmp/e17/libs/evas/src/lib'
Making all in bin
make[3]: Entering directory `/tmp/e17/libs/evas/src/bin'
Making all in evas_software_win32
make[4]: Entering directory `/tmp/e17/libs/evas/src/bin/evas_software_win32'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/tmp/e17/libs/evas/src/bin/evas_software_win32'
make[4]: Entering directory `/tmp/e17/libs/evas/src/bin'
source='evas_test_main.c' object='evas_software_x11_test-evas_test_main.o' libtool=no \
depfile='.deps/evas_software_x11_test-evas_test_main.Po' tmpdepfile='.deps/evas_software_x11_test-evas_test_main.TPo' \
depmode=gcc3 /bin/sh ../../depcomp \
gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I. -I../../src/lib -I../.. -I/usr/include  -g -O2 -I/usr/X11R6/include -g -O2 -c -o evas_software_x11_test-evas_test_main.o `test -f 'evas_test_main.c' || echo './'`evas_test_main.c
source='evas_software_x11_main.c' object='evas_software_x11_test-evas_software_x11_main.o' libtool=no \
depfile='.deps/evas_software_x11_test-evas_software_x11_main.Po' tmpdepfile='.deps/evas_software_x11_test-evas_software_x11_main.TPo' \
depmode=gcc3 /bin/sh ../../depcomp \
gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I. -I../../src/lib -I../.. -I/usr/include  -g -O2 -I/usr/X11R6/include -g -O2 -c -o evas_software_x11_test-evas_software_x11_main.o `test -f 'evas_software_x11_main.c' || echo './'`evas_software_x11_main.c
/bin/sh ../../libtool --mode=link gcc  -g -O2  -o evas_software_x11_test  evas_software_x11_test-evas_test_main.o evas_software_x11_test-evas_software_x11_main.o ../../src/lib/ -lm -L/usr/X11R6/lib -lX11 -lXext -lX11 -lXext -lXrender
mkdir .libs
gcc -g -O2 -o .libs/evas_software_x11_test evas_software_x11_test-evas_test_main.o evas_software_x11_test-evas_software_x11_main.o  ../../src/lib/.libs/ -L/usr/local/lib /usr/local/lib/ -lpng -L/tmp/e17_victor/lib /tmp/e17_victor/lib/ /usr/lib/ /tmp/e17_victor/lib/ -lz -L/usr/X11R6/lib /usr/local/lib/ -lvga -lSM -lICE -lXmu -lXi /usr/local/lib/ -lpthread -lm -lX11 -lXext -lXrender -Wl,--rpath -Wl,/tmp/e17_victor/lib -Wl,--rpath -Wl,/usr/local/lib
/usr/bin/ld: cannot find -lvga
collect2: ld returned 1 exit status
make[4]: *** [evas_software_x11_test] Error 1
make[4]: Leaving directory `/tmp/e17/libs/evas/src/bin'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/e17/libs/evas/src/bin'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/e17/libs/evas/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/e17/libs/evas'
make: *** [all] Error 2
/tmp/e17/libs/evas [congo2]: cat /etc/redhat-release

I actually have no idea what this vga library is, and any help would be greatly appreciated.

(As a sidenote, would it be possible to somehow compile these packages on my home computer, and copy them to the uni computer. Will I need *exactly* the same version of gcc, glibc, and all other libraries? That would be a pain, and even if I do install RH9, I don't think I would know what updates they might've applied. Any other alternatives?)


ioerror 10-20-2005 05:33 PM

This is svgalib. Try a 'locate libvga' to see if you have it installed. svgalib will usually be in /usr/lib, which suggests that you may not.

As for running apps compiled on one box on a different box, this shouldn't be a problem, provided you have all the necessary libraries.
They don't have to be exactly the same version (though they need to be compatible, i.e. not a different major version; a minor version or patch level change is usually OK, unless an app uses some specific new feature). Just try it and see. It'll tell you if there are missing libraries. Use 'ldd <file>' to see what libraries/versions it needs and if they are available.

All times are GMT -5. The time now is 10:48 PM.