jemc changed the topic of #ponylang to: Welcome! Please check out our Code of Conduct => https://github.com/ponylang/ponyc/blob/master/CODE_OF_CONDUCT.md | Public IRC logs are available => http://irclog.whitequark.org/ponylang | Please consider participating in our mailing lists => https://pony.groups.io/g/pony
montanonic has joined #ponylang
Praetonus has quit [Quit: Leaving]
montanonic has quit [Ping timeout: 245 seconds]
Lordovos has quit [Ping timeout: 260 seconds]
amclain has quit [Quit: Leaving]
jemc has joined #ponylang
c355e3b has quit [Quit: Connection closed for inactivity]
<TwoNotes> llvm::FunctionPass::createPrinterPass undefined when I link ponyc. using LLVM 3.8.1
TwoNotes has left #ponylang [#ponylang]
montanonic has joined #ponylang
montanonic has quit [Ping timeout: 240 seconds]
montanonic has joined #ponylang
jemc has quit [Ping timeout: 250 seconds]
montanonic has quit [Ping timeout: 250 seconds]
montanonic has joined #ponylang
_andre has joined #ponylang
Praetonus has joined #ponylang
montanonic has quit [Ping timeout: 256 seconds]
rurban has joined #ponylang
rurban has quit [Quit: Leaving.]
rurban has joined #ponylang
rurban has quit [Ping timeout: 256 seconds]
c355e3b has joined #ponylang
emancu has joined #ponylang
TwoNotes has joined #ponylang
rurban has joined #ponylang
M-hrjet has quit [Remote host closed the connection]
prose[m] has quit [Write error: Connection reset by peer]
irx[m] has quit [Remote host closed the connection]
M-Ingo has quit [Remote host closed the connection]
srenatus[m] has quit [Remote host closed the connection]
buchanon[m] has quit [Read error: Connection reset by peer]
rurban has quit [Ping timeout: 248 seconds]
<TwoNotes> Any preference between LLVM versions? Is 3.9.0 best?
<Praetonus> Generally speaking, yes
<Praetonus> Better optimisations
<TwoNotes> 3.9.0 llvm-config expects to find libcursesw.so.6. I only have .5
<TwoNotes> I will have to check the llvm release notes for requirements
<TwoNotes> But last time I tried 3.8.1, I got a missing symbol at lilnk time,
<TwoNotes> llvm::FunctionPass::createPrinterPass undefined when I link ponyc. using LLVM 3.8.1
<TwoNotes> 14:21 <TwoNotes> Any preference between LLVM versions
<TwoNotes> oops
<TwoNotes> llvm::FunctionPass::createPrinterPass was undefined at ponyc link phase
<Praetonus> I've seen that before. IIRC, it's because the LLVM headers and libs found have a different version
<Praetonus> Maybe try it with only LLVM 3.8.1 in your PATH
irx[m] has joined #ponylang
TwoNotes has quit [Ping timeout: 260 seconds]
prose[m] has joined #ponylang
srenatus[m] has joined #ponylang
M-Ingo has joined #ponylang
M-hrjet has joined #ponylang
buchanon[m] has joined #ponylang
TwoNotes has joined #ponylang
TwoNotes has quit [Read error: Connection reset by peer]
jemc has joined #ponylang
TwoNotes has joined #ponylang
emancu has quit []
montanonic has joined #ponylang
jemc has quit [Ping timeout: 265 seconds]
<TwoNotes> No luck. Building ponyc with LLVM 3.8.1 I get this linker error: build/release/libponyc.a(genopt.o):(.rodata._ZTV11HeapToStack[_ZTV11HeapToStack]+0x20): undefined reference to `llvm::FunctionPass::createPrinterPass(llvm::raw_ostream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
<TwoNotes> I used "make LLVM_CONFIG=path-to-llvm-config"
rurban has joined #ponylang
rurban has quit [Ping timeout: 265 seconds]
<SeanTAllen> previously when people have gotten that error, the linker was confused and using a different llvm than what compilation was done with
rurban has joined #ponylang
rurban has left #ponylang [#ponylang]
<TwoNotes> The LLVM I am using came as a bunch of precompiled libraries. All I did was point LLVM_CONFIG to the right place, assuming the Makefile would do the right thing
<TwoNotes> If I could find instructions on how to properly 'install' all these LLVM 3.8.1 bits, I would do that
<TwoNotes> LLVM project does have packages for Ubuntu, but not for my ARM platform. And it is a monster to compile
<TwoNotes> But they had these tar files of precompild binaries, so I am using that
<TwoNotes> The Makefile appears to be getting ldflags properly...
<Praetonus> Do you have another version of LLVM installed?
<TwoNotes> There is a 3.8.0 that came with the system. I was hesitating to remove that in cage gcc needed it. But I can always add it back again if so. I will try removing it
<TwoNotes> It was just the runtime, libllvm3.8
<TwoNotes> typeing 'apt remove libllvm3.8' makes apt think it needs to remove 227 packages....
<TwoNotes> Including a LOT of stuff I depend on...
<TwoNotes> I do apt search llvm | grep installed and get just one line, "libllvm3.8/xenial-updates,now 1:3.8-2ubuntu4 armhf [installed]"
<TwoNotes> But I do not actually see any *llvm* files anywhere in /usr/lib
<TwoNotes> or in /usr/bin
<TwoNotes> I will try copying the LLVM stuff off the NFS share onto the local storage
montanonic has quit [Ping timeout: 265 seconds]
<andreaa> SeanTAllen, was yesterday's sync recorded?
montanonic has joined #ponylang
dinfuehr has quit [Ping timeout: 260 seconds]
dinfuehr has joined #ponylang
<SeanTAllen> yes but i haven't had a chance to upload it
_andre has quit [Quit: leaving]
<SeanTAllen> uploading now.
<SeanTAllen> at my mother's upload speeds are pretty slow
<SeanTAllen> uploaded
<TwoNotes> I added an @echo command inside Makefile to show the full linker command. The result with error messages is at https://gist.github.com/pdtwonotes/11a78530dcd0fa61d3e5991517d1b4a2
rurban has joined #ponylang
Matthias247 has joined #ponylang
<TwoNotes> The missing symbol *is* defined in the .a and .so files of the llvm library...
bougyman has joined #ponylang
<TwoNotes> The missing symbol is defined in file libLLVMCore.a, which *does* appear in the list od "-l" terms given to th elinker.
<TwoNotes> Defined symbol has signature (llvm::raw_ostream&, std::string) while error message says (llvm::raw_ostream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >). Different notations of the same thing?
[CBR]Unspoken1 has quit [Ping timeout: 240 seconds]
<TwoNotes> I don't think ponyc itself calls createPrinterPass. I think it is somewhere in the FunctionPass class that ponyc extends.
<TwoNotes> All 3 references come from ponyc's "genopt" module, and I found no explicit references there
<TwoNotes> createPrinterPass is a public function of "FunctionPass", which is used to implement most optimizations
<TwoNotes> I guess I have no clue which versions of LLVM work properly on ARM. This *was* working several months ago but I do not remember what versions that was.
TwoNotes has left #ponylang [#ponylang]
rurban1 has joined #ponylang
rurban has quit [Ping timeout: 244 seconds]
[CBR]Unspoken has joined #ponylang