<dark>
yes..... more specifically I am trying to build an ebuild for it
<dark>
its nonstandard build system is driving me crazy
<dark>
the comments said it does not use ocamlfind because it gave errors o.o
<dark>
anyway I got that if I patch to change MLIM_PREFIX = $(INSTALL_DIR)/libMagick/ to MLIM_PREFIX = $(DESTDIR)$(INSTALL_DIR)/libMagick/ i might be able to install
<adrien>
how old are the bindings? I've seen 2005 being mentionned
<dark>
it's as old as that i think
<dark>
the comments on the code are full of horrors :(
<dark>
like "this does not work", "this give an error with the GC"
<dark>
not to mention the careless use of malloc() without checking return values, etc
<adrien>
also, writing a META file is very easy, making it use ocamlfind is probably the best solution
<adrien>
malloc on linux doesn't fail =)
<dark>
hmm o.o
<adrien>
look up "overcommit_memory"
<dark>
i thought overcommit are more like to delay memory allocated by fork()
<ulfdoz>
that is essentially the same.
<dark>
using copy on write, thus changing a page might actually allocate memory
<ulfdoz>
Either way you cannot tell if the memory is really available if you start using it.
<dark>
malloc uses copy
<dark>
on write too?
<dark>
but one thing is malloc _never_ failing
<dark>
another is having a runtime error even if malloc does not fail
<ulfdoz>
yes, other programs may also have allocated memory and use it earlier, than you malloc fails very late-
<dark>
hmm memory allocated by malloc may be _actually_ allocated later? o.o
<ulfdoz>
yes, that is the thing.
<dark>
o.O
<ulfdoz>
The funny thing is: Malloc is fast, you do not need to check freespace or other things.
<dark>
hahaha
<ulfdoz>
However, the OOM-Knight will ride to rescue you or simply start a massacre in your process table.
<dark>
then a linux system has to be robust against the process ending randomly
<adrien>
will usually kill firefox-bin =)
<dark>
the desktop i use, at least, isn't :(
<adrien>
a process can be set not to be killed
<adrien>
in particular, init and X
<ulfdoz>
it should, but most process either have very simple requirements or simply ignore that.
<ulfdoz>
However, on modern x86-Desktops, the OOM-Killer is usually an evidence for a memleak.
<ulfdoz>
block a process in a system-call, that may work too.
<dark>
but how can you hope to have verified, correct systems if the kernel kills programs randomly?
<dark>
i think this "design" decision makes it harder to build error-proof systems
<adrien>
pkill -9 yourprogramname <- that'll do the same ;p
<adrien>
if you want: disable memory overcommit
<dark>
an embedded system might as well disable it, to have more predictable outcomes
<dark>
also disable rogue interactive stuff =p
<adrien>
solaris doesn't have that, actually, most systems don't use it
<ulfdoz>
Due to the late failure you actually cannot determine, what program does the bogus malloc. So with OOM-killer your actually pretty f/(%'d
yezariaely has joined #ocaml
<adrien>
btw, iirc, the oom score is pretty much : mem-used / cpu-used, which means that processes that having been using a lot of memory without doing much are more likely to be killed
<dark>
this late failure is probably necessary due to fork() semantics, but you don't need that for malloc()..
<ulfdoz>
But even if it wouldn't kill the leaking programm and fail on invocation time, you couldn't be sure, that the last malloc is a bogus one.
<dark>
you could, if you had sane statistics for memory use. (that amounts to disable overcommit i guess)
<dark>
the "wasted" memory can be used for caching, until you need it..
<ulfdoz>
This is something like a phenomenon due to the theoretical assumption, memory is unlimited.
<DimitryKakadu>
I'm looking for PMap analogue in JaneStreeet Core (Core_extended)
nimred has joined #ocaml
<gildor>
DimitryKakadu: why don't you use the one from JaneStreet ?
<thelema>
gildor: because he doesn't know what it's called?
<thelema>
(if it exists)
dark has quit [Ping timeout: 245 seconds]
<thelema>
has anyone triggered a "wrong file naming" error? Ocaml is confused about a .cmi file for a menhir parser, thinking it belongs to a different module
<DimitryKakadu>
gildor: yes, I don't know module name
<gildor>
DimitryKakadu: ok don't understand your question
<DimitryKakadu>
thelema: thanks. I was looking for Map module without Make functor, but your link helps me
<thelema>
DimitryKakadu: core Map has both polymorphic and functorized, it seems
lpereira1 has joined #ocaml
lpereira1 has quit [Client Quit]
dark has joined #ocaml
zerny has quit [Remote host closed the connection]
Fullma has quit [Quit: Fullma]
Fullma has joined #ocaml
BiDOrD has quit [Quit: BiDOrD]
ldunn has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 245 seconds]
ygrek has joined #ocaml
init_ has quit [Remote host closed the connection]
asmanur has joined #ocaml
asmanur_ has quit [Ping timeout: 276 seconds]
shaunster has joined #ocaml
<shaunster>
hi, would someone be able to help me quickly - i've got a problem with compiling to a .cmo file and loading it/producing a new toplevel exe with it linked
<shaunster>
i think it might be an issue with mingw
<shaunster>
i get "Error: Illegal character (\000)
shaunster has quit []
Amorphous has quit [Ping timeout: 250 seconds]
ygrek has quit [Ping timeout: 245 seconds]
wuj has joined #ocaml
Amorphous has joined #ocaml
zerny has joined #ocaml
eelte has joined #ocaml
coucou747 has quit [Ping timeout: 252 seconds]
dark has quit [Ping timeout: 245 seconds]
Yoric has quit [Quit: Yoric]
dark has joined #ocaml
ygrek has joined #ocaml
dark has quit [Ping timeout: 245 seconds]
boscop_ has joined #ocaml
boscop has quit [Ping timeout: 245 seconds]
gnuvince has joined #ocaml
dark has joined #ocaml
iago has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
ftrvxmtrx has joined #ocaml
ztfw has joined #ocaml
ulfdoz has quit [Quit: deprecated]
elehack has joined #ocaml
fraggle_ has quit [Remote host closed the connection]
ftrvxmtrx has quit [Quit: Leaving]
boscop_ is now known as boscop
ftrvxmtrx has joined #ocaml
fraggle_ has joined #ocaml
<boscop>
does 'open discriminated union' mean that it can hold an instance of any type (not specified at compile-time)?
<elehack>
boscop: I don't know that it means that it can hold any type, but it at least means that the set of potential types is not fully known at definition time.
<elehack>
when I think 'open discriminated union', I think open polymorphic variant.
<elehack>
but I could be wrong
<thelema>
"exception"
<elehack>
thelema: ahh, hadn't thought of that.
<boscop>
in what way are polymorphic variants polymorphic? in the parametric polymorphic sense?
<elehack>
'polymorphic variant' is OCaml's term for datatypes whose constructors are not bound to a module and which are not necessarily known at compile-time.
<elehack>
e.g. [> `Foo | `Bar of string] represents at least `Foo and `Bar of string, but can represent others as well.
<thelema>
hmm, findlib isn't adding the .cmxa files to the command line that I'd expect. It's adding the right -I lines, but I get "no implementations provided" errors for modules that should be linked in
<adrien>
-linkpkg ?
<thelema>
thanks - was trying and failing with -linkall
<thelema>
this is why I try to let ocamlbuild do this kind of work
<thelema>
wow, I think that made it work.
<adrien>
made that error several times =)
dark has quit [Remote host closed the connection]
joewilliams_away is now known as joewilliams
init1 has quit [Quit: Quitte]
joewilliams is now known as joewilliams_away
yezariaely has left #ocaml []
DimitryKakadu has quit [Ping timeout: 276 seconds]
npouillard has quit [Remote host closed the connection]
npouillard has joined #ocaml
ulfdoz has quit [Ping timeout: 265 seconds]
junis has joined #ocaml
<junis>
greetings fine people
wuj has quit [Ping timeout: 265 seconds]
<orbitz>
greetings junis
schmrkc has left #ocaml []
agolsme has joined #ocaml
<junis>
.o)
<junis>
how are you orbitz
mjonsson has joined #ocaml
junis has quit [Remote host closed the connection]
junis has joined #ocaml
DimitryKakadu has joined #ocaml
rmitt_ has joined #ocaml
rmitt_ has quit [Client Quit]
<orbitz>
junis: i am good, yourself?
<junis>
i'm alright
ldunn has joined #ocaml
ztfw has quit [Remote host closed the connection]
DimitryKakadu has quit [Remote host closed the connection]
ygrek has quit [Remote host closed the connection]
wuj has joined #ocaml
wuj has quit [Ping timeout: 265 seconds]
nimred has quit [Quit: leaving]
nimred has joined #ocaml
ikaros has quit [Quit: Leave the magic to Houdini]
joewilliams_away is now known as joewilliams
elehack has quit [Ping timeout: 276 seconds]
elehack has joined #ocaml
xcthulhu has quit [Ping timeout: 265 seconds]
fraggle_ has quit [Ping timeout: 276 seconds]
fraggle_ has joined #ocaml
jlouis has quit [Remote host closed the connection]