sb0 changed the topic of #m-labs to: ARTIQ, Migen, MiSoC, Mixxeo & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
<whitequark> hey sb0
<whitequark> what does ranlib do
<whitequark> why do you run it
mumptai has joined #m-labs
<cr1901_modern> Are you using a Linux system?
<whitequark> yea
<whitequark> well, the target is bare-meta
<cr1901_modern> My guess is that ranlib operates on archives. Static libs on Linux are, essentially, a huge lie, and so ranlib is a noop so that makefiles that depend on it existing don't bitch.
<whitequark> I'm not interested in guesses
<whitequark> that being said
<whitequark> it seems like you're right, based on what I see in binutils sources
<cr1901_modern> Have you seen this answer yet: http://stackoverflow.com/questions/11346240/ranlib-and-static-library
<cr1901_modern> "it's no longer required as ar takes care of it."
<whitequark> yes, ranlib is an alias for `ar s`
<whitequark> but `ar s` *also* doesn't do anything on ELF platforms
<cr1901_modern> can you upload a minimal example, and I'll test on Net?
<cr1901_modern> Net uses (a different variant of) ELF, but static libraries are also actually static.
<whitequark> nevermind I was wrong
<whitequark> lol, why does misoc pass l to ar
<whitequark> "This modifier is accepted but not used"
<whitequark> oh wow the or1k asmparser is a pile of shit
<whitequark> pity
mithro has quit []
mithro has joined #m-labs
<whitequark> sb0: is there some way of updating the BIOS that does not involve waiting ~15 minutes for xst?
<whitequark> sb0: actually, different question first
<whitequark> is ./make.py load-bitstream supposed to work?
<whitequark> I've built a BIOS bitstream using gcc, but nothing happens when I load it
<whitequark> I've also tried to flash-bitstream but it errors out on verification
<whitequark> does this crap work at all
<cr1901_modern> I THINK you need a legit JTAG programmer to load the BIOS. You load a proxy bitstream via JTAG onto the FPGA. The proxy lets you write your custom data after the bitstream storage in flash.
<cr1901_modern> rjo/mithro explained it to me recently. I'll see if I can't find it in the IRC logs
<whitequark> ohhhhhhhh
<whitequark> soc.integrated_rom_size is 0 for pipistrello
<cr1901_modern> Does pipistrello have flash allocated specifically for user purposes?
<whitequark> soooo from what I can see, yes
<whitequark> starting at 0x17000 or something
<cr1901_modern> (still looking for relevant day in chat log)
<cr1901_modern> irclog.whitequark.org/m-labs/2015-06-29
<cr1901_modern> I ask the question at 07:52, rjo answers at 22:06
<whitequark> hm, weird
<whitequark> Can't erase, device has block protection BP1 BP2
<whitequark> I guess that explains some of the things?
<cr1901_modern> flash_boot_address is 0x180000
<whitequark> grrr, this is irritating
<whitequark> so
<whitequark> this is the exact same pipistrello that i have. the device ID is the same.
<whitequark> and it's broken.
<cr1901_modern> Wow, that's fucked up. Think the makers didn't test it properly? EMI took it out?
<whitequark> someone has locked the flash
<whitequark> ahah
<whitequark> not only the *blocks* are protected
<whitequark> but the whole flash is also locked permanently
<whitequark> according to the datasheet and READ STATUS REGISTER result
<whitequark> no wonder I can't reprogram it
<whitequark> siiiiiiigh
<whitequark> i guess i can tear it off and solder another one in its place
<whitequark> this one is sold for like $5 locally
<cr1901_modern> Why would somebody do that on an FPGA dev board?
<whitequark> why are you asking ME?
<whitequark> ask whoever fucked this up
<whitequark> ok, i ordered replacement memories
<sb0> ranlib: " allows routines in the library to call each other without regard to their placement in the archive"
<sb0> is that not the case anymore?
<whitequark> sb0: I'm actually not sure that was ever the case
<whitequark> ranlib, which is equivalent to `ar s`, basically builds an index for the archive
<whitequark> er, ever the case on ELF platforms
<whitequark> so that the linker doesn't have to look at the symtab of every .o in turn
<sb0> (l to ar) copy paste of old makefile. remove it :)
<whitequark> yeah, let me push...
<sb0> (flash-bitstream errors) yes, xc3sprog has lots of bugs as mentioned. use fpgaprog, unfortunately not integrated with misoc, or try Robert's openocd
<sb0> and yes, the BIOS is XIP so you can compile and flash it separately from the bitstream
<whitequark> sb0: what about the lock bits?
<sb0> I never had to deal with those
<whitequark> i mean, it consistently reads out as locked and protected
<whitequark> probably due to some glitch that broke the SPI frame
<whitequark> and protected it
<whitequark> sb0: can you give me write access to misoc
<sb0> done
<sb0> won't fpgaprog or openocd reset the lock bits?
<GitHub48> [misoc] whitequark pushed 2 new commits to master: http://git.io/vYzdu
<GitHub48> misoc/master 0f47876 whitequark: common.mak: remove RANLIB....
<GitHub48> misoc/master f500b90 whitequark: common.mak: remove AS....
<GitHub181> [misoc] whitequark created new-py2llvm (+2 new commits): http://git.io/vYzdz
<GitHub181> misoc/new-py2llvm 69c2a70 whitequark: common.mak: use clang/clang++ to compile C/C++ sources....
<GitHub181> misoc/new-py2llvm d03dabb whitequark: common.mak: Pass -fexceptions to clang and clang++....
<whitequark> I could even add that to xc3sprog
<whitequark> but
<whitequark> there is a lock bit that means "the flash is permanently write-protected"
<whitequark> and it is set
<sb0> oh, fun
<whitequark> well, I suppose I could try fpgaprog
<sb0> well you can compile with integrated BIOS, then you can operate without flash at all
<sb0> just reload the bitstream every time
<whitequark> yeah, and what, wait for ten minutes for the bitstream to build?
<sb0> yes
<whitequark> well, screw that
<sb0> but build, not load. load is fast
<whitequark> I don't care about load, I load once per build
<whitequark> sigh
<sb0> you can load the artiq runtime over serial, too
<whitequark> anyway, as i've said, i ordered replacement flashes
<whitequark> rev F instead of rev E on board, otherwise identical
<whitequark> it's not exactly rocket science to replace a SO8
<sb0> so you really just need to keep a prebuilt bitstream somewhere and reload it as needed
<whitequark> well, i am working on bios right now
<sb0> mh, why?
<whitequark> libbase also needs to be rebuilt with -fexceptions and -fPIC, since it's linked in kernels as well as BIOS
<whitequark> we could have two different build configurations
<whitequark> but I would rather have one
<whitequark> similarly to building *everything* with llvm, and not half with clang and half with gcc
<whitequark> BIOS builds with clang right now, just not clang -integrated-as
<sb0> open source CPU = breakage everywhere, as said
<whitequark> sure
<sb0> I would be surprised if the DWARF stuff worked
<whitequark> which is why I am actively trying to keep configuration to a minimum
<whitequark> one assembler, one linker, one C compiler, one optimizer, ...
<whitequark> well, the DWARF stuff works now.
<whitequark> it wasn't hard.
<sb0> on the board?
<whitequark> no, I manually verified that the emitted data is correct
<whitequark> it cannot possibly work on board because i cannot upload it on board.
<whitequark> well, you've just told me how to upload it, but i didn't consider that until just now
<whitequark> i would ideally get -integrated-as working too, so that we would only have one single place that emits instructions, instead of clang using binutils and kernel "JIT" using integrated as
<whitequark> but that's not very high priority
<sb0> yes, that would be nice
<sb0> also fewer things to install when deploying ARTIQ development tools
<whitequark> i can't wait until LLD becomes stable so we can ditch binutils entirely
<whitequark> maybe i'll try an OR1K linker after september
<sb0> or lm32, or risc-v ...
<whitequark> speaking of that
<sb0> risc-v has the advantage that it's instruction set is fpu-friendly, unlike lm32
<sb0> *its
<whitequark> I've had a very good look at the OR1K backend
<whitequark> which I still consider quite high quality
<whitequark> I know the plan was to use or1k for comm and lm32 for kernel
<whitequark> how much do you want that? it would be nice if we could upstream just one ISA to LLVM and support it
<whitequark> instead of two
<sb0> it was lm32 for comms and or1k for kernel. and it was a joke :)
<whitequark> I haven't looked at lm32 backend so far but if it's really as low quality as you say it would be a nontrivial effort to bring up
<whitequark> oh.
<sb0> of course we want to deal with only one ISA
<whitequark> well, joke more carefully :p i almost spent a day studying the ISA and backend
<sb0> maybe it'll be 100% LM32 later...
<whitequark> I guess that also works
<whitequark> is LM32 that much better?
<sb0> not *that* much. only slightly compared to the recent mor1kx.
<whitequark> ok, let me take a quick look at the backend then
<whitequark> god almighty
<whitequark> can we stick to OR1K?
<sb0> for now, sure
<whitequark> uhm. fpgaprog does nothing
<whitequark> oh, it just doesn't write anything if not verbose
<whitequark> fpgaprog doesn't seem to work
<whitequark> Uknown Flash Manufacturer (0x00)
<whitequark> Error: SPI Status Register [0x00] mismatch (Wrong device or device not ready)..
<whitequark> I am using it as: ./lin64/fpgaprog -v -b ~/.migen/bscan_spi_lx45_csg324.bit -f ~/Work/artiq-dev/misoc/build/artiq_pipistrello-nist_qc1-pipistrello.bit
<whitequark> oh, wrong bscan_spi
<whitequark> sb0: how do you flash BIOS using fpgaprog?
ylamarre has quit [Quit: ylamarre]
<whitequark> I tried... -a $((0x170000)):artiq-dev/misoc/software/bios/bios.bin
<whitequark> and it says:
<whitequark> Bit file does not fit into Flash memory.
<whitequark> wait, what
<whitequark> (Pages=65536, Page Size=256 bytes, 134217728 bits)
<whitequark> does it use an unsigned short for page amount or what
sb0_ has joined #m-labs
<sb0_> whitequark, fpgaprog -v -f artiq_pipistrello-nist_qc1-pipistrello.bit -a 170000:bios.bin -b XXX/fpgaprog-linux/src/bscan_spi_lx45_csg324.bit -sa -r
sb0_ has quit [Client Quit]
<whitequark> oh
<whitequark> hex
<whitequark> welp, it flashed
<whitequark> so i guess xc3sprog was reading the status register wrong
<sb0> did it interpret the "x" has a hex digit? :)
<whitequark> no, it didn't eat the X, and I assumed it must parse it with itoa or something
<whitequark> and I used bash to convert hex->dec
<whitequark> $((0x...)
<sb0> one nasty property of fpgaprog is you cannot flash a data file without a bitstream
<whitequark> yeah, I figured
<sb0> it also pads the intervals between files with zeros, too
<sb0> which is very stupid
<whitequark> and the code is *also* awful
<whitequark> ok, the gcc-built bios boots
<whitequark> clang-built bios also boots
* whitequark does rm -rf ~/Work/artiq-dev/or1k-gcc
<sb0> whitequark, ok, if you want to scrap or1k-gcc, can you update the artiq install instructions?
<whitequark> sure
<sb0> and travis/conda, I guess
<whitequark> nice
<whitequark> sb0: btw, we can also switch to upstream binutils
<whitequark> they have or1k support
<whitequark> sb0: can you clone llvm-or1k to m-labs/? or should I do a patch again?
<GitHub64> [misoc] whitequark deleted new-py2llvm at d03dabb: http://git.io/vYgeW
<GitHub41> [misoc] whitequark pushed 2 new commits to master: http://git.io/vYgeA
<GitHub41> misoc/master d03dabb whitequark: common.mak: Pass -fexceptions to clang and clang++....
<GitHub41> misoc/master 69c2a70 whitequark: common.mak: use clang/clang++ to compile C/C++ sources....
<GitHub78> [artiq] whitequark pushed 1 new commit to master: http://git.io/vYgvo
<GitHub78> artiq/master e5acdfe whitequark: Update manual install instructions.
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#326 (master - e5acdfe : whitequark): The build has errored.
travis-ci has left #m-labs [#m-labs]
<whitequark> rjo: your Mock thing in sphinx conf.py broke...
<sb0> whitequark, is llvmlite going to find llvm with CMAKE_INSTALL_PREFIX=/usr/local/llvm-or1k ?
<whitequark> sb0: yes if you pass LLVM_CONFIG=... to setup.py
<whitequark> I'll push that doc update in a moment, once sphinx stops dying
<sb0> also, the reason the build is failing is clang: error: unknown argument: '-mhard-mul'
<whitequark> yes, I know
<whitequark> the build does not actually include llvm for or1k
<whitequark> in any way at all
<whitequark> working on that
<GitHub167> [artiq] whitequark pushed 1 new commit to master: http://git.io/vYgfy
<GitHub167> artiq/master 95f7be0 whitequark: Update install instructions to reflect that LLVM is always needed.
<sb0> whitequark, would be better to use clang for or1k and gcc for lm32.
<sb0> in misoc
<whitequark> ok, I will adjust for that
<sb0> at least Florent uses LM32 regularly, on Windows even
<whitequark> sure
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#327 (master - 95f7be0 : whitequark): The build has errored.
travis-ci has left #m-labs [#m-labs]
<GitHub181> [artiq] whitequark pushed 2 new commits to master: http://git.io/vYgUY
<GitHub181> artiq/master cf16da5 whitequark: Add a setuptools command to rsync the documentation.
<GitHub181> artiq/master 163edc0 whitequark: Fix Mock usage in sphinx configuration.
<whitequark> sb0: fixed
<GitHub40> [misoc] whitequark pushed 1 new commit to master: http://git.io/vYgU4
<GitHub40> misoc/master f5cc6fb whitequark: Don't use clang for anything except or1k.
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#328 (master - cf16da5 : whitequark): The build has errored.
travis-ci has left #m-labs [#m-labs]
<whitequark> #include <new>
<whitequark> what the fuck is that even supposed to do.
<whitequark> goddamn c++ people
<larsc> #include <better>
<whitequark> okay, the libunwind people *really* went to the town with C++ features
<whitequark> <new> <memory> <tuple> <algorithm> <vector> and lambdas
<whitequark> all of which are used, like, once
<whitequark> sb0: hang on.
<whitequark> do I understand this correctly: the kernel is running on its own CPU and only talks with the rest of the system via a mailbox?
<sb0> yes
<whitequark> ahhh
<sb0> and shared memory
<whitequark> then we shouldn't build it as PIC, but as a PIE. PIC executable
<whitequark> which would mean that we need to handle, like, one relocation at all
<sb0> it needs to link against ksupport
<whitequark> sure
<whitequark> link ksupport inside
<sb0> that's complicated
<whitequark> hrm
<sb0> then python needs to embed ksupport
<sb0> ksupport depends on the hardware platform you are building for
<sb0> better keep it all in the runtime.
<whitequark> point
<whitequark> ... lolwhat
<whitequark> libunwind has built
<whitequark> all of <memory> <tuple> <algorithm> <vector> are just empty files.
<whitequark> why the *fuck* does it import those, then
<whitequark> I will never understand these people. but whatever, it's ported, done
<GitHub71> [misoc] whitequark pushed 2 new commits to master: http://git.io/vYgRt
<GitHub71> misoc/master eef1aa7 whitequark: Mark abort() as __attribute__((noreturn)).
<GitHub71> misoc/master 10f719a whitequark: Add support for fprintf(stderr, ...).
<GitHub67> [misoc] whitequark pushed 3 new commits to master: http://git.io/vYgE4
<GitHub67> misoc/master 5502cec whitequark: Add basic inttypes.h....
<GitHub67> misoc/master 7a9975a whitequark: Add a stub C++ standard library....
<GitHub67> misoc/master b5048f6 whitequark: Add headers for the dynamic linker interface....
<GitHub172> [misoc] whitequark pushed 3 new commits to master: http://git.io/vYgua
<GitHub172> misoc/master b2710e4 whitequark: Add a stub pthread header....
<GitHub172> misoc/master 24463a1 whitequark: Add a stub getenv() implementation....
<GitHub172> misoc/master f6639c1 whitequark: Add libunwind.
<sb0> why not put all this stuff into artiq instead?
<sb0> or well, most
<sb0> but the unwinder should go to artiq I think
<sb0> dyld/elf.h is redundant with some of the defines in the artiq linker, as you have probably noticed
<whitequark> yes
<whitequark> one moment
<sb0> i'd like to keep misoc as simple as possible. and libunwind, fake pthread support, etc. aren't "simple"
<sb0> since only artiq needs those at the moment, that's where they should go imo
<GitHub192> [misoc] whitequark pushed 1 new commit to master: http://git.io/vYggL
<GitHub192> misoc/master a8cd3b9 whitequark: Remove useless includes pulled in by libunwind....
<whitequark> ok, so the idea was to put the dynamic loader and unwinder in misoc, since they aren't in any way specific to ARTIQ, if only used there
<whitequark> and build them separately from libbase, say as libdyld.a and libunwind.a
<sb0> yes, but if we put every generic lib in misoc, it'll end up monstruous
<whitequark> I can easily imagine other uses for these--you could even load C++ files if you take a libc++ somewhere
<whitequark> I don't think it's "generic"
<whitequark> libunwind ships with the compiler
<whitequark> it's usually libgcc_s/libc++abi
<sb0> why not put zlib, libpng, and libblas in there?
<whitequark> they don't ship with the compiler
<sb0> ok, fair enough
<whitequark> built the BIOS with -fPIC
<whitequark> the result is pretty fascinating
_whitelogger__ has joined #m-labs
stekern_ has joined #m-labs
felix___2 has joined #m-labs
early` has joined #m-labs
mithro has quit [*.net *.split]
stekern has quit [*.net *.split]
early has quit [*.net *.split]
felix_ has quit [*.net *.split]
_whitelogger_ has quit [*.net *.split]
<GitHub42> [artiq] whitequark pushed 1 new commit to master: http://git.io/vYgPJ
<GitHub42> artiq/master db7b2dc whitequark: Add prebuilt or1k-linux binutils and or1k llvm for travis.
<GitHub58> [artiq] whitequark force-pushed master from db7b2dc to d252a00: http://git.io/vYgPK
<GitHub58> artiq/master d252a00 whitequark: Add prebuilt or1k-linux binutils and or1k llvm for travis.
<sb0> whitequark, are you sure you are not opening the serial port twice?
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#330 (master - d252a00 : whitequark): The build has errored.
travis-ci has left #m-labs [#m-labs]
aeris has quit [Quit: en a pas]
<sb0> well, no, it's clearly failing on the board, there are format strings left there
<sb0> and yes, this sort of shit is precisely why I stay away from -fPIC and other fancy toolchain features :-)
<whitequark> in what world -fPIC is fancy?
mithro has joined #m-labs
<sb0> in open source CPU world where nothing works, basically
aeris has joined #m-labs
<whitequark> meh
<sb0> open softcores are nice and portable, but better keep the software simple
<whitequark> I'm more worried about travis
<whitequark> oh right. ubuntu 12.04
<whitequark> can someone do the build according to instructions on that ancient ubuntu? I don't have an image around
<whitequark> well, I suppose after I fix the linker bug above
<whitequark> or code generator. whatever it is that has the bug.
felix___2 is now known as felix_
aeris has quit [Quit: en a pas]
<whitequark> hm, so this works now
<whitequark> wasn't a toolchain bug.
<sb0> what was it?
<whitequark> _GLOBAL_OFFSET_TABLE_ wasn't explicitly defined and I did a static link
<whitequark> so the linker chose a random address from .got and put it there
<whitequark> such behavior. much consistency. very reliable. wow.
<whitequark> anyway, I defined _GLOBAL_OFFSET_TABLE_ and now it finds all the constants correctly
<whitequark> however, CRC doesn't check out, even though it works otherwise
<whitequark> probable cause: string constants are using a gotoff relocation, which is basically using the GOT address as "some" known address inside the sharing object, and calculating the .rodata symbol off it
<whitequark> gotoff relocations are essentially an optimization: you could go from pc every time, but it's twice the instruction count
<sb0> is the _ftext symbol defined correctly at the end of what gets put into the .bin?
<whitequark> let's see
<sb0> er, _edata
<whitequark> 00170000 g .text 00000000 _ftext
<whitequark> 00177bcc g .data 00000000 _edata
<whitequark> oh
<whitequark> ohh, _edata. well, this explains
<whitequark> oh, no, .got is before _edata, so it should work
<whitequark> as an aside, what is _gp and why do you create it?
<whitequark> let me rephrase
<whitequark> is there something that actually uses _gp or is that just a remnant?
<sb0> just a remnant afaik
<whitequark> r16 is used in PLT stubs, but LLVM will generate stores to it itself
<whitequark> and _gp was in the wrong place anyway.
aeris has joined #m-labs
<whitequark> nevermind, I rearranged the sections and now CRC passes.
<whitequark> yay, PIC is working.
<GitHub120> [misoc] whitequark pushed 1 new commit to master: http://git.io/vY2JH
<GitHub120> misoc/master c8ffd0c whitequark: Switch to -fPIC....
<sb0> I guess software/libbase/linker-sdram.ld needs a .got entry as well
<whitequark> oh, yes
<sb0> ditto linker.ld and ksupport.ld in artiq runtime
<GitHub77> [misoc] whitequark pushed 1 new commit to master: http://git.io/vY2T6
<GitHub77> misoc/master 50cf701 whitequark: Update libbase/linker-sdram.ld with -fPIC support.
<GitHub114> [artiq] whitequark pushed 1 new commit to master: http://git.io/vY2Th
<GitHub114> artiq/master 1d9f408 whitequark: Update ldscripts with -fPIC support.
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#331 (master - 1d9f408 : whitequark): The build has errored.
travis-ci has left #m-labs [#m-labs]
<sb0> copenhagen suborbitals looks pretty awesome
mumptai has quit [Ping timeout: 240 seconds]
mumptai has joined #m-labs
<sb0> CRITICAL WARNING: [Netlist 29-53] ISERDESE2 instance 'ISERDESE2_65' has the DATA_RATE attribute set to DDR, but does not use both CLK and CLKB input pins, which is required for DDR mode. This instance will be converted to a black box element.
<sb0> ...of all things to do, convert it to a black box element to ensure obscure error messages later on
<sb0> vivado is still a bother
<sb0> feels like spartan6
tija has joined #m-labs
<GitHub64> [migen] sbourdeauducq pushed 1 new commit to master: http://git.io/vYaT2
<GitHub64> migen/master cc6877d Sebastien Bourdeauducq: fhdl: allow use of ResetSignal() on resetless clock domains
<sb0> rjo, in the TIGs for pipistrello, you are not using "ext_clk=rtio_external_clk"
<sb0> I'm trying this on kc705 right now: http://paste.debian.net/286258/
mali_ has joined #m-labs
travis-ci has joined #m-labs
<travis-ci> m-labs/migen#62 (master - cc6877d : Sebastien Bourdeauducq): The build passed.
travis-ci has left #m-labs [#m-labs]
tija has quit [Quit: Connection closed for inactivity]
mali_ has quit [Quit: Page closed]
<rjo> whitequark: where? those builds failed because of your llvm stuff.
<whitequark> rjo: I already fixed that one
<whitequark> 163edc0
<rjo> ack. LGTM. but i did not check why that would be needed.
<whitequark> mock does getattr on itself
<rjo> sb0: ack. will remove that. not needed to constrain rtio_external_clk because rtio_internal_clk imposes the same constraints.
<rjo> whitequark: but what triggered that?
<GitHub102> [artiq] jordens pushed 1 new commit to master: http://git.io/vYVZr
<GitHub102> artiq/master d65d303 Robert Jordens: pipistrello: remove unused constraint kwarg
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#332 (master - d65d303 : Robert Jordens): The build has errored.
travis-ci has left #m-labs [#m-labs]
<rjo> whitequark: could you reduce the verbosity in unpacking your tarballs? and are you or yann going to make conda packages out of those?
<whitequark> sure, once I get them working
<whitequark> (tarballs)
<rjo> ;)
<whitequark> as for conda, there is currently no conda recipe for llvm at all
<whitequark> hence why I did not update it
<whitequark> and neither binutils
<whitequark> I never used conda but I guess I can figure it out
<whitequark> so, lifehack. if you need binaries built on 12.04 but can't be bothered to install 12.04, get a digitalocean VPS for a hour
<rjo> there is: llvmdev-or1k
<whitequark> er
<whitequark> I meant no conda recipe for linux
<rjo> yann only adapted the stuff from numba (in llvmlite) the recipe would be ~ the same
<rjo> ... as the one for linux in llvmlite
<rjo> the tarballs are fine. just wondering.
<whitequark> hm, should've taken an amazon large instance instead. DO is slow as molasses
<rjo> a chroot is really simple ;)
<whitequark> pft, waiting for debootstrap
<rjo> I vaguely remember hearing words that sounded like "slow as molasses" referring to VPS but I can't figure out where I heard that.
<whitequark> yes, but a VPS does not need my attention while it's building LLVM
<whitequark> whereas debootstrapping ubuntu always involves some obscure hackery to make it run
<rjo> never has for me.