Installation

Home Forums Forum Installation

This topic contains 40 replies, has 2 voices, and was last updated by  rich 10 years, 2 months ago.

Viewing 11 posts - 31 through 41 (of 41 total)
  • Author
    Posts
  • #1565

    Gordon

    Hi Ternet have you tied going ot he binutils directory and doing a make install? _ suspect there might be a step missing in the makefile

    #1608

    Trent

    Hi guys,

    I am still unable to get ellcc to self host (it does the first build but not the second)

    Has anyone else been successful at getting ellcc to self host?

    #1630

    RobertN

    Just did a env update and on OS-X 10.9.1 and I’m still failing on building the libecc with dcc, see below.

    -RobertN

    /Users/administrator/Code/ellcc/libecc/../bin/ecc -std=c99 -nostdinc -ffreestanding -frounding-math -D_XOPEN_SOURCE=700 -I./arch/arm -I./src/internal -I./include  -g -pipe -fno-unwind-tables -fno-asynchronous-unwind-tables -Wa,--noexecstack -Werror=implicit-function-declaration -Werror=implicit-int -Werror=pointer-sign -Werror=pointer-arith -Wall -Wno-parentheses -Wno-uninitialized -Wno-missing-braces -Wno-unused-value -Wno-unknown-pragmas -fno-stack-protector -target arm-ellcc-linux-eabi -march=armv7 -mfpu=vfp -mfloat-abi=softfp -no-integrated-as -g -Qunused-arguments -Wno-unneeded-internal-declaration -Wno-cast-align -Wno-incompatible-pointer-types -Wno-string-plus-int -Wno-pointer-sign -Wno-array-bounds -Wno-dangling-else -Wno-int-to-pointer-cast -c -o src/bsd/parsedate.o src/bsd/parsedate.c
    y.tab.c:1409:16: error: implicit declaration of function 'yylex' is invalid in
          C99 [-Werror,-Wimplicit-function-declaration]
          yychar = YYLEX;
                   ^
    
    #1638

    Gordon

    Latest update not happy with OSX 10.9.1:
    libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../../src/gdb/opcodes -I. -I../../../src/gdb/opcodes -I../bfd -I../../../src/gdb/opcodes/../include -I../../../src/gdb/opcodes/../bfd -I./../intl -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -Wno-unused-value -Wno-error=deprecated-declarations -MT mips-dis.lo -MD -MP -MF .deps/mips-dis.Tpo -c ../../../src/gdb/opcodes/mips-dis.c -o mips-dis.o
    ../../../src/gdb/opcodes/mips-dis.c:588:18: error: use of undeclared identifier
    ‘INSN_SMARTMIPS’
    ISA_MIPS32 | INSN_SMARTMIPS,
    ^
    ../../../src/gdb/opcodes/mips-dis.c:594:21: error: use of undeclared identifier
    ‘INSN_SMARTMIPS’
    (ISA_MIPS32R2 | INSN_SMARTMIPS | INSN_DSP | INSN_DSPR2

    #1639

    Gordon

    Disregard last post, turns out I had an incomplete svn update…

    #1641

    Gordon

    OSX 10.9.1: there are some issues:

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: warning for library: .libs/libedit.a the table of contents is empty (no object file members in the library define global symbols)
    Making all in examples
    CC tc1.o
    CCLD tc1
    tc1.o: In function `main’:
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:146: undefined reference to `history_init’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:148: undefined reference to `history’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:150: undefined reference to `tok_init’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:153: undefined reference to `el_init’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:155: undefined reference to `el_set’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:156: undefined reference to `el_set’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:157: undefined reference to `el_set’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:148: undefined reference to `history’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:148: undefined reference to `history’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:160: undefined reference to `el_set’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:163: undefined reference to `el_set’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:166: undefined reference to `el_set’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:172: undefined reference to `el_set’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:173: undefined reference to `el_set’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:178: undefined reference to `el_source’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:180: undefined reference to `el_gets’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:187: undefined reference to `el_line’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:206: undefined reference to `tok_line’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:231: undefined reference to `history’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:262: undefined reference to `history’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:280: undefined reference to `el_parse’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:199: undefined reference to `el_reset’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:269: undefined reference to `history’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:254: undefined reference to `history’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:271: undefined reference to `history’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:301: undefined reference to `tok_reset’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:180: undefined reference to `el_gets’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:304: undefined reference to `el_end’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:305: undefined reference to `tok_end’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:306: undefined reference to `history_end’
    tc1.o: In function `complete’:
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:98: undefined reference to `el_line’
    /Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:114: undefined reference to `el_insertstr’
    ecc: error: linker command failed with exit code 1 (use -v to see invocation)
    make[4]: *** [tc1] Error 1
    make[3]: *** [all-recursive] Error 1
    make[2]: *** [all] Error 2
    make[1]: *** [arm.libedit.build] Error 2
    make: *** [arm] Error 2
    gordons-mbp-3:ellcc gordon$

    #1644

    Gordon

    Success! – failed on the first pass, but the second pass seemed to work.

    However, despite finishing with no fatal errors it fails the sanity checks:

    ********************
    Testing Time: 6.59s
    ********************
    Failing Tests (44):
    ELLCC :: obj/arm/linux/bin/make.tc
    ELLCC :: obj/armeb/linux/bin/make.tc
    ELLCC :: obj/i386/linux/bin/make.tc
    ELLCC :: obj/microblaze/linux/bin/make.tc
    ELLCC :: obj/mips/linux/bin/make.tc
    ELLCC :: obj/mipsel/linux/bin/make.tc
    ELLCC :: obj/ppc/linux/bin/make.tc
    ELLCC :: obj/x86_64/linux/bin/make.tc
    ELLCC :: src/bzip2-1.0.6/bzip2.tc
    regression :: bugs/PR26.c
    regression :: bugs/PR27.c
    regression :: bugs/PR68.c
    regression :: bugs/PR70.c
    regression :: gen/assert1.c
    regression :: gen/assert2.c
    regression :: gen/ctype.c
    regression :: gen/errno.c
    regression :: gen/float.c
    regression :: gen/iso646.c
    regression :: gen/limits.c
    regression :: gen/setjmp.c
    regression :: gen/signal.c
    regression :: gen/stdarg.c
    regression :: gen/stdbool.c
    regression :: gen/stddef.c
    regression :: gen/stdint.c
    regression :: langc++/ctor.cpp
    regression :: langc++/first.cpp
    regression :: langc++/second.cpp
    regression :: langc/vla.c
    regression :: locale/locale.c
    regression :: math/complex.c
    regression :: math/math.c
    regression :: math/tgmath.c
    regression :: simple/empty.c
    regression :: simple/hello.c
    regression :: stdio/format.c
    regression :: stdio/stdio.c
    regression :: stdlib/inttypes.c
    regression :: stdlib/stdlib.c
    regression :: string/string.c
    regression :: time/time.c
    regression :: wchar/wchar.c
    regression :: wchar/wchtype.c

    Expected Passes : 3
    Expected Failures : 16
    Unexpected Failures: 44
    make: *** [check] Error 1

    #1645

    Gordon

    Hi Rich, when i move the binary file to my ARM Linux environment and try to run it, i get an illegal instruction.

    I know the ARM Linux environment is OK as I can get the Archlinux chain to give me a binary i can run.

    I think I’ve either got missing components, or incorrect options selected, any hints on how to find the error?

    Gordon

    #1660

    Gordon

    Re:
    >Gordon,
    >
    >I missed your previous post about getting nothing when you used -no-integrated-as. >That’s good! Nothing means that the output file was created and is named a.out. Put >it on your ARM board and have it say hello.
    >
    >-Rich

    Hi Rich, I get an illegal instruction, I’m guessing that the compiler output is static (baremetal) and not really for Linux.

    When I run “file” on the ellcc binary, I get:

    gordon@ubuntu:~/armwork/obj$ file helloarm9.o
    helloarm9.o: ELF 32-bit LSB executable, ARM, version 1, statically linked, BuildID[sha1]=0x1d4ca74c8f8f121ff0e198280c673c78e64b6004, not stripped

    A binary that does work on the Arm Linux (not from ellcc) gives me:

    gordon@ubuntu:~/armwork$ file a.out
    a.out: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.27, not stripped

    I’m close, but not quite there… 🙂

    #1680

    Trent

    I have finally gotten it to successfully compile (and self host) on Ubuntu 13.04 server (amd64)

    Here are the steps I took (for future reference of others) from a clean install

    #!/bin/bash
    # Get basic dependencies for life
    sudo apt-get -y install ssh vim curl

    # Update to the latest version
    sudo apt-get update
    sudo apt-get dist-upgrade

    # Install the dependencies to build ellcc
    sudo apt-get install -y subversion build-essential zlib1g-dev libncurses5-dev byacc flex libglib2.0-dev dh-autoreconf texinfo

    # Get ellcc
    svn co http://ellcc.org/svn/ellcc/trunk ellcc

    # Build ellcc using glib
    cd ellcc
    ./build
    # byacc fails on second build… use bison instead?
    sudo apt-get install -y bison
    ./build

    #1681

    rich
    Keymaster

    Hi Trent,

    Thanks for the input. I’m glad you were finally able to get a successful build.

    -Rich

Viewing 11 posts - 31 through 41 (of 41 total)

You must be logged in to reply to this topic.