Buildroot ARM filesystem OpenSSH compile fail - SSH

This is a discussion on Buildroot ARM filesystem OpenSSH compile fail - SSH ; Hi I've tried Buildroot to add OpenSSH package for ARM device , OpenSSH version is 3.9p1. I fail to compile and got messages l , someone said they are because 64 bit data : /home/scott/buildroot/build_arm/openssh-3.9p1/scp.c:680: undefined reference to `__floatdidf' /home/scott/buildroot/build_arm/openssh-3.9p1/scp.c:680: ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Buildroot ARM filesystem OpenSSH compile fail

  1. Buildroot ARM filesystem OpenSSH compile fail

    Hi

    I've tried Buildroot to add OpenSSH package for ARM device , OpenSSH
    version is 3.9p1.

    I fail to compile and got messages l , someone said they are because
    64 bit data :


    /home/scott/buildroot/build_arm/openssh-3.9p1/scp.c:680: undefined
    reference to `__floatdidf'
    /home/scott/buildroot/build_arm/openssh-3.9p1/scp.c:680: undefined
    reference to `__fixunsdfdi'
    /home/scott/buildroot/build_arm/openssh-3.9p1/scp.c:682: undefined
    reference to `__udivdi3'
    /home/scott/buildroot/build_arm/openssh-3.9p1/scp.c:683: undefined
    reference to `__umoddi3'
    scp.o: In function `main':
    /home/scott/buildroot/build_arm/openssh-3.9p1/scp.c:256: undefined
    reference to `__fixdfdi'
    progressmeter.o: In function `refresh_progress_meter':
    /home/scott/buildroot/build_arm/openssh-3.9p1/progressmeter.c:132:
    undefined reference to `__floatdidf'
    /home/scott/buildroot/build_arm/openssh-3.9p1/progressmeter.c:157:
    undefined reference to `__floatdisf'
    /home/scott/buildroot/build_arm/openssh-3.9p1/progressmeter.c:157:
    undefined reference to `__floatdisf'

    How can I solve this problem , do you have any solution ? Thanks
    very much .


  2. Re: Buildroot ARM filesystem OpenSSH compile fail

    On 2007-10-14, kid1972tw@yahoo.com.tw wrote:
    > I've tried Buildroot to add OpenSSH package for ARM device , OpenSSH
    > version is 3.9p1.
    >
    > I fail to compile and got messages l , someone said they are because
    > 64 bit data :

    [...]
    > /home/scott/buildroot/build_arm/openssh-3.9p1/scp.c:682: undefined
    > reference to `__udivdi3'


    These functions are used by gcc to implement operations not present in
    the host CPU (in this case, unsigned integer division). Normally these
    functions are in libgcc, so if your build isn't finding them then it's
    probably because either the gcc installation is broken, or the linker
    is not finding libgcc. You can try adding -lgcc to your LDFLAGS (and
    maybe the corresponding -L flag to tell the linker where to find it)
    however as far as I know this should not be necessary.

    Oh, the other thing that can cause this kind of thing is to specify
    the linker directly (eg LD=your-arch-ld) when invoking configure as
    the linker doesn't know about those gcc magic functions. The fix is to
    tell configure to use gcc as the linker (which should be the default).

    --
    Darren Tucker (dtucker at zip.com.au)
    GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69
    Good judgement comes with experience. Unfortunately, the experience
    usually comes from bad judgement.

+ Reply to Thread