gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.12.1 http://bit.ly/nNVIVH
UncleVasya has quit [Ping timeout: 272 seconds]
cwills has joined #ocaml
osa1 has quit [Quit: Konversation terminated!]
hongboz has joined #ocaml
ulfdoz_ has joined #ocaml
Mnabil has quit [Ping timeout: 272 seconds]
ulfdoz has quit [Ping timeout: 272 seconds]
ulfdoz_ is now known as ulfdoz
sivoais has quit [Ping timeout: 250 seconds]
sivoais has joined #ocaml
emmanuelux has quit [Ping timeout: 250 seconds]
madroach has quit [Ping timeout: 265 seconds]
madroach has joined #ocaml
cwills has quit [Quit: leaving]
rgrinberg has joined #ocaml
<rgrinberg> is there a "lines" function like in haskell in batteries or in the standard lib?
<rgrinberg> or should i write one myself
lusory has quit [Read error: Connection reset by peer]
<rgrinberg> nvm I will just use String.nsplit s ~by:"\n"
<hongboz> did anyone know how to let the ocaml odb.ml to pass --enable-react to lwt?
lusory has joined #ocaml
<rgrinberg> is there an easy functional way to turn a list like [1;0;1;0;0;1;0] into [[1;0];[1;0;0];[1;0]]
<rgrinberg> basically do a split at every 0 -> 1 transition
<rgrinberg> you can assume that no consecutive 1's are allowed
<rgrinberg> also you can assume that the list starts with 1 if you want or just group all the 0's before the first 1 into it's own list
hongboz has quit [Remote host closed the connection]
<thelema> rgrinberg: look at Enum.grou
<thelema> *group
<thelema> although it groups on both directional transfers - [1;0;1;0;0;1;0] -> [[1];[0];[1];[0;0];[1];[0]]
<thelema> but you can merge adjacent groups to get what you want
<thelema> If you really wanted, you could do it in a single pass by using a stateful eq function
wtetzner has quit [Ping timeout: 246 seconds]
<rgrinberg> thelema: thanks, I will write it the simplest possible way for now
wtetzner has joined #ocaml
<rgrinberg> ousado: that counts as short :D
<thelema> not obvious that all the list reversals are correct.
<thelema> one might be able to use Enum.span to do the splitting on ones
<thelema> let rec group e = match Enum.get e with None -> [] | Some h -> let pre, post = Enum.span ((=) 0) e in (h,pre)::(group post)
<thelema> ousado: yes, although this documentation is nicer for me: http://ocaml-batteries-team.github.com/batteries-included/hdoc2/BatEnum.html
<rgrinberg> what's the batteries compose operator? it's taking me too long to google it...
<thelema> ousado: and is up to date for batteries 2.0 beta
<thelema> rgrinberg: can you use |> instead? x |> f |> g |> h
<thelema> rgrinberg: it reads better than compose. If you really want point-free, you can do f |- g |- h, but only for one argument
<rgrinberg> thelema: i like using compose when i do list |> List.filter (f |- not)
<rgrinberg> i do use |> for everything else
<thelema> got it. then |- for pipeline-like compose, or -| for the reverse (not -| f)
<thelema> hcarty: xstrp4 needs its a new version uploaded for 4.00
pango_ has joined #ocaml
pango has quit [Ping timeout: 252 seconds]
cdidd has joined #ocaml
wagle_ has joined #ocaml
olasd_ has joined #ocaml
olasd_ has quit [Changing host]
olasd_ has joined #ocaml
iZsh has quit [Ping timeout: 260 seconds]
olasd has quit [Ping timeout: 260 seconds]
wagle has quit [Ping timeout: 260 seconds]
iZsh has joined #ocaml
cdidd has quit [Remote host closed the connection]
<rgrinberg> how to join paths in ocaml?
eni has joined #ocaml
eni has quit [Ping timeout: 246 seconds]
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
edwin has joined #ocaml
mort___ has joined #ocaml
wagle_ is now known as wagle
<adrien> rgrinberg: Filename.concat?
<rgrinberg> adrien: thanks
edwin has left #ocaml []
cdidd has joined #ocaml
mort___ has quit [Quit: Leaving.]
eni has joined #ocaml
UncleVasya has joined #ocaml
cdidd has quit [Read error: Connection reset by peer]
Mnabil has joined #ocaml
sepp2k has joined #ocaml
sepp2k has quit [Ping timeout: 246 seconds]
Anarchos has joined #ocaml
sepp2k has joined #ocaml
Drakken_ has quit [Ping timeout: 248 seconds]
UncleVasya has quit [Quit: UncleVasya]
edwin has joined #ocaml
Drakken_ has joined #ocaml
edwin has quit [Ping timeout: 246 seconds]
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
emmanuelux has joined #ocaml
eni has quit [Ping timeout: 246 seconds]
BiDOrD has joined #ocaml
BiDOrD_ has quit [Ping timeout: 246 seconds]
avsm has joined #ocaml
hongboz has joined #ocaml
edwin has joined #ocaml
edwin has quit [Ping timeout: 246 seconds]
emmanuelux has quit [Ping timeout: 246 seconds]
cdidd has joined #ocaml
Yoric has joined #ocaml
edwin has joined #ocaml
<rwmjones> avsm: 'noon ... $200 to go to OUD?
edwin has quit [Ping timeout: 272 seconds]
hongboz has quit [Ping timeout: 250 seconds]
mort___ has joined #ocaml
<adrien> rwmjones: you mean, transport?
<rwmjones> I mean entry
edwin has joined #ocaml
<adrien> ah, it hurts
edwin has quit [Read error: Operation timed out]
eni has joined #ocaml
edwin has joined #ocaml
edwin has left #ocaml []
netrino has joined #ocaml
ygrek has joined #ocaml
mort___ has quit [Quit: Leaving.]
ygrek has quit [Quit: Leaving]
edwin1 has joined #ocaml
edwin has joined #ocaml
edwin1 has quit [Ping timeout: 246 seconds]
olasd_ is now known as olasd
willb has quit [Ping timeout: 246 seconds]
willb has joined #ocaml
emmanuelux has joined #ocaml
fraggle_ has quit [Remote host closed the connection]
pango_ is now known as pango
eni has quit [Ping timeout: 246 seconds]
avsm has quit [Quit: Leaving.]
mort___ has joined #ocaml
fraggle_ has joined #ocaml
K_F has quit [Ping timeout: 240 seconds]
edwin has quit [Ping timeout: 246 seconds]
K_F has joined #ocaml
mort___ has quit [Quit: Leaving.]
<fasta> "Once completed, we believe HLVM will become the defacto-standard VM for high performance interactive technical computing on the Linux and Mac OS X platforms." <-> Once pigs fly, ... ?
rgrinberg has quit [Ping timeout: 246 seconds]
emmanuelux has quit [Ping timeout: 264 seconds]
Progster has joined #ocaml
eikke has quit [Ping timeout: 272 seconds]
Mnabil has quit [Ping timeout: 244 seconds]
iago has joined #ocaml
avsm has joined #ocaml
<avsm> rwmjones: ACM prices :( we lowered it as far as possible with sponsors, but we do get all the surrounding conference facilities in return
<avsm> rwmjones: all the workshops have the same price too, so we also subsidise student attendance where possible
<flux> what's a nice monad syntax extension for ocaml, other than the lwt one that's hardwired to lwt?
<flux> (although module Lwt = MyMonad works, but..)
<adrien> isn't there a pa_monad by gasche?
<flux> ah, may very well be but it's not in debian :)
<flux> wonder if it's up-to-date
<flux> the page I found has been updated at 2008
<flux> hm, probably not the same pa_monad..
avsm has quit [Quit: Leaving.]
orbitz has quit [Ping timeout: 248 seconds]
jlouis has quit [Ping timeout: 265 seconds]
jlouis has joined #ocaml
orbitz has joined #ocaml
<hcarty> thelema: Thanks for the notice. I just uploaded, tested, and promoted a new xstrp4 release
eni has joined #ocaml
<thelema> hcarty: awesome; hopefully bob will be happy.
<thelema> 2.0alpha6?
<thelema> I can happily report a successful install with odb under brewed 4.00
<hcarty> thelema: Yep. Rock on.
<hcarty> Thanks for testing
<thelema> n/p, thanks for the quick release
<thelema> I wonder how practical it would be to set up auto-testing for oasis-db packages...
gnuvince has quit [Ping timeout: 246 seconds]
UncleVasya has joined #ocaml
<hcarty> thelema: It would certainly be useful. It's another nifty feature that would be nice to steal from CPAN
<hcarty> .
Mnabil has joined #ocaml
<thelema> how to do this... hmm...
<hcarty> thelema: A wrapper around odb.ml could be a start. Or an "odb-thick.ml" which uses ocamlgraph to generate a topological sorting of the available packages.
<thelema> Actually, step 1 is to have oasis-db report dependencies for test step so that we can run the test step of packages
<thelema> s/test step/self-tests/
pango is now known as pangoafk
<hcarty> True. Having tests beyond "does it build and install" would be quite helpful :-)
<thelema> hcarty: don't need ocamlgraph to do a topo-sorting of packages.
<hcarty> thelema: I'm just thinking from a simplicity of code perspective. But removing a dependency doesn't hurt.
<thelema> hcarty: I think I can write a toposort on top of the current property-list structure in just a few lines of code
<thelema> and to prove it to myself, I'm going to do so now.
<hcarty> I expect that's not a bad thing to have in general for odb
Anarchos has joined #ocaml
<thelema> hcarty: it's been on the todo list for a while, and someone was working on it; dsheets, maybe
<thelema> but it's taking a long time.
netrino has quit [Quit: Ave!]
Cyanure has joined #ocaml
gnuvince has joined #ocaml
UncleVasya has quit [Read error: Connection reset by peer]
<fasta> What kind of information is in compiled files in Ocaml4 exactly? Is that documented somewhere?
<adrien> why "4"?
<fasta> E.g. OCamlSpotter can use information from it.
<fasta> adrien: because 3 doesn't have it.
<thelema> fasta: you mean the -bin-annot files?
<hcarty> fasta: Do you mean compiler libraries?
<fasta> thelema: for example.
<fasta> thelema: but also referring to things I might not know about.
<flux> fasta, I don't know about the new files, but the old files had information enough to determine the type of any expression in the source file
<fasta> I am thinking of things like 'the following symbols are in that file and they have the following types'.
<fasta> flux: then why did nobody make use of that?
<adrien> lexifi.com/blog
<flux> fasta, sure they did, emacs 'give type of this expression' used that
<hcarty> fasta: They did
<thelema> fasta: so you want file format of all files produced by ocaml compiler?
<fasta> thelema: only of things useful for building an IDE, I suppose.
<adrien> lexifi.com/blog
<fasta> E.g. for Haskell there's the GHC API.
<adrien> well, 404
<flux> does batteries still support 3.11.2?
<thelema> flux: no
<flux> I suppose I'll find some more modern distribution for raspberry then. and it's quite annoying to cross-compile..
<thelema> flux: ocamlbrew?
<flux> thanks for reminding, I'll try that
<thelema> wait, cross-compile? you're trying to use an ocaml binary on raspberry pi?
<thelema> compiled from another box?
<flux> I want to have an program written in ocaml to run on rpi
<flux> the easiest way probably is to have the compliation environment on rpi
<flux> but it's not very fast..
<thelema> flux: if you use batteries 2.0 (beta), you should just be able to copy the executable over.
<thelema> oh, arm, n/m
<thelema> yes, brew ocaml on the pi
<fasta> adrien: I don't see how that is relevant, since it's not the normal OCaml distribution.
<hcarty> That's what I was going to suggest :-) I'd be happy to hear if ocamlbrew works on a raspberry pi.
<adrien> check the date, check the current SVN
<adrien> and read more
<hcarty> fasta: There are compiler libraries installed. If you search on the mailing list you'll find links to some basic documentation, along with warnings that the provided libraries are likely to change over the next few releases.
<hcarty> fasta: My expectation is that there won't be much documentation available until the module interfaces become more stable.
pangoafk has quit [Remote host closed the connection]
Anarchos has quit [Ping timeout: 264 seconds]
<flux> ocamlbrew doing its magic.. this may take a while :)
<hcarty> flux: Talk to you in a day or two :-)
<flux> I don't think it's quite that slow, though :)
mal``` has joined #ocaml
ousado_ has joined #ocaml
dnm_ has joined #ocaml
mal`` has quit [Ping timeout: 245 seconds]
ousado has quit [Remote host closed the connection]
dnm has quit [Remote host closed the connection]
noj has quit [Ping timeout: 245 seconds]
noj has joined #ocaml
Anarchos has joined #ocaml
rwmjones is now known as rwmjones_away_ti
rwmjones_away_ti is now known as rwmjones_afk2wed
danil has joined #ocaml
Cyanure has quit [Ping timeout: 250 seconds]
Cyanure has joined #ocaml
<hcarty> thelema: I've sent pull requests with patches to uint and the zeromq bindings which should make them odb-able under OCaml 4.x. I'll try to get ocamlnet updated as well if I have time this week.
<thelema> awesome. ocamlnet is an important package to have in oasis-db
hnrgrgr has quit [Ping timeout: 248 seconds]
<Anarchos> what is ocamlnet ?
<thelema> Anarchos: a package that should be split into many smaller packages, providing various internet services
<Anarchos> thelema thanks.
<thelema> hmm:
<thelema> Ocamlnet is an enhanced system platform library for Ocaml.
<hcarty> Anarchos: And shell support and a few other items.
<Anarchos> hcarty it remebers when i embedded the ocaml toplevel in a graphical gui. I had pain to do that correctly.
<fasta> How does ocamlnet compare to true shared memory performance like you would get in e.g. Haskell?
<thelema> fasta: depends on the application.
<fasta> From my reading there was no GC support, so basically you would just get access to a blob to which you can write to memory.
<flux> I would imagine well, but AFAIK there are restrictions and it's less safe
<thelema> it's less safe than the rest of ocaml, but you can still pass typed values between processes
<fasta> thelema: take the worst case.
danil has quit [Ping timeout: 244 seconds]
<fasta> thelema: it seems that something like JoCaml could use this as a backend.
<thelema> probably could.
<adrien> time for a pavlov test =)
<adrien> yypkg, windows, package manager, > 40 packages so far, cross-compilation
<adrien> reactions?
<thelema> # uses 256MB of memory during decompression <- curious comment
<adrien> thelema: how so?
<adrien> (thanks for having taken a look ;-) )
<thelema> adrien: it's odd to have such a high memory requirement ... ah, it's an .xz file
<thelema> I missed that.
<fasta> adrien: 1) because everyone already has that 2) can't you lower in some way?
<thelema> does tar xf foo.xz really work?
<fasta> thelema: with new versions and if you have some tools installed, I think so.
<fasta> I think calling tar is obsolete.
<adrien> unless you're on something ancient, yes; but I'm going to check
<thelema> ah, I didn't realize it did auto-detection...
<fasta> There are front ends which handle much more file formats.
<adrien> xz auto-detection isn't _that_ old
<adrien> especially in debian
<fasta> (which are also Debianized)
<thelema> if your final table is to be believed, you probably don't need dict=256mM
<adrien> ok, I'll put the 32MB one ;-)
<adrien> it was nice to be below the 100MB threshold however
ousado_ is now known as ousado
ousado has quit [Changing host]
ousado has joined #ocaml
<thelema> # Extracting with root permissions is required to preserver file permissions
<thelema> *preserve
<adrien> fixed, thanks
<thelema> adrien: you start off with saying at a very high level what it does, but you should probably include a "beginning-to-end" example showing how to get something useful out of yypkg. I assume it can download and install ocaml, batteries, and then a simple program can be compiled.
<thelema> (you can pick some other library than batteries, if you think that will run a better example)
<fasta> I think it's better to not explain anything and instead just write a script/command which people can execute after which some test works and otherwise they can complain to you.
<adrien> well, for ocaml, currently, I'm a bit stuck by the lack of a cross-compiler
Cyanure has quit [Remote host closed the connection]
<fasta> adrien: there are VMs for that.
<thelema> as is, the most important part of the manual, for me as a beginner, is section 3, and the meat of that, 3.3 says "see yypkg -help", which is terrible
<adrien> fasta: that's what "the straightest dope" is; it's a bit annoying however since it requires running something as root
<fasta> adrien: there are lots of ways to fake root.
<adrien> fasta: it's way slower on windows, not matter what you try
<fasta> adrien: why doesn't that work for you in this case?
<adrien> fasta: it's not about faking root: it is going to install setuid-root binaries and it's going to call chroot()
<fasta> adrien: why do they need to be suid?
eni has quit [Ping timeout: 240 seconds]
<adrien> thelema: oops, forgot to add the link to: http://yypkg.forge.ocamlcore.org/tutorial/yypkg-tutorial/tutorial.html
<adrien> fasta: it's part of the system that is installed; you can probably skip some bits for the extraction part but you'll end up with a bastardized system which is not guaranteed to run properly; and anyway, you _need_ it for chroot
<thelema> I thought you removed the sexplib dep?
<adrien> thelema: sexplib's camlp4 extension, not sexplib itself
<adrien> I have to add a note that the GUI is "off" right now (it'll be back soon)
<fasta> adrien: I think a description as to why someone would want this is also nice.
<adrien> (actually, it's not off but I don't want to say it's usable because I don't have time to properly test it)
<thelema> adrien: how is this supposed to bootstrap? binary distribution? use brew + ocaml to install yypkg?
<adrien> fasta: hmmm, "FOSS software on windows, without the pain"?
<adrien> thelema: currently, by hand; and cross-compilation soon I hope
<thelema> adrien: i.e. binary distribution?
<fasta> adrien: This software provides after installation a build environment consisting of native programs in which FOSS with reasonable assumptions (e.g. autoconf based) compiles out of the box.
<fasta> adrien: I would write it a bit longer to make it absolutely clear what the point is of the project.
<adrien> thelema: well, yes, but build scripts are available too; they're short and simple
<fasta> adrien: I might then have a reference to a comparison for those who care about that like you already have.
<adrien> fasta: ok; and for a very-short summary (news headline), is the one I mentionned good enough to make you want to know more?
<fasta> adrien: depends on the medium.
<fasta> adrien: I tend to take the less fluffy announcements more serious.
<adrien> ok, thanks; finding titles is always pretty hard
<fasta> adrien: "One command installation of build environment for Win32/7/x"
<fasta> adrien: something like that?
<fasta> adrien: you would only need to add a && then
<fasta> Or rather two :)
<fasta> Er three
<fasta> adrien: to make it more robust, you could make a script which can use either of curl or wget.
<fasta> adrien: perhaps you might also want to say how you relate to the rest of the universe.
<fasta> adrien: i.e., you use the name 'Mingw', but are you related to that project or are you just a lone hacker who hacked up something cool?
<fasta> adrien: well, you do say something about that.
<adrien> that is written somewhere but it's buried pretty deeply
<fasta> adrien: perhaps some test suite would be nice too.
<fasta> adrien: 'after installation you can check that everything works by doing X'.
<thelema> The point is to setup cross-compile build environments, yes?
<adrien> that's a longer-term goal but currently it's too much work unfortunately
<adrien> thelema: yes
<adrien> and most files will be usable for native builds too
<thelema> adrien: where does it say that?
<thelema> adrien: where does it say that it's designed to setup cc-build envs?
<thelema> *c/c
<thelema> hmm, is there a short version of cross-compile? c-c?
<fasta> adrien: it also doesn't list the dependencies anywhere.
<thelema> fasta: first thing in the walkthrough
<thelema> s/walkthrough/tutorial/
<fasta> thelema: don't see it
<adrien> I expect that very few people are going to build yypkg in this context
<fasta> thelema: dependenc not found
<thelema> section 1.1: sependencies
<thelema> *dependencies
<fasta> thelema: I was looking here http://notk.org/~adrien/doc.html
<fasta> thelema: the name 'doc' kind of suggests that's the documentation.
<fasta> thelema: why are there two things claiming to be 'documentation'?
<fasta> In general 'tutorials' only exist because the documentation stinks.
* Anarchos wonders if fasta is so fast to be rude in real life too....
<adrien> there's yypkg, and yypkg-packages (for windows)
<ousado> fasta: so someone can whine about it
<fasta> Or they are made by uninformed people (see Haskell monad tutorials).
<adrien> well, I've seen way worse comments when it comes to documentation
<adrien> plus I prefer to be ready
<fasta> Anarchos: where was I rude?
<fasta> Anarchos: also, I am trying to help adrien.
<fasta> adrien: if you don't want my advice, that's fine too, since in particular I have no interest in the project right now, but perhaps in a few years time again.
<Anarchos> fasta you are always making definitive sentences..
<fasta> Anarchos: sure, that's because I have made up my mind and I am also qualified to do that.
<fasta> Anarchos: in real life, there are many uncertainties.
<adrien> fasta: no, I want it :P
<fasta> Anarchos: it's easy to take a piece of software and decide what can be improved/what is shit about it.
<adrien> I meant that I prefer harsh comments now to people not reading later on
<Anarchos> fasta must be a NP problem : easy to verify, not easy to do ;)
<fasta> Anarchos: software creation is Omega(10 years or so)
<fasta> adrien: what is the page you will be linking to?
<fasta> adrien: and in what context?
<fasta> adrien: because your current page is optimized to be 'boring', there is no time put into some appealing design.
<fasta> adrien: not that this is very important, but it's something people will notice immediately.
<fasta> adrien: you also might want to use some extra quotes.
<fasta> adrien: YYPREFIX=/opt/cross_toolchain_${bits} is technically wrong
<fasta> adrien: well, it's likely to only ever be 32 and 64.
<fasta> adrien: never mind.
<adrien> well, bits=32 or bits=64
<adrien> others cannot be created
<fasta> adrien: have you tested your own instructions in a VM?
<fasta> adrien: on a clean system?
<adrien> as for the design, yeah, it's not very good but I'm too tired to do something beautiful right now
<fasta> adrien: otherwise, assuming the software works it seems more than good enough.
<adrien> not on a clean system but it chroots very very quickly: it doesn't do much with the host tools
<adrien> thanks, I have a pretty long scrollback of things to improve already :-)
<fasta> adrien: sudo tar xf host_system_rc1.tar.xz --transform='s/system_rc1/system/'
<fasta> adrien: what's up with the quotes there?
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
<fasta> adrien: I don't think you will need them there.
<fasta> adrien: perhaps you also might want to add gpg signatures, etc.
<adrien> it'a a habit when dealing with sed expressions :-)
<fasta> adrien: or https
<adrien> signatures is planned too in the not-so distant future but right now, noone has my keys anyway :-)
<adrien> food-time, be back soon
<fasta> adrien: your last two tar commands can be turned into one
<fasta> Or at least, I think so and other wise via a simple one line for loop.
<fasta> otherwise*
<fasta> preserver file permissions
<fasta> Spelling problem there
<fasta> adrien: ^^
<fasta> In fact, requiring more than one 'sudo' is sort of useless.
<fasta> Is there also a way to cross-compile from Linux x86-64 to Windows easily?
Drakken_ has quit [Ping timeout: 240 seconds]
Drakken_ has joined #ocaml
eikke has joined #ocaml
hnrgrgr has joined #ocaml
<adrien> the sudo are also there to indicate what needs root permissions
<adrien> hmmm, well, I'm cross-compiling from linux64 to windows :P
UncleVasya has joined #ocaml
<flux> hcarty, now it has compiled and installed ocaml...
<flux> hcarty, so maybe you're right about those day/two, batteries will probably take quite a while :)
<thelema> flux: camomile takes about as long to compile/install as batteries
<fasta> adrien: how do you do that?
<adrien> fasta: for C? or for OCaml?
<fasta> adrien: I'd be interested in both. I think for C there are Debian packages that do it, but whether they work?
<adrien> for C, cross-compilers are pretty easy to get
<adrien> packages, not so much; that's what I'm doing
<adrien> for OCaml, debian has a patched ocaml since there is no upstream support for cross-compilation yet
<fasta> adrien: so the cross compilers set all kinds of symbols like WIN32 or whatever such that all the right preprocessor stuff is expanded and you get a windows specific executable out of it, i.e. not ELF, etc.
<adrien> #define _WIN32, but for cross-compilers you get a whole new set of binaries: new compiler, new linker
<fasta> adrien: yeah, sure. I have used them, but I thought the quality was a bit low at the time.
<adrien> fasta: mingw-w64 is very good, with a good community, leadership, everything
<adrien> unlike mingw.org
<adrien> so quality has varied a lot over time
<fasta> adrien: I find it hard to see with such systems where they wrong by their name.
<fasta> adrien: this likely runs on Windows.
<fasta> adrien: but there are host-target and one other environment triples.
cdidd has quit [Read error: Connection reset by peer]
<adrien> cross-compilation with i686-w64-mingw32 and x86_64-w64-mingw32 (mingw-w64 for both) is fully supported; what is always less sure is specific packages
<flux> hcarty, darn, failed
<flux> while installing camomile
<flux> ocamlfind install camomile $files META camomileLibrary.mli camomileLibraryDefault.mli camomileLibraryDyn.mli camomileLibrary.cmi camomileLibraryDefault.cmi camomileLibraryDyn.cmi
<flux> /bin/sh: ocamlfind: not found
<thelema> ?? really? That's quite odd.
<flux> possibly it doesn't set some path during installing camomile?
<thelema> is ocamlfind in the ocaml bin dir?
<flux> yes
<flux> what's the easiest way to continue without redoing everything?
<thelema> then how could it find ocaml to compile but not ocamlfind...
<thelema> flux: by hand, I think.
<flux> possibly it first compiles camomile (path properly set), then installs camomile (path improperly set)
<thelema> it's odb doing the install... it runs both compile and install commands ... unless you're using --sudo
<thelema> they're in the same environment
<flux> I set the path, make install-with-ocamlfind worked now fine
<flux> I'm not doing sudo, I don't know what ocamlbrew does
<flux> I'm root, though
<thelema> hmm, I should check if that matters
<thelema> I try to work as both regular users and root
<thelema> including a bit of code to auto-detect root
<thelema> well, my sudo flag is turned on by default if you're root...
<flux> so, camomile is now installed, can I have ocamlbrew install only batteries?
<thelema> so maybe you're right that it is running in a different environment
<thelema> you can just do odb batteries to install batteries
<thelema> err, odb.ml batteries
<flux> ok, nice, seems to start fine
<thelema> (I have odb.ml symlinked to odb)
<flux> sudo or something seems very likely to be the problem
<flux> I have ocamlfind in path and still odb failed
<flux> actually hmm
<flux> something failed before that
<flux> it tried to detect camomile but failed because it cannot find ocamlfind
<flux> and traditionally adjusting the sudo path is extremely annoying, I think debian disabled that feature at some point..
<thelema> I see...
<thelema> I need to fix odb to not sudo when root.
<flux> I'm not trying with --have-perms
<flux> how about ability to tell how to sudo?
<thelema> flux: how about not actually sudoing when root
<flux> well, that's ok, but does it work when actually needing to use sudo?
<flux> maybe you need to use sudo like sudo env PATH=... make install
<thelema> no, odb doesn't think about path
tchell has quit [Ping timeout: 246 seconds]
<thelema> and probably shouldn't
<flux> can it tell packages it installs where ocamlfind is?
<thelema> actually, --have-perms should work for disabling sudo
<thelema> but I can remove the need for this still.
<thelema> n/m, doesn't suffice
<flux> hmm, indeed, it didn't suffice
<flux> but I can always go to to the directory and 'make install' manually
<flux> but now I have ocaml w/ batteries on rpi, whee
<flux> and the time is 00:00..
<thelema> I'll fix this when I push next
fraggle_ has quit [Ping timeout: 272 seconds]
Yoric has quit [Ping timeout: 246 seconds]
<thelema> I'm in the process of big rewrite to odb
_habnabit has quit [Excess Flood]
tchell has joined #ocaml
wmeyer has joined #ocaml
_habnabit has joined #ocaml
<wmeyer> just got AC100 :-)
<wmeyer> so I might start to develop on ARM
_habnabit has quit [Excess Flood]
_habnabit has joined #ocaml
<hcarty> flux: I'm glad it worked at least part of the way!
<hcarty> thelema: What does the rewrite entail?
<thelema> good to have it tested as root; there's some subtle bugs possible using sudo as root (and not as root, although I can't fix that)
<hcarty> s/entail/include/
<thelema> the rewrite will have odb compute all the dependencies up front before installing anything
_habnabit has quit [Excess Flood]
eikke has quit [Ping timeout: 246 seconds]
<wmeyer> thelema: I wish I had time to put some effort to make this working with odb
osa1 has joined #ocaml
<thelema> wmeyer: no worries, I'm doing it now.
<wmeyer> thelema: If you need some hand with testing, let me know when to pull.
<thelema> sure, that'll be useful
Yoric has joined #ocaml
<wmeyer> is on separate branch?
<thelema> it should be; I've just been committing locally... one sec...
_habnabit has joined #ocaml
_habnabit has quit [Read error: Operation timed out]
<flux> hcarty, not sure what wen't wrong, but it turns out my binaries want to have /usr/local/share/camomile/database/general_category.mar even though I installed it to /opt/ocaml..
_habnabit has joined #ocaml
_habnabit has quit [Excess Flood]
<flux> whee, finally My App is running, but not working :)
_habnabit has joined #ocaml
UncleVasya has quit [Quit: UncleVasya]
<thelema> :( maybe try `odb --unstable batteries`
<flux> well, I resolved it my copying them in there, works for me..
<flux> (s/my/by/)
<thelema> this will install batteries 2.0 beta
<thelema> which doesn't depend on camomile
<thelema> there's some incompatibilities, so if you're writing a big program...
<thelema> but it's largely the same library
Yoric has quit [Ping timeout: 246 seconds]
<thelema> ah, yes more bugs in odb related to root. apparently the camomile configure didn't get run with --prefix
<thelema> this will be fixed shortly
tchell has quit [Ping timeout: 246 seconds]
tchell has joined #ocaml
<wmeyer> booking fly tickets to Copenhagen
<wmeyer> thelema: did you push; I can't see anything on the github
<thelema> not yet - still doesn't compile
<thelema> making lots of changes
<wmeyer> yes, ok
eni has joined #ocaml
<wmeyer> i am in UK so don't rush because I might go to bed soon, and try tomorrow :-)
<hcarty> flux: Thanks for the test and report. It sounds like you and thelema are working through it well. If there's anything I can do on the ocamlbrew side please let me know.
<wmeyer> thelema: I might test Batteries on ARM soon :-)
<thelema> wmeyer: great. I think flux is doing the same thing, using it on rpi
<thelema> I'm about to remove --configure-flags-global from odb unless someone can convince me that it's actually useful to have configure flags that apply to all listed packages but not deps
sepp2k has quit [Remote host closed the connection]
<wmeyer> thelema: FWIW: I see only two useful ways of specyfing configure flags, either on a single package basis or for whole lot that is being installed. The second option applies usually only applies to prefixes
fraggle_ has joined #ocaml
eni has quit [Ping timeout: 246 seconds]
<thelema> at the moment, odb supports --configure-flags and --configure-flags-global, which, in the case of installing a single package, correspond to your two ways
<thelema> I think I may leave this issue alone for the moment, although I'd like to simplify the dataflow in the code a bit
<thelema> they both have their uses.
<thelema> I guess.
Progster has quit []
gnuvince has quit [Ping timeout: 246 seconds]
Mnabil has quit [Ping timeout: 246 seconds]
pango has joined #ocaml
<thelema> wmeyer: precomp branch to odb pushed, please test
osa1 has quit [Ping timeout: 264 seconds]