Re: [Vala] Vala on CentOS?



Jürg,
Hmm... So I tried a lower glib target and its missing the checksum
which i guess is in the newer glib.
# valac --target-glib=2.12 --pkg=gee-1.0 --pkg=json-glib-1.0 main.vala
taxonomy.vala
./main: symbol lookup error: ./main: undefined symbol:
g_compute_checksum_for_string

Abderrahim,
I did try what you suggested. Which lets it compile without the weird
Xcc option. However running it still makes all share libraries go to
/lib64/xxxx:
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
# pkg-config --modversion glib-2.0
2.22.5
# valac --target-glib=2.22 --pkg=gee-1.0 --pkg=json-glib-1.0 main.vala
taxonomy.vala
# ./main
./main: symbol lookup error: ./main: undefined symbol: g_once_init_enter_impl

I tried "ldd" on the "main" executable and everything keeps linking to
/lib64/ rather then /usr/local/lib:
# ldd main
        libgee.so.2 => /lib64/libgee.so.2 (0x00002aaaaaabe000)
        libjson-glib-1.0.so.0 => /lib64/libjson-glib-1.0.so.0 (0x00002aaaaad06000)
        libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000003a50c00000)
        libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000003a50000000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003a4e000000)
        librt.so.1 => /lib64/librt.so.1 (0x0000003a4f400000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003a4dc00000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003a4ec00000)

I know this is more of a GCC issue with linking the shared libraries
at compilation but I am at a loose at what to really do, any help
would be appreciated.

On Fri, Apr 2, 2010 at 12:22 AM, Jürg Billeter <j bitron ch> wrote:
On Thu, 2010-04-01 at 22:16 -0700, Joseph Montanez wrote:
I am trying to deploy a vala application on a web server running
CentOS 5. I've been fighting to get it compile let alone run. Here is
the current command I am running to get it to compile:
valac --Xcc=-I/usr/local/include/gee-1.0 --pkg=gee-1.0
--pkg=json-glib-1.0 main.vala taxonomy.vala

That seems to compile, but when I run ./main I get a bunch of missing
share libraries. I've tried to link them to /lib64 but because the
CentOS is built on an older glib I get a bunch of undefined symbols.

What exact symbols are missing? You could try building with
--target-glib=2.12. This tells the compiler to not use symbols from more
recent GLib versions. However, this might not be sufficient, if you use
functionality from GLib 2.14 or later in the .vala files yourself.

Jürg





-- 
Joseph Montanez
Web Developer
Gorilla3D
Design, Develop, Deploy



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