Loading ...
Sorry, an error occurred while loading the content.

Problem compiling bonjour on SlugOS 5.3 beta - hidden symbol

Expand Messages
  • jbronsted
    Hi Im trying to compile bonjour for SlugOS 5.2 beta on a NSLU2: http://developer.apple.com/opensource/internet/bonjour.html However, ld tells me that the
    Message 1 of 3 , Feb 5, 2010
    • 0 Attachment
      Hi

      Im trying to compile bonjour for SlugOS 5.2 beta on a NSLU2:
      http://developer.apple.com/opensource/internet/bonjour.html

      However, ld tells me that the hidden symbol __aeabi_uidiv in libgcc.a is referenced by DSO. Does anybody know what this means and how I can fix it?

      Kind regards
      Jeppe

      Full transcript:
      root@slug1:~/mDNSResponder-107.6/mDNSPosix# make clean os=linux
      make[1]: Entering directory `/root/mDNSResponder-107.6/Clients'
      rm -rf build
      make[1]: Leaving directory `/root/mDNSResponder-107.6/Clients'
      root@slug1:~/mDNSResponder-107.6/mDNSPosix# make os=linux
      Responder daemon done
      Client library done
      make[1]: Entering directory `/root/mDNSResponder-107.6/Clients'
      mkdir build
      cc dns-sd.c -L../mDNSPosix/build/prod/ -ldns_sd -I../mDNSShared -o build/dns-sd
      /usr/lib/gcc/armeb-linux-gnueabi/4.2.4/../../../../armeb-linux-gnueabi/bin/ld: build/dns-sd: hidden symbol `__aeabi_uidiv' in /usr/lib/gcc/armeb-linux-gnueabi/4.2.4/libgcc.a(_udivsi3.o) is referenced by DSO
      /usr/lib/gcc/armeb-linux-gnueabi/4.2.4/../../../../armeb-linux-gnueabi/bin/ld: final link failed: Nonrepresentable section on output
      collect2: ld returned 1 exit status
      make[1]: *** [build/dns-sd] Error 1
      make[1]: Leaving directory `/root/mDNSResponder-107.6/Clients'
      make: *** [../Clients/build/dns-sd] Error 2
    • Mike Westerhof (mwester)
      ... My first guess would be that your toolchain may be trying to use a different (unsupported) floating-point setting for some reason. Check your compilation
      Message 2 of 3 , Feb 6, 2010
      • 0 Attachment
        jbronsted wrote:
        > Hi
        >
        > Im trying to compile bonjour for SlugOS 5.2 beta on a NSLU2:
        > http://developer.apple.com/opensource/internet/bonjour.html
        >
        > However, ld tells me that the hidden symbol __aeabi_uidiv in libgcc.a is referenced by DSO. Does anybody know what this means and how I can fix it?
        >
        > Kind regards
        > Jeppe
        >
        > Full transcript:
        > root@slug1:~/mDNSResponder-107.6/mDNSPosix# make clean os=linux
        > make[1]: Entering directory `/root/mDNSResponder-107.6/Clients'
        > rm -rf build
        > make[1]: Leaving directory `/root/mDNSResponder-107.6/Clients'
        > root@slug1:~/mDNSResponder-107.6/mDNSPosix# make os=linux
        > Responder daemon done
        > Client library done
        > make[1]: Entering directory `/root/mDNSResponder-107.6/Clients'
        > mkdir build
        > cc dns-sd.c -L../mDNSPosix/build/prod/ -ldns_sd -I../mDNSShared -o build/dns-sd
        > /usr/lib/gcc/armeb-linux-gnueabi/4.2.4/../../../../armeb-linux-gnueabi/bin/ld: build/dns-sd: hidden symbol `__aeabi_uidiv' in /usr/lib/gcc/armeb-linux-gnueabi/4.2.4/libgcc.a(_udivsi3.o) is referenced by DSO
        > /usr/lib/gcc/armeb-linux-gnueabi/4.2.4/../../../../armeb-linux-gnueabi/bin/ld: final link failed: Nonrepresentable section on output
        > collect2: ld returned 1 exit status
        > make[1]: *** [build/dns-sd] Error 1
        > make[1]: Leaving directory `/root/mDNSResponder-107.6/Clients'
        > make: *** [../Clients/build/dns-sd] Error 2
        >

        My first guess would be that your toolchain may be trying to use a
        different (unsupported) floating-point setting for some reason. Check
        your compilation options for consistency; soft float is what it should
        be using. If that's not it, then I would check to see if the compiler
        and libraries perhaps mismatch -- did you get the toolchain from (for
        example) the "unstable" feeds?

        -Mike (mwester)
      • jbronsted
        ... Thanks for the quick reply. Im not entirely sure how I determine which floating-point settings are being used. How do I determine this? I got the toolchain
        Message 3 of 3 , Feb 8, 2010
        • 0 Attachment
          --- In nslu2-linux@yahoogroups.com, "Mike Westerhof (mwester)" <mwester@...> wrote:
          > My first guess would be that your toolchain may be trying to use a
          > different (unsupported) floating-point setting for some reason. Check
          > your compilation options for consistency; soft float is what it should
          > be using. If that's not it, then I would check to see if the compiler
          > and libraries perhaps mismatch -- did you get the toolchain from (for
          > example) the "unstable" feeds?
          >
          > -Mike (mwester)

          Thanks for the quick reply.

          Im not entirely sure how I determine which floating-point settings are being used. How do I determine this?

          I got the toolchain from the stable feeds (using opkg).

          I have tracked the error to the compilation or linkage of the library 'libdns_sd'. To make this library, make issues the following commands:

          gcc -I. -I../mDNSCore -I../mDNSShared -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\" -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -Os -DMDNS_DEBUGMSGS=0 -c -fPIC -o objects/prod/dnssd_clientlib.c.so.o ../mDNSShared/dnssd_clientlib.c
          gcc -I. -I../mDNSCore -I../mDNSShared -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\" -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -Os -DMDNS_DEBUGMSGS=0 -c -fPIC -o objects/prod/dnssd_clientstub.c.so.o ../mDNSShared/dnssd_clientstub.c
          gcc -I. -I../mDNSCore -I../mDNSShared -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\" -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -Os -DMDNS_DEBUGMSGS=0 -c -fPIC -o objects/prod/dnssd_ipc.c.so.o ../mDNSShared/dnssd_ipc.c
          ld -shared -o build/prod/libdns_sd.so objects/prod/dnssd_clientlib.c.so.o objects/prod/dnssd_clientstub.c.so.o objects/prod/dnssd_ipc.c.so.o
          strip -S build/prod/libdns_sd.so

          I appears that no errors occur in this process, but when I use the produced library, I get the __aeabi_uidiv error.

          As far as I can see, there is nothing out of the ordinary in the commands above.

          uname -a yields:
          Linux slug1 2.6.27.8 #1 Sat Mar 7 02:47:23 UTC 2009 armv5teb unknown unknown GNU/Linux

          file on the produced lib yields:
          file /usr/lib/libdns_sd.so.1
          /usr/lib/libdns_sd.so.1: ELF 32-bit MSB shared object, ARM, version 1 (SYSV), not stripped

          gcc version:
          gcc (GCC) 4.2.4

          Kind regards
          Jeppe
        Your message has been successfully submitted and would be delivered to recipients shortly.