Hi, I am using PinaVM which is a prototype of a SystemC front-end based on "LLVM". The only version that it works with is 2.8. Also to test PinaVM, we need llvm-g++ (I think clang does not work). However, when I want to run an example, i get the following error, which i think is related to llvm-g++: reza at RezaUbuntu:~/pinavm-pinavm/systemc-examples/jerome-chain$ make promela llvm-g++ -fno-inline-functions -I../../external/systemc-2.2.0/src/ -I../../external/TLM-2009-07-15/include/tlm -I../../external/basic -emit-llvm -c main.cpp -o main.bc Potential incompatible plugin version. GCC: 4.5.3. Expected: 4.5.4 Defines 'dragonegg_disable_version_check' as env variable to remove this warning Please note that unexpected errors might occur. llvm-link main.bc -o main.linked.bc llvm-link: main.bc:1:1: error: expected top-level entity ELF??4(VS??????????????????????? ^ llvm-link: error loading file 'main.bc' make: *** [main.linked.bc] Error 1 It shows the main.bc is not a bitcode file. Most likely the llvm-g++ is broken. Would you please let me know your opinion about it, and tell me how i can fix it? Thank you, Reza
On 10/2/12 12:37 PM, Reza Sheykhi wrote:> Hi, > > I am using PinaVM which is a prototype of a SystemC front-end based on > "LLVM". The only version that it works with is 2.8. Also to test > PinaVM, we need llvm-g++ (I think clang does not work). However, when > I want to run an example, i get the following error, which i think is > related to llvm-g++: > > > reza at RezaUbuntu:~/pinavm-pinavm/systemc-examples/jerome-chain$ make > promela > llvm-g++ -fno-inline-functions -I../../external/systemc-2.2.0/src/ > -I../../external/TLM-2009-07-15/include/tlm -I../../external/basic > -emit-llvm -c main.cpp -o main.bc> Potential incompatible plugin version. GCC: 4.5.3. Expected: 4.5.4 > Defines 'dragonegg_disable_version_check' as env variable to remove > this warningI don't know if you noticed this warning, but it seems to say that the DragonEgg plugin that you're using with GCC wants a newer version of GCC. You might want to try using the Dragonegg plugin with GCC 4.5.4 or later. -- John T.
The issue here (even if you get dragonegg working) is that the thing that most newer linuxes install when you apt-get llvm-gcc isn't actually llvm-gcc, it's gcc with the dragonegg plugin. Even if the plugin issues are sorted out, the "fake" llvm-gcc doesn't support -emit-llvm so this wouldn't work. You'll probably need to pull a 2.8 of it from llvm.org or a different repository. -Gordon> -----Original Message----- > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] > On Behalf Of Reza Sheykhi > Sent: Tuesday, October 02, 2012 1:37 PM > To: llvmdev at cs.uiuc.edu > Subject: [LLVMdev] llvm-g++ does not work! > > Hi, > > I am using PinaVM which is a prototype of a SystemC front-end based on > "LLVM". The only version that it works with is 2.8. Also to test PinaVM, we > need llvm-g++ (I think clang does not work). However, when I want to run an > example, i get the following error, which i think is related to llvm-g++: > > > reza at RezaUbuntu:~/pinavm-pinavm/systemc-examples/jerome-chain$ > make promela > llvm-g++ -fno-inline-functions -I../../external/systemc-2.2.0/src/ > -I../../external/TLM-2009-07-15/include/tlm -I../../external/basic -emit-llvm - > c main.cpp -o main.bc Potential incompatible plugin version. GCC: 4.5.3. > Expected: 4.5.4 Defines 'dragonegg_disable_version_check' as env variable > to remove this warning Please note that unexpected errors might occur. > llvm-link main.bc -o main.linked.bc > llvm-link: main.bc:1:1: error: expected top-level entity > ELF??4(VS??????????????????????? > ^ > llvm-link: error loading file 'main.bc' > make: *** [main.linked.bc] Error 1 > > > It shows the main.bc is not a bitcode file. Most likely the llvm-g++ is broken. > Would you please let me know your opinion about it, and tell me how i can > fix it? > > Thank you, > Reza > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Hi Gordan, On 02/10/12 20:15, Gordon Keiser wrote:> The issue here (even if you get dragonegg working) is that the thing that most newer linuxes install when you apt-get llvm-gcc isn't actually llvm-gcc, it's gcc with the dragonegg plugin. Even if the plugin issues are sorted out, the "fake" llvm-gcc doesn't support -emit-llvm so this wouldn't work.you can use -flto instead of -emit-llvm, but then you have to use -S rather than -c. Ciao, Duncan.> > You'll probably need to pull a 2.8 of it from llvm.org or a different repository. > > -Gordon > >> -----Original Message----- >> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] >> On Behalf Of Reza Sheykhi >> Sent: Tuesday, October 02, 2012 1:37 PM >> To: llvmdev at cs.uiuc.edu >> Subject: [LLVMdev] llvm-g++ does not work! >> >> Hi, >> >> I am using PinaVM which is a prototype of a SystemC front-end based on >> "LLVM". The only version that it works with is 2.8. Also to test PinaVM, we >> need llvm-g++ (I think clang does not work). However, when I want to run an >> example, i get the following error, which i think is related to llvm-g++: >> >> >> reza at RezaUbuntu:~/pinavm-pinavm/systemc-examples/jerome-chain$ >> make promela >> llvm-g++ -fno-inline-functions -I../../external/systemc-2.2.0/src/ >> -I../../external/TLM-2009-07-15/include/tlm -I../../external/basic -emit-llvm - >> c main.cpp -o main.bc Potential incompatible plugin version. GCC: 4.5.3. >> Expected: 4.5.4 Defines 'dragonegg_disable_version_check' as env variable >> to remove this warning Please note that unexpected errors might occur. >> llvm-link main.bc -o main.linked.bc >> llvm-link: main.bc:1:1: error: expected top-level entity >> ELF??4(VS??????????????????????? >> ^ >> llvm-link: error loading file 'main.bc' >> make: *** [main.linked.bc] Error 1 >> >> >> It shows the main.bc is not a bitcode file. Most likely the llvm-g++ is broken. >> Would you please let me know your opinion about it, and tell me how i can >> fix it? >> >> Thank you, >> Reza >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Hi Reza,> I am using PinaVM which is a prototype of a SystemC front-end based on "LLVM". > The only version that it works with is 2.8. Also to test PinaVM, we need > llvm-g++ (I think clang does not work). However, when I want to run an example, > i get the following error, which i think is related to llvm-g++:this is not llvm-g++, this is the dragonegg plugin which someone (not the LLVM project) is distributing as "llvm-gcc", an endless source of confusion.> reza at RezaUbuntu:~/pinavm-pinavm/systemc-examples/jerome-chain$ make promela > llvm-g++ -fno-inline-functions -I../../external/systemc-2.2.0/src/ > -I../../external/TLM-2009-07-15/include/tlm -I../../external/basic -emit-llvm -c > main.cpp -o main.bcFirst off, dragonegg doesn't know -emit-llvm, use -fplugin-arg-dragonegg-emit-ir or -flto instead. Secondly, to stop the LLVM IR produced being passed to the system assembler, use -S rather than -c (in which case the output would better be named main.ll). In all this gives: llvm-g++ -fno-inline-functions -I../../external/systemc-2.2.0/src/ -I../../external/TLM-2009-07-15/include/tlm -I../../external/basic -flto -S main.cpp -o main.ll> Potential incompatible plugin version. GCC: 4.5.3. Expected: 4.5.4What's more, the GCC and dragonegg versions don't match. This is a bad idea. Where did you get "llvm-gcc" from? You should ask them to fix this. Ciao, Duncan.> Defines 'dragonegg_disable_version_check' as env variable to remove this warning > Please note that unexpected errors might occur. > llvm-link main.bc -o main.linked.bc > llvm-link: main.bc:1:1: error: expected top-level entity > ELF??4(VS??????????????????????? > ^ > llvm-link: error loading file 'main.bc' > make: *** [main.linked.bc] Error 1 > > > It shows the main.bc is not a bitcode file. Most likely the llvm-g++ is broken. > Would you please let me know your opinion about it, and tell me how i can fix it? > > Thank you, > Reza > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev