Skip to content

Can't build empythoned #14

Open
Open

Description

@acejam

Hello,

I seem to be getting some errors when trying to build. I'm invoking the build script by running "./build". I've set the proper variables located at the top of both "build" and ccproxy.py. I am receiving the following error output after the build script runs for a little bit: (~10 seconds or so)

Potential incompatible plugin version. GCC: 4.6 (20120301). Expected: 4.6 (20120301)
Defines 'dragonegg_disable_version_check' as env variable to remove this warning
Please note that unexpected errors might occur.
../ccproxy.py -DNDEBUG -g -O3 -Wall -Wstrict-prototypes Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/parsetok.o Parser/bitset.o Parser/metagrammar.o Parser/firstsets.o Parser/grammar.o Parser/pgen.o Objects/obmalloc.o Python/mysnprintf.o Python/pyctype.o Parser/tokenizer_pgen.o Parser/printgrammar.o Parser/pgenmain.o -ldl -lutil -o Parser/pgen
/usr/bin/llvm-link: Parser/acceler.o:1:1: error: expected top-level entity
�ELFH4(U���(��E�E�E�E�H��U�M��!�E�$�M�L$�<�E���M�M�E�E�M�����E�M�}ˋE��@��(]Ív��'U���(�E
��M�E�E�M�M�E��M�Q�E�U��$�E�$�M�L$���E���M���E�M�E�M�U�9J
�M�E��ȃ�(]�f�U���8��E�E�E�E��@�H��U�M��f��M�Q�E�U��0�E�xt�E�H�
$������E��@�M܃����M�E�E�M�U�9J
�M܉E����E���M؉M�E�E�M�����E�M�}���8]Ð��&U��SWV���E
��M�E�E�M�E�M�E��U��B�4����M�|6�E�
���t�E�
��M���E܋E܉$������E���E؋E؃��E�uO���$�5�$�D$�D$�t$
�MЉU��������$�MȉE��������E���E��
��U��
^
/usr/bin/llvm-link: error loading file 'Parser/acceler.o'
/usr/bin/llc: Parser/pgen: Could not open input file: No such file or directory
gcc-4.6: error: Parser/pgen.tmp.o: No such file or directory
gcc-4.6: fatal error: no input files
compilation terminated.
Traceback (most recent call last):
File "../ccproxy.py", line 100, in
os.unlink(target + '.tmp.o')
OSError: [Errno 2] No such file or directory: 'Parser/pgen.tmp.o'
make: *** [Parser/pgen] Error 1

Any idea as to what might be occuring? I'm trying to compile Python in Javascript with the basic configuration for now. Once I get this working, I plan to add/enable the Python SSL module and hopefully compile/convert that too.

Thanks,
Acejam

Activity

  1. acejam commented on Jul 22, 2013

    @acejam
    Author

    I am also using Ubuntu 12.04 LTS x86 within a Vagrant VM as well.

  2. max99x commented on Jul 23, 2013

    @max99x
    Contributor

    The error doesn't mean anything to me, but if I was to guess, it may be because you're using a newer version of LLVM that is incompatible. Empythoned was tested on LLVM 2.9.

  3. acejam commented on Jul 23, 2013

    @acejam
    Author

    @max99x I'm using LLVM-link 2.9. My LLVM line is set to /usr/bin/llvm which I believe is 2.9 as well, but I'm not sure. What type of system/OS has this been successfully built on? And just to be clear - I shouldn't have to pass any arguments to ./build, correct?

    With Ubuntu 12.04 x86, I'm using the llvm and llvm-gcc packages from the Ubuntu apt repository. Perhaps I'll try downloading llvm from a different site. I assume that emscripten needs to be cloned into the emscripten directory as well? And should the CC= line be set to llvm, or llvm-gcc? (or emcc?)

  4. acejam commented on Jul 24, 2013

    @acejam
    Author

    @max99x Can you detail which versions of LLVM you used, and on which OS? Did you compile these binaries yourself, or did you download them pre-compiled? I am running into errors left and right with this.

    I see the latest llvm-gcc included within apt-get in Ubuntu is actually not true llvm-gcc, rather it's llvm-gcc with DragonEgg. Apparently it will work if I switch -c and -emit-llvm to -S and -flto, respectively. I tried that and get the following:

    ./ccproxy.py -DNDEBUG -g -O3 -Wall -Wstrict-prototypes Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/parsetok.o Parser/bitset.o Parser/metagrammar.o Parser/firstsets.o Parser/grammar.o Parser/pgen.o Objects/obmalloc.o Python/mysnprintf.o Python/pyctype.o Parser/tokenizer_pgen.o Parser/printgrammar.o Parser/pgenmain.o -ldl -lutil -o Parser/pgen
    /usr/bin/llvm-link: Parser/acceler.o:23:57: error: expected '{' in function body
    define void @PyGrammar_AddAccelerators(%0* %g) nounwind uwtable ssp {
    ^
    /usr/bin/llvm-link: error loading file 'Parser/acceler.o'
    /usr/bin/llc: Parser/pgen: Could not open input file: No such file or directory

    Before these changes, I was getting: " Parser/acceler.o:1:1: error: expected top-level entity"

  5. max99x commented on Jul 25, 2013

    @max99x
    Contributor

    I used 64-bit Arch Linux for all development on this, but I believe @amasad has also built this on a Mac. I used LLVM 2.9 and LLVM-GCC both built from source. You should not be modifying the CC line or adding any flags (at least until you can get it to compile). If you have LLVM and LLVM-GCC built together, it should be found automatically as long as you specify the right path for LLVM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions