It seems that it was my mistake when creating the ICU4C. I am leaving a brief explanation as I have seen a lot of Google posts on this, but no answers. If you carefully read the documentation when setting up icu, it says that you have to do certain things:
1) Define namespace usage to false:
# ifndef U_USING_ICU_NAMESPACE -# define U_USING_ICU_NAMESPACE 1 +
2) When building on linux, I went for a non-shared, static library:
runConfigureICU Linux --enable-static --disable-shared
3) This is the important part that caused my errors:
By default, ICU library entry point names have the ICU version suffix. Turn this off for system level installation to enable ICU updates without breaking applications. For instance:
runConfigureICU Linux --disable-renaming
Public header files from this configuration must be installed to enable applications and obtain the correct entry point names.
I did this on Squeeze, but not on Wheezy, thereby causing all binding errors on a system-wide installation. Lesson learned, hope this helps someone else.
รlex source share