<small-wolf>
because I'm in a vm and didn't bother to make a nonroot user
<Drup>
I see, ok.
struktured has joined #ocaml
<Drup>
the message say it's *usually* m4, but it doesn't seem to be m4 this time.
<Drup>
the weird thing is that I don't see any explicit failure
<Drup>
duh;
<Drup>
/nix/store/b8qhjrwf8sf9ggkjxqqav7f1m6w83bh0-binutils-2.23.1/bin/ld: cannot find -lncurses c
<Drup>
install ncurse ? :/
<small-wolf>
I tried installing the ncurses package
<small-wolf>
after seeing that message
<small-wolf>
it did not fix the problem
<Drup>
same error ?
* small-wolf
nods
<Drup>
(I'm not even sure why findlib needs ncurse ...)
<small-wolf>
the nix people are really militant about what counts as a dependency
<Drup>
oh, I got it, it's because ocaml's top level need it, and topfind interfaces with that
<Drup>
small-wolf: hum, the nix patches are probably related to that.
<Drup>
so, hum, I see two things that could work
<small-wolf>
I just nixos-rebuilt and the environment variable in the patch
<Drup>
1) try to switch to an opam managed compiler and see if it solves things
<small-wolf>
is not set
<small-wolf>
what is an opam managed compiler? I'm new to this
<Drup>
"opam switch 4.02.1"
<Drup>
then opam will build a compiler itself and manages it, instead of using the one provided by the system
<Drup>
(it will also be more recent)
<Drup>
the other solution, which is not exclusive
<Drup>
is to use "opam source" to get the source of ocamlfind
<Drup>
apply the patch
<Drup>
then use "opam pin" to specify this modified source as content of the package
<small-wolf>
just like apt pinning?
<Drup>
I didn't knew apt had pinning
<Drup>
is it new ?
<Drup>
I didn't when I was under ubuntu, but that was several years ago
<small-wolf>
I don't know how recent the change is
<Drup>
I just read about it
ontologiae has joined #ocaml
<Drup>
it's similar, but it's only per-package and there is not the same priority system (at least not at this level)
badkins has quit []
<Drup>
and you can pin local versions
<small-wolf>
so how does opam's pinning work?
<Drup>
opam pin add <package> <path/to/files>
<Drup>
(path can also be a local path or url to a tarball or a git repository or ..)
<small-wolf>
oh I see
<small-wolf>
you don't set priority of different sources (and don't have a preferences file like for apt), you have the option of making an arbitrary package have priority over the default one, on a per-package basis
ontologiae has quit [Ping timeout: 276 seconds]
<Drup>
priority over different sources is settled by opam repository, which will be the subject of another lesson. :3
<small-wolf>
I successfully built ocaml 4.02.1
<Drup>
and did the eval thingy
<small-wolf>
yes I just did that
<small-wolf>
now I'm trying to install ocamlfind using opam, let's see if it works
<small-wolf>
wow. that fixed the problem completely
swgillespie has quit [Read error: Connection reset by peer]
<Drup>
:opam magic:
<small-wolf>
this kind of defeats the purpose of using a purely functional package manager, but I'll take it.
<Drup>
since opam handles all the installation, it's not installed in some specific nix prefix which ocamlfind screw up
antkong_ has quit [Quit: antkong_]
<small-wolf>
are there opam sandboxes?
<Drup>
not really
<small-wolf>
a la cabal sandbox/virtualenv
<Drup>
but you can use alias switches for mostly the same purpose
<Drup>
an alias switch is something with it's complete own toolchain, with a different name but using some specified compiler
<Drup>
its*
<Drup>
and you can use different switches at the same time.
swgillespie has joined #ocaml
<Drup>
it's not as transparent than sandboxes but I personally prefer it
<small-wolf>
Hmm... what are your thoughts on Pervasives + Batteries vs Core?
<Drup>
I personally don't like Core, but that's mostly a matter of preferences.
<small-wolf>
AUGH. I got some ridiculous invalid pointer error when trying to run utop
<Drup>
outch :O
<Drup>
same when default ocaml ?
<small-wolf>
pardon?
<small-wolf>
no, originally utop didn't get an invalid pointer error
<nojb>
hopefully you will see something under the section "UNIKERNEL PARAMETERS"
dav has quit [Ping timeout: 264 seconds]
<Drup>
ok, the keys can be defined both in config.ml and in a CONFIGURABLE signature, right.
<Drup>
that's the piece I was missing. :)
<nojb>
right, each CONFIGURABLE defines which keys it uses
<nojb>
in config.ml you can define user-defined keys that can later be referenced from inside the unikernel
nojb has quit [Quit: nojb]
<Drup>
why instead of trying to put a piece of configuration in each end result module, didn't you tried to synthesize a/several module(s) and functorize things over it.
<Drup>
you are already synthesizing a module for custom bootvars, but not for the rest, it seems
<Drup>
As I understand it, that could kinda solve the "multiple-device" issue.
mort___ has joined #ocaml
<Drup>
(am I making sense ? :D)
tane has quit [Quit: Verlassend]
Hannibal_Smith has quit [Quit: Leaving]
avsm has quit [Quit: Leaving.]
shinnya has quit [Ping timeout: 245 seconds]
small-wolf has joined #ocaml
avsm has joined #ocaml
nojb has joined #ocaml
Guest17234 has joined #ocaml
dav_ has quit [Ping timeout: 272 seconds]
<nojb>
Drup: ping - sorry had to leave for a moment
<nojb>
15:28 <Drup> why instead of trying to put a piece of configuration in each end result module, didn't you tried to synthesize a/several module(s) and functorize things over it.
<nojb>
15:29 <Drup> you are already synthesizing a module for custom bootvars, but not for the rest, it seems
<nojb>
15:31 <Drup> As I understand it, that could kinda solve the "multiple-device" issue.
<nojb>
15:35 <Drup> (am I making sense ? :D)
small-wolf has quit [Ping timeout: 276 seconds]
<Drup>
yep, that's all of it
<nojb>
I am not sure if I understand your suggestion ... ?
<nojb>
what would I be synthetizing for each CONFIGURABLE ?
cmtptr has quit [Quit: leaving]
cmtptr has joined #ocaml
<Drup>
not for each, only for some. You would add an argument to the corresponding functor implementation and synthetize said module argument.
<nojb>
ah yes I understand
<Drup>
it means that each functor can have a different arguement (like, 2 IP stacks)
<Drup>
it also means that if you implement something in term of another functor, it will naturally "inherit" the arguments
mcclurmc has joined #ocaml
<Drup>
(note that I'm not yet very familiar with mirage, so I could miss something obvious that makes this a bad idea :p)
<nojb>
one sec - I need to check something
hellome has joined #ocaml
araujo has quit [Quit: Leaving]
matason has quit [Quit: Later!]
<nojb>
It is an interesting idea - one downside is that it requires that all the libraries implementing the different CONFIGURABLEs be made aware of this extra "configuration" argument - a lot of code needs to be touched
mcclurmc_ has quit [Ping timeout: 252 seconds]
<nojb>
the current approach only touches the mirage tool
ntaylor has joined #ocaml
matason has joined #ocaml
mcclurmc has quit [Ping timeout: 240 seconds]
<Drup>
well, not necesseray
<nojb>
the "multiple-device" issue is actually easy to solve by giving names to the different devices used in your config.ml - more serious is the fact that it is hard to map all configuration choices to a command-line string
<nojb>
what do you mean ?
<Drup>
the mirage tool could apply the functor for you
<nojb>
yes that's true but still all the libraries would have to be adapted
<nojb>
but perhaps it is a good idea - right now the configuration parameters of each library are passed as function arguments - it would be interesting to experiment with passing them with a functor arguments as per your suggestion
hellome has quit [Read error: Connection reset by peer]
hellome has joined #ocaml
ontologiae has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
ontologiae has quit [Ping timeout: 250 seconds]
mort___ has quit [Quit: Leaving.]
mengu has quit [Remote host closed the connection]
Choups314 has joined #ocaml
ygrek has joined #ocaml
mcclurmc has joined #ocaml
manizzle has joined #ocaml
Haudegen has quit [Ping timeout: 246 seconds]
A1977494 has joined #ocaml
A1977494 has left #ocaml [#ocaml]
mort___ has joined #ocaml
ollehar has joined #ocaml
contempt has quit [Ping timeout: 264 seconds]
contempt has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
<companion_cube>
Drup, dsheets: yorick? is this related to the documentation tool?
osa1_ has left #ocaml ["Konversation terminated!"]