Find the answer to your Linux question:
Results 1 to 5 of 5
Hi, I am trying to compile a product on AS 3 update two. I uninstalled the gcc that came with this distribution ( 3.0 , i think) and installed older ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Dec 2004
    Posts
    15

    Help! Compiling stuff on AS 3 update 2..


    Hi,

    I am trying to compile a product on AS 3 update two. I uninstalled the gcc that came with this distribution ( 3.0 , i think) and installed older version of gcc, 2.95.2.1 since the new gcc broke compatibility and my code needs the older gcc.

    But I still want to compile on AS3. Anyways.. so..

    It turns out that some external libraries have their headers changed in this version of Linux (ssl, icu, etc). So I compiled them with the new gcc. They build fine. I copied the libraries into the proper locations. Then I tried to compile my codebase. Here is what I get..


    ../vxi18n/libvxi18n.a(platform.o)(.text+0x382): In function `vxi18n_unicode_conv
    erter::utf8utf16(unsigned short *, int, char const *, int)':
    : undefined reference to `u_strFromUTF8_2_0'
    ../vxi18n/libvxi18n.a(platform.o)(.text+0x3aa): In function `vxi18n_unicode_conv
    erter::utf8utf16(unsigned short *, int, char const *, int)':
    : undefined reference to `u_strFromUTF8_2_0'
    ../vxi18n/libvxi18n.a(platform.o)(.text+0x58e): In function `vxi18n_unicode_conv
    erter::utf16mbs(unsigned short const *, char *, long)':
    : undefined reference to `ucnv_fromUChars_2_0'
    ../vxi18n/libvxi18n.a(platform.o)(.vxi18n_unicode_converter: :gnu.linkonce.t.(voi
    d)+0x28): In function `vxi18n_unicode_converter::vxi18n_unicode_converte r(void)'
    :
    : undefined reference to `ucnv_open_2_0'
    ../vxi18n/libvxi18n.a(platform.o)(.vxi18n_unicode_converter: :gnu.linkonce.t.(cha
    r const *)+0x2b): In function `vxi18n_unicode_converter::vxi18n_unicode_converte
    r(char const *)':
    : undefined reference to `ucnv_open_2_0'
    ../vxi18n/libvxi18n.a(platform.o)(.gnu.linkonce.t._._24vxi18 n_unicode_converter+
    0x27): In function `vxi18n_unicode_converter::~vxi18n_unicode_convert er(void)':
    : undefined reference to `ucnv_close_2_0'
    ./libvxapi.so: undefined reference to `DES_xcbc_encrypt'
    ./libvxapi.so: undefined reference to `DES_key_sched'
    collect2: ld returned 1 exit status
    make: *** [vxobjecttype] Error 1
    [root@veaas3bld framework]#

    Problem is, if I do a nm where the libraries are.. the symbol appears to be defined! For example, in case of ucnv_close_2_0, I did

    [root@veaas3bld icu]# cd lib
    [root@veaas3bld lib]# nm -o * | grep "ucnv_open_2_0"

    and I got..

    nm: CVS: Is a directory
    libicuuc.a:ucnv.ao:000011f4 T ucnv_open_2_0
    libicuuc.a:ucnv_io.ao: U ucnv_open_2_0
    libicuuc.a:ucnv2022.ao: U ucnv_open_2_0
    libicuuc.a:ucnvhz.ao: U ucnv_open_2_0
    libicuuc.a:ucnv_lmb.ao: U ucnv_open_2_0
    libicuuc.a:unistr.ao: U ucnv_open_2_0
    libicuuc.a:ustring.ao: U ucnv_open_2_0
    libicuuc.a:convert.ao: U ucnv_open_2_0

    As far as I understood it, libicuuc.a:ucnv.ao:000011f4 T ucnv_open_2_0 means that its defined, isnt it? (its U below.. so its undefined there??)

    So anyways, can someone tell me what the issue might be? Could it be the ld?? It's still the new version that came with AS3 CD, should I replace ld too with 2.95 GNU version like I did gcc?

    Thanks,
    Nikhil.

  2. #2
    Linux Enthusiast
    Join Date
    Jun 2002
    Location
    San Antonio
    Posts
    621
    The cause is that you are using a different gcc than the libraries are compiled against. You need to use the system gcc, or upgrade _every_ package, meaning you no longer have an ES3 server.

    Why don't you just port your code to gcc-3? As it is probably much easier than backporting the rest of RedHat to gcc 2.95.

    Best,

    Samuel
    I respectfully decline the invitation to join your delusion.

  3. #3
    Just Joined!
    Join Date
    Dec 2004
    Posts
    15

    libraries have been compiled though...

    But I compiled the libraries with the older gcc version, they build just fine.. what packages are you talking about?? libc, etc????

    -Nikhil.

  4. #4
    Just Joined!
    Join Date
    Dec 2004
    Posts
    15

    clarification..

    The libraries I talk about in the previous post, I mean the external libraries that my code uses.. not the system libraries or packages..

    I'm specifically talking about icu, ssl, des and bdb. I built these external libraries using the older version of gcc. Because they are the external libraries my code uses..

    -Nikhil.

  5. #5
    Linux Enthusiast
    Join Date
    Jun 2004
    Location
    Windsor, CO
    Posts
    656
    He meant every package, including the core system libs and everything else. In other words, the entire distro.
    Emotions are the key to the soul.
    Registered Linux User #375050

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •