<technomancy>
ouch; the makefile contained an infinite loop =\
<thelema>
high on my todo list is to obselete PCRE.
<technomancy>
thelema: in ocsigen, or in general?
<hcarty>
thelema: Inspired by your recent odb efforts, ocamlbrew is about to get support for building OCaml from an arbitrary (official) SVN path
<hcarty>
Unfortunately it looks like OUnit does not build against trunk
letrec has joined #ocaml
<orbitz>
Does ocaml give memory back to the OS?
Drakken has quit [Ping timeout: 268 seconds]
abdallah has joined #ocaml
raichoo_ has joined #ocaml
Bosc0p has quit [Ping timeout: 255 seconds]
raichoo has quit [Ping timeout: 244 seconds]
NihilistDandy has joined #ocaml
raichoo_ is now known as raichoo
<hcarty>
orbitz: I'm not sure I understand. OCaml has a garbage collector which automatically frees unused values.
letrec has quit [Remote host closed the connection]
raichoo has quit [Quit: leaving]
fantasticsid has joined #ocaml
letrec has joined #ocaml
<companion_cube>
hcarty: I think the question is about, in the case you free a lot of memory, whether Ocaml gives back some pages to the OS
<orbitz>
hcarty: but does the allocator hold onto that or does it give it back to the OS?
<orbitz>
It seems lik eit holds onto some of it for future allocations
<thelema>
technomancy: in general
<thelema>
orbitz: yes, but it does keep a buffer of unused memory so it's not constantly going to the OS for more
<thelema>
orbitz: if the memory usage is stable at 1x, then spikes 10x, and then goes back down to 1x, ocaml will return to approx its memory usage at 1x
<thelema>
hcarty: really? that's too bad.
<thelema>
hcarty: about ounit and trunk
<thelema>
hcarty: about ocamlbrew - it's great
<thelema>
ocamlbrew doesn't google yet
<technomancy>
so the ocsigen makefile is forkbombing me =(
<technomancy>
make -C others chugs along until it hits "cd: 1: can't cd to src//home/phil/src/ocsigen-bundle-2.0.2/others/findlib-1.2.7/src" and then recurses
<thelema>
ah, ocsigen bundle... that was done by gildor, as a demo of his bundler
<thelema>
You can report the bug, and then download a non-bundle, as you shouldn't be installing findlib as part of ocsigen
<technomancy>
thelema: I'm actually interested specifically in the bundle as a means of getting a web app running on http://heroku.com
<technomancy>
but I can play around locally with a non-bundled version for now
<thelema>
ah, then you'll have to report the bug to gildor.
<technomancy>
which is weird, because my user has write access to the --prefix directory.
<technomancy>
what's the minimum ocaml version needed for oasis?
destrius has quit [Quit: Leaving.]
<letrec>
is it ok to use odb along with godi?
<letrec>
odb seems to be trying to install packages into godi dirs, doesn't it confuse godi?
vivanov has joined #ocaml
Cyanure has quit [Ping timeout: 244 seconds]
ankit9 has joined #ocaml
thelema has quit [Remote host closed the connection]
thelema has joined #ocaml
ankit9 has quit [Ping timeout: 240 seconds]
ftrvxmtrx has quit [Quit: Leaving]
ankit9 has joined #ocaml
emmanuelux has joined #ocaml
ankit9 has quit [Ping timeout: 240 seconds]
<orbitz>
thelema: great. I'm starting to track down the allocations of my application. Wish I had more visibility inside my program though. In a few days hoping to see something interesting when memory spieks
technomancy has quit [Remote host closed the connection]
technomancy_ has joined #ocaml
ankit9 has joined #ocaml
spearalot has joined #ocaml
spearalot has quit [Client Quit]
ftrvxmtrx has joined #ocaml
edwin has joined #ocaml
Drakken has joined #ocaml
smondet has joined #ocaml
letrec has quit [Ping timeout: 248 seconds]
abdallah has quit [Quit: Ex-Chat]
elrzn has joined #ocaml
cago has joined #ocaml
ankit9 has quit [Ping timeout: 268 seconds]
zorun has quit [Read error: Connection reset by peer]
zorun has joined #ocaml
cago has quit [Ping timeout: 268 seconds]
ulfdoz has quit [Ping timeout: 240 seconds]
cago has joined #ocaml
beginner has quit [Ping timeout: 240 seconds]
ulfdoz has joined #ocaml
beginner has joined #ocaml
ankit9 has joined #ocaml
beginner has quit [Ping timeout: 252 seconds]
beginner has joined #ocaml
ttamttam has joined #ocaml
milosn has joined #ocaml
<vivanov>
sudo update-manager
<adrien>
orbitz: btw, you said the average allocation waste was 10KB iirc; do you have an idea of which structure in your code could be that size or reference that amount of data?
elrzn has quit [Quit: Leaving]
_andre has joined #ocaml
spearalot has joined #ocaml
ttamttam has quit [Remote host closed the connection]
<adrien>
gildor: btw, a few weeks ago, we talked about using oasis with the following steps: build some tools, run the tools to generate code, and continue with the general build
<adrien>
gildor: it's actually quite easy if we don't call "oasis" to build the tools but "ocamlbuild path/to/some/tool.native ..."
<adrien>
it needs something like a makefile but it works well and the makefile isn't complicated
<adrien>
and what is the status of cross-compilation with oasis?
redfire has joined #ocaml
letrec has joined #ocaml
edwin has quit [Remote host closed the connection]
sebz has joined #ocaml
mcclurmc has quit [Read error: Connection reset by peer]
mcclurmc has joined #ocaml
iago has joined #ocaml
cago has quit [Ping timeout: 268 seconds]
cago has joined #ocaml
ikaros has joined #ocaml
jonafan has quit [Ping timeout: 252 seconds]
edwin has joined #ocaml
<adrien>
diml: about your comment on Glib.Main.iteration in lablgtk2, it's quite interesting but it'll need some study and tests
<adrien>
would it make the CPU usage drop to 0% when idling and using threads?
<diml>
adrien: yes
jonafan has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
<adrien>
for some things, I've been wondering if it would not be better to wait for lablgtk3
<adrien>
but it's not there yet unfortunately
Cyanure has joined #ocaml
<adrien>
and (for other things), I don't think that breaking the API in lablgtk2 would be welcomed but doing so for lablgtk3 makes much more sense
oriba has joined #ocaml
<adrien>
anyone proficient with debian? how many packages depend on lablgtk2? is there a way to get a tarball of all their sources together? I'd like to grep and see how much some API are used in order to determine if small API breakages would be fine
ftrvxmtrx has quit [Quit: Leaving]
tautologico has quit [Ping timeout: 240 seconds]
sebz has joined #ocaml
tautologico has joined #ocaml
<thelema>
letrec: odb and godi should cooperate just fine, as both use ocamlfind for their backend
pilki has joined #ocaml
beginner has quit [Changing host]
beginner has joined #ocaml
wingie has joined #ocaml
<letrec>
thelema: I've got an impression odb install into godi locations
<letrec>
can it be the case?
<thelema>
yes, it autodetects godi and uses its ocamlfind install dir
<letrec>
doesn't it confuse godi?
<thelema>
I don't know everything about godi. but I hear that this shouldn't cause any problem
<thelema>
I believe that godi uses ocamlfind to detect what's installed, so no confusion
<letrec>
is it possible to override this behaviour? specify custom dir?
<thelema>
you'll have to change line 41 of odb to disable the autodetection
<thelema>
or remove the env. variable GODI_LOCALBASE
<thelema>
which is what's used for the detection
<letrec>
the issue is godi is unaware of odb and might install some package that already installed by odb by dependency
<thelema>
"unset GODI_LOCALBASE"
<thelema>
worst case, odb and godi try to install different versions of a package as deps
<letrec>
yep
<letrec>
this is what I'm trying to avoid
<thelema>
if this happens...
<thelema>
hmmm
<letrec>
and using package management tools
<thelema>
well, I don't have a wonderful solution, other than determining what version you do want installed and installing it.
<thelema>
and then installing things that depend on *that* version of the tool and not things that depend on other versions
<thelema>
(probably using odb and its packages file)
<thelema>
but possibly by hand too.
<letrec>
I was trying to install utop which depends on lwt
<thelema>
react lwt, yes
<letrec>
let's say I got lwt installed by godi, would odb observe this fact?
<thelema>
of course
<thelema>
make sure your lwt has react enabled, otherwise utop won't be happy.
<letrec>
ok, so if something exist in godi I install it there and use odb as last resort
<thelema>
yes, odb will be fine with things installed by godi. I hear it's the other way around too, but am not sure.
<thelema>
odb has very simple dependency checking.
<letrec>
sorry, I'm not following what are you trying to say by the link
<thelema>
is your lwt built with enable-react?
wingie has left #ocaml []
wingie has joined #ocaml
<letrec>
yes
<wingie>
where is the home page of ocaml?
<wingie>
is it the one on .fr ?
<ankit9>
Is oc4mc under active development?
<thelema>
wingie: yes
<thelema>
ankit9: unknown; probably not
<letrec>
thelema: react is not an optinal dependency for lwt in godi
<adrien>
ankit9: afair, it has reached a quite good state but it needs more user testing; if you could provide it, it would be great
<ankit9>
thelema, oh okay. What is the recommended way to utilize mutlicore then? I mean, run threads on different cores..
<adrien>
letrec: it definitely should
<adrien>
ankit9: there is net_multicore from ocamlnet3
<ankit9>
adrien, ah okk, i'll give it a try then. But I'm also just starting off with ocaml, but might be some time before I can provide useful info ;)
<adrien>
letrec: you mean that these are optional? iirc pretty much everything should be optional in lwt
<letrec>
adrien: yes, they are listed as optional
<letrec>
adrien: react is not, but I'm fine with that
<adrien>
letrec: I guess it's a bug in the packaging
oriba has quit [Quit: oriba]
<hcarty>
thelema: The ounit issue may be due to something else, possibly an incompatibility between OCaml 3.13.x and oasis-generated setup.ml files
<thelema>
hcarty: I guess it's good we get this testing out of the way now.
<thelema>
hcarty: I'll try brewing trunk and see what error I get
<hcarty>
thelema: Thanks. I'm going to start another test in a few minutes, but IIRC the error came from a bad format string in a scanf call.
<thelema>
really? that's an odd one... I didn't realize scanf was being changed
<hcarty>
thelema: I didn't either. It could be a bug, but I'm not willing to jump to that conclusion yet.
<thelema>
hcarty: an odd behavior report: -t -a seems to work, -t and then answering 'y' to all questions quits immediately, before any download
<hcarty>
I'm going to try trunk again, then version/3.12
<hcarty>
thelema: Thanks for the report, I'll take a look at it
<thelema>
the log file indicated isn't even created
<hcarty>
I think I only tested -t -a yesterday
<thelema>
(on the quick exit)
<hcarty>
Does it say "Exiting..." at the end?
<thelema>
yes
<thelema>
Continue (y/n)? y
<thelema>
Exiting...
<hcarty>
Ok, then it removed the log file. If it thinks the user said 'n' then it removes the log.
<hcarty>
That's very odd
<hcarty>
Any chance there was a space after the y?
<thelema>
pretty sure I didn't, but it's possible...
<thelema>
no, no space after y
<thelema>
just y\ny\ny\ny\ny\n
<hcarty>
Ok, I'll take a closer look. I changed the input handling a bit which may have broken that piece.
<thelema>
iirc, that patch had inconsistent commas
<hcarty>
Invalid_argument("scanf: premature end of format string ``%S %S@\n''") -- That's the error I get with trunk + ounit
<thelema>
any linenum?
<hcarty>
Not from the error, but I found it in setup.ml... one moment
<thelema>
ok, got the same error
<hcarty>
L2939
<hcarty>
in setup.ml
<hcarty>
I'm not sure why that last prompt doesn't work. It's doing the same thing as the previous ones, as far as I can see
<hcarty>
The trap isn't catching that error, which is also strange
<hcarty>
Never mind, it is catching the error. But the output is being directed to the log file
<hcarty>
That's not very helpful :-)
<thelema>
2&>
<hcarty>
thelema: Remove the 1? I don't want a flood of OCaml compilation output though.
<thelema>
err, maybe not
zorun has quit [Ping timeout: 252 seconds]
<hcarty>
I found the Continue? (y/n) bug...
<hcarty>
"reply_lower" <> "$reply_lower"
fantasticsid has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
zorun has joined #ocaml
<hcarty>
Fix pushed
<letrec>
thelema: another drawback of installing a package into godi dirs is godi will not be able to manage it, how do you handle it?
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
<thelema>
letrec: I don't worry about managing installed packages. It's trivial enough to remove them (ocamlfind remove foo) and re-install
<hcarty>
letrec, thelema: GODI will not be able to use odb-installed packages
<hcarty>
So if you want to install a GODI package, its dependencies must be met by other GODI packages.
<hcarty>
odb will, on the other hand, see GODI packages as valid since odb relies on findlib for dependency checks
<letrec>
hcarty: so it's better to install a package in godi if it's available
<hcarty>
letrec: As long as the version in GODI meets your needs, then yes it is generally easier that way
<hcarty>
thelema: oasis, or at least setup.ml from oasis, seems to break in a few different ways under 3.12.2+dev: broken OCaml version checking; something to do with invalid log files
mcclurmc has quit [Read error: Connection reset by peer]
<hcarty>
The scanf bug in oasis is/was apparently due to a bug in OCaml 3.12.x -
<letrec>
hcarty: this is exactly what I'm struggling with - I'm trying to install utop, which depends on camomile which I have installed in godi, but it's too old
pilki has quit [Quit: This computer has gone to sleep]
avsm has joined #ocaml
milosn_ has joined #ocaml
sebz has joined #ocaml
milosn has quit [Ping timeout: 252 seconds]
cago has quit [Quit: Leaving]
raichoo has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
BiDOrD_ has joined #ocaml
sebz has joined #ocaml
raichoo has quit [Read error: Connection reset by peer]
BiDOrD has quit [Ping timeout: 252 seconds]
raichoo has joined #ocaml
spearalot has quit [Quit: Computer has gone to sleep]
sebz has quit [Quit: Computer has gone to sleep.]
wingie has quit [Read error: Connection reset by peer]
raichoo has quit [Remote host closed the connection]
raichoo has joined #ocaml
spearalot has joined #ocaml
raichoo has quit [Ping timeout: 252 seconds]
raichoo has joined #ocaml
fraggle_ has quit [Ping timeout: 240 seconds]
raichoo has quit [Ping timeout: 260 seconds]
raichoo has joined #ocaml
<orbitz>
adrien: I'm really not sure what is going on in this code. As far as all of the information I'm printing out, the size of the memory footprint should be pretty steady around 12megs with a few bumps up to 20. Right now I'm at a heap of 40megs with top saying the machien is using 100megs
fraggle_ has joined #ocaml
<orbitz>
Wondering if Lwt is holding onto something...
spearalot has quit [Quit: Computer has gone to sleep]
raichoo has quit [Quit: leaving]
<orbitz>
Hrm. Too early to really tell but it's possible I found something. Possible that either ocamlmq isn't freeing Lwt wakers properly or Lwt is holding onto them internally. Still testing
letrec has quit [Ping timeout: 240 seconds]
<thelema>
can't you use the obj_size on some lwt internal to track down the data pointed to by it?
<orbitz>
What moduleis that in?
<thelema>
orbitz: didn't I send you a link to that package?
<thelema>
type regexp = Empty | Char of char | Or of regexp * regexp | Seq of regexp * regexp | Star of regexp;;
<_habnabit>
Sieben, "doesn't work" is completely useless
<thelema>
I get the error of an illegal character
<_habnabit>
Sieben, it's the most useless thing you can say, in fact
<thelema>
maybe your * characters aren't actually ascii
<_habnabit>
it isn't, no
<_habnabit>
it's U+2272
<_habnabit>
er, U+2217
<thelema>
Sieben: ocaml input must be latin-1
<Sieben>
ok thanks I didn't know that
<Sieben>
I'm used to python utf-8
<Sieben>
thanks guys :)
<_habnabit>
python doesn't allow U+2217 for *, though
ikaros has quit [Quit: Ex-Chat]
<Sieben>
_habnabit, thanks I will look more carefully at encoding next time ;)
<_habnabit>
how about you tell us what the error was next time too
fridim_ has joined #ocaml
<avsm>
gildor: or anyone else, around? I'm wondering how to get an _oasis Document section to pass a -syntax option (to use camlp4 Lwt) to the ocamldoc invocation
<adrien>
avsm: afaik, it's not supported: add it in _tags
vivanov has quit [Quit: Lost terminal]
<avsm>
adrien: ta
milosn has joined #ocaml
<adrien>
avsm: np, it was still fresh in my mind: had the issue yesterday or the day before
milosn_ has quit [Ping timeout: 260 seconds]
<avsm>
adrien: what _tag entry did you use? oasis doesnt seem to pass -use-ocamlfind to ocamlbuild
* avsm
is trying to get a skeleton ocamlbuild/oasis setup for an Lwt project. still seems quite difficult
<smondet>
hi, I have in _tags: <src/lib/*.ml{,i}>: syntax_campl4o
<smondet>
and lwt.syntax as a dependency in the _oasis
<adrien>
avsm: same as smondet: <src/lablgtkReactLwt.ml>: syntax_camlp4o
<adrien>
and lwt.syntax as a BuildDepends
<adrien>
oasis won't rely on -use-ocamlfind in ocamlbuild; actually it's like with ocaml 3.11.x and the ocamlfind support through myocamlbuild.ml
koeskoes has quit [Quit: leaving]
wingie has joined #ocaml
Sieben has left #ocaml []
wingie has quit [Client Quit]
smondet has left #ocaml []
<avsm>
adrien: smondet: that works great for building it, but the BuildDepends cant be specified in the Document section
<adrien>
avsm: as far as I understand, if you "tag" something with a builddepend for building, it will be tagged too for the documentation
<adrien>
have you tried it?
<avsm>
yeah. printf'ing my way through the oasis generator to see whats up atm
<avsm>
slightly complicated as i've applied till's patch to support -pack
<adrien>
oh
<adrien>
did the same :P
<avsm>
so my BuildDepend in the Library section is: BuildDepends: lwt.syntax, lwt, regexp, lwt.unix
<avsm>
the only thing that is relevant for the ocamldoc is the -syntax bits of this, right?
<avsm>
oh, the -I is also relevant. hrm
<adrien>
I know almost nothing about ocamldoc, sorry =/
<avsm>
aha, the secret is to add a:
<avsm>
<lib/*>: pkg_lwt.syntax
<avsm>
to _tags
<avsm>
OASIS adds: <lib/*.ml{,i}>: pkg_lwt.syntax
<avsm>
which isn't sufficient for whatever ocamldoc needs (.odoc probably)
mal`` has quit [Read error: Operation timed out]
Cyanure has quit [Ping timeout: 240 seconds]
sebz has quit [Quit: Computer has gone to sleep.]
mal`` has joined #ocaml
sebz has joined #ocaml
emmanuelux has quit [Ping timeout: 268 seconds]
edwin has quit [Remote host closed the connection]
shachaf has joined #ocaml
Anarchos has joined #ocaml
ikaros has joined #ocaml
redfire has quit [Quit: leaving]
<avsm>
ho hum, lost in a sea of ocaml, findlib, oasis. i just want to package up a simple Lwt http client library :)
<orbitz>
Heh good luck with that :)
<dsheets>
avsm: i'd like to use it once you finish to give gloc an HTTP-aware object linker
<dsheets>
your travails frighten and confuse me
<avsm>
dsheets: am cleaning up the whole lot; i want a decent cohttp with lwt/ounit tests. all the code is there, just the blasted build system now
<avsm>
dsheets: I like the Lwt_log module, but passing '-ppopt -lwt-debug' optionally to activate the logging statements has had me looking through the build layers for 30 minutes
<avsm>
no obvious way to pass ppopt() through oasis
<dsheets>
what's happening with besport's branches? they don't seem to be ready to merge into trunk
<avsm>
was going to look at them afterwards. i'd firstly like cohttp to have some basic regression tests and perf numbers, and then we can integrate all the pool stuff
<dsheets>
what does lwt_log do that is better/worse than a camlp4 logger?
<avsm>
it is a camlp4 logger
<avsm>
but there's one '-lwt-debug' option which turns on Lwt backtraces and includes Lwt_log.debug level statements, which is nice
<avsm>
ideally, every library would compile a packed library with and without the debug code. so cohttp and cohttp.d (with the debug stuff), or something like that
ikaros has quit [Quit: Ex-Chat]
Morphous_ has quit [Ping timeout: 240 seconds]
spearalot has joined #ocaml
Morphous_ has joined #ocaml
pilki has quit [Quit: This computer has gone to sleep]
fridim_ has quit [Ping timeout: 240 seconds]
milosn has quit [Ping timeout: 252 seconds]
spearalot has quit [Quit: Computer has gone to sleep]
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]