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
sepp2k has quit [Remote host closed the connection]
Smerdyakov has quit [Quit: Leaving]
everyonemines has quit [Quit: Leaving.]
emmanuelux has quit [Ping timeout: 240 seconds]
JdpB42 has quit [Quit: JdpB42]
JdpB42 has joined #ocaml
ulfdoz has joined #ocaml
Emmanueloga has quit [Read error: Connection reset by peer]
ankit9 has quit [Ping timeout: 260 seconds]
sebz has joined #ocaml
ulfdoz has quit [Ping timeout: 258 seconds]
<Drakken> ocaml says it found cairo2.cma but it can't find dllcairo2.so. (I get the same result from listing ~/.odb/lib/cairo2/)
<Drakken> Also, why wasn't cairo included automatically when I #required archimedes? archimedes said it couldn't find archimedes_cairo.cma
sebz has quit [Quit: Computer has gone to sleep.]
ankit9 has joined #ocaml
sebz has joined #ocaml
<adrien> it's looking inside ld.conf
<adrien> the file has to be in one of the folders mentionned there
<adrien> you can get the path from "ocamlfind printconf", it's the last one mentionned
ygrek has joined #ocaml
larhat has joined #ocaml
<Drakken> Hi adrien.
<Drakken> Okay, archimedes looked for archimedes_cairo.cma in /usr/local/lib/ocaml/site-lib/archimedes and /usr/local/share/archimedes
<Drakken> (when I tried to make a plot) That was the first error.
<Drakken> The second error was when I tried to #require cairo2. It looked in ~me/.odb/lib/cairo2/, and it found cairo2.cma but not dllcairo2.so
<Drakken> I ran odb as myself, so I don't think it could have put anything in /usr/local/lib/...
<Drakken> (when I installed archimedes) (and cairo2)
brendan has quit [Quit: leaving]
<Drakken> So are there more configuration hoops I need to jump through? I haven't seen any documentation on them.
<adrien> ankit9: h, the cma
<adrien> see the ~dirs parameter if it's in location which is not the one that was configured at compilation
<adrien> have to go
<adrien> back in 20 minutes
<Drakken> take your time
<Drakken> archimedes_cairo.cma is in ~/.odb/lib/archimedes/
<Drakken> I don't see an environment variable that adds more options to the ones in ld.conf the way OCAMLPATH adds to PATH.
<Drakken> In the doc here:
ttamttam has joined #ocaml
ttamttam has quit [Remote host closed the connection]
ygrek has quit [Remote host closed the connection]
thizanne has joined #ocaml
ygrek has joined #ocaml
brendan has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
sebz has quit [Client Quit]
Snark has joined #ocaml
sebz has joined #ocaml
raichoo has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
Kakadu has joined #ocaml
ttamttam has joined #ocaml
probst has joined #ocaml
reynir has joined #ocaml
edwin has joined #ocaml
Drakken has quit [Remote host closed the connection]
Drakken has joined #ocaml
<Drakken> Anybody know why archimedes plotting code wouldn't look in the user's .odb directory for a cairo graphics file?
<gildor> Drakken: you are probably missing the right environment variable
<gildor> Drakken: smthg like OCAMLPATH=/home/gildor/programmation/00build/ocaml-3.11.2-linux-i386-libc2.11.2/lib/ocaml/:
<Drakken> gildor thelema's odb page says set OCAMLPATH to ~/.odb/lib/
ygrek has quit [Ping timeout: 248 seconds]
reynir has quit [Ping timeout: 248 seconds]
<gildor> Drakken: this is my own setting, without odb
pierrc has joined #ocaml
<gildor> Drakken: your problem is that it cannot find dllcairo2.so ?
beckerb has joined #ocaml
<adrien> Drakken: you can stupidly strace the program and see where archimedes is trying to find its file and A.init's ~dir argument should definitely help
avsm has joined #ocaml
<Drakken> gildor achimedes can't find archimedes_cairo.cma. OCAMLPATH is set to ~/.odb/lib and exported, but the archimedes code said it's only looking in /usr/local/lib/ocaml/site-lib/archimedes and /usr/local/share/archimedes
rby has joined #ocaml
<Drakken> adrien I would rather find out why it's not working in the first p lace.
<adrien> by default, archimedes looks in plugins_dir and datadir :
<adrien> let destdir = "/opt/ocaml/lib/ocaml/site-lib"
<adrien> let plugins_dir = Filename.concat destdir "archimedes"
<adrien> let datadir = Filename.concat "/usr/local/share" "archimedes"
<gildor> Drakken: does "ocamlfind list" list the package matching archimedes_cairo.cma
<adrien> destdir is generated at configure/build-time
<Drakken> adrien archimedes told me where it's looking.
<Drakken> gildor it lists archimedes, archimedes.cairo, and cairo2
<adrien> Drakken: and?
<Drakken> dan[src]$ export | grep OCAMLPATH
<Drakken> declare -x OCAMLPATH="/home/dan/.odb/lib"
<Drakken> dan[src]$ ocaml benchplot.ml
<Drakken> Module Archimedes loaded and aliased as A.
<Drakken> Exception:
<Drakken> Backend.Error (_,
<Drakken> "The backend \\\"cairo\\\" could not be found; searched \\\"archimedes_cairo.cma\\\" in dirs: /usr/local/lib/ocaml/site-lib/archimedes, /usr/local/share/archimedes").
<Drakken> dan[src]$
<Drakken> adrien so it doesn't even seem to be using OCAMLPATH
<gildor> Drakken: archimedes hardcode the path ?
Cyanure has joined #ocaml
<Drakken> gildor what? are you asking me how archimedes is written or suggesting I specify the path in my code?
<gildor> Drakken: I am just suggesting that this is a bug
<gildor> Drakken: if it is hardcoded
<Drakken> gildor okay
milosn has quit [Ping timeout: 258 seconds]
destrius has quit [Quit: Leaving.]
raichoo has quit [Read error: Connection reset by peer]
musically_ut has joined #ocaml
pierrc has left #ocaml []
raichoo has joined #ocaml
_andre has joined #ocaml
beckerb has quit [Remote host closed the connection]
beckerb has joined #ocaml
<Drakken> while linking /home/dan/.odb/lib/archimedes/archimedes_cairo.cma.\\nThe external function `caml_cairo_set_line_width' is not available").
milosn has joined #ocaml
ikaros has joined #ocaml
maufred has quit [Quit: leaving]
avsm has quit [Quit: Leaving.]
avsm has joined #ocaml
ttamttam has quit [Ping timeout: 240 seconds]
ikaros has quit [Quit: Ex-Chat]
emmanuelux has joined #ocaml
<adrien> archimedes has a function: val init : ... -> ?dirs:string list -> ...
<adrien> if you don't give a value, then it uses defaults which have been defined at configuration
beckerb has quit [Ping timeout: 240 seconds]
avsm has quit [Quit: Leaving.]
mnabil has joined #ocaml
mnabil_ has joined #ocaml
mnabil has quit [Client Quit]
ankit9 has quit [Ping timeout: 245 seconds]
ankit9 has joined #ocaml
probst has quit [Quit: probst]
Cyanure has quit [Remote host closed the connection]
reynir has joined #ocaml
<reynir> Which one is easier: compile camlp5 as non-root or port a 75-line camlp5 syntax extension to camlp4?
beckerb has joined #ocaml
<reynir> brb in 2 sec
reynir has quit [Client Quit]
probst has joined #ocaml
ankit9 has quit [Remote host closed the connection]
reynir has joined #ocaml
mnabil_ has quit [Ping timeout: 260 seconds]
<adrien> camlp5 should be easy to compile
jonludlam has quit [Read error: Connection reset by peer]
ttamttam has joined #ocaml
<reynir> adrien: Yea, it was very easy to compile. I did not manage to change my Makefile so it would use camlp5 though
<reynir> Now I give up
<reynir> And I'm going to drink some beer now instead
<reynir> Sounds like a plan, huh?
reynir has quit [Quit: Mmmh, beer...]
Emmanueloga has joined #ocaml
beckerb has quit [Remote host closed the connection]
maufred has joined #ocaml
beckerb has joined #ocaml
mcclurmc has quit [Excess Flood]
mcclurmc has joined #ocaml
larhat has quit [Quit: Leaving.]
ttamttam has quit [Remote host closed the connection]
<sgnb> eueueu
ttamttam has joined #ocaml
<adrien> iyiyiy
Hafanana has joined #ocaml
ftrvxmtrx has joined #ocaml
Hafanana has quit [Client Quit]
Kakadu has quit [Quit: Page closed]
<sgnb> ooops
probst has quit [Quit: probst]
probst has joined #ocaml
sebz has joined #ocaml
oriba has joined #ocaml
probst has quit [Read error: Connection reset by peer]
probst has joined #ocaml
raichoo has quit [Quit: leaving]
sebz has quit [Quit: Computer has gone to sleep.]
avsm has joined #ocaml
ikaros has joined #ocaml
arubin has quit [Quit: arubin]
ftrvxmtrx has quit [Quit: Leaving]
sebz has joined #ocaml
ulfdoz has joined #ocaml
Kakadu has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
avsm has quit [Quit: Leaving.]
maufred has quit [Quit: leaving]
avsm has joined #ocaml
struktured has quit [Ping timeout: 252 seconds]
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
ygrek has joined #ocaml
avsm has quit [Quit: Leaving.]
ikaros has joined #ocaml
probst has quit [Quit: probst]
ttamttam has quit [Remote host closed the connection]
probst has joined #ocaml
thomasga has joined #ocaml
thomasga has quit [Client Quit]
nimred has quit [Ping timeout: 240 seconds]
probst has quit [Quit: probst]
nimred has joined #ocaml
<Drakken> adrien that's how I got that error message:
<Drakken> A.init ~dirs:["/home/dan/.odb/lib/archimedes";"/home/dan/.odb/lib/cairo2"]
oriba has quit [Ping timeout: 244 seconds]
<Drakken> Exception:
<Drakken> Backend.Error (_,
<Drakken> "The backend \\\"cairo\\\" is not loadable because:\\nerror while linking /home/dan/.odb/lib/archimedes/archimedes_cairo.cma.\\nThe external function `caml_cairo_set_line_width' is not available").
<adrien> looks like it needs the .so for cairo2
<adrien> I don't know well how it searches for it
<thelema> /usr/local/lib/ocaml/ld.conf
Anarchos has joined #ocaml
<thelema> Drakken: try adding en entry for your local stublibs directory in ocaml's ld.conf
<thelema> *an
oriba has joined #ocaml
Tianon has joined #ocaml
Tianon has quit [Changing host]
Tianon has joined #ocaml
<Drakken> thelema omg that didn't work. Maybe there's another bug somewhere...(?)
<thelema> hmm, you have the stub libraries in ~/.odb/lib/stublibs, right?
<Drakken> yep
ztfw has joined #ocaml
<thelema> and you found your ocaml ld.conf file and added that path to it, with a <CR> at the end of the line
<Drakken> stublibs/dllcairo2.so
<Drakken> yep
<Drakken> dan[ocaml]$ cd /usr/local/lib/ocaml
<Drakken> dan[ocaml]$ cat ld.conf
<Drakken> /usr/local/lib/ocaml/stublibs
<Drakken> /usr/local/lib/ocaml
<Drakken> /home/dan/.odb/lib/stublibs
<Drakken> dan[ocaml]$
<Drakken> Oh well. It didn't come out in the paste, but there's a blank line (\n) after the /home... line.
<thelema> strings ~/.odb/lib/stublibs/dllcairo2.so | grep set_line
<Drakken> thelema it's in there. I wonder if archiemedes could be looking for the wrong file, say dllcairo.so instead of dllcairo2.so or something like that
ygrek has quit [Ping timeout: 248 seconds]
<adrien> cairo2 are bindings made by archimedes' author(s)
<adrien> so more than unlikely
<Drakken> The errors msg says it's looking for backend cairo, not cairo2
<adrien> also, it's not a solution but have you tried building a native-code executable?
<adrien> yeah but you can count on it not looking for the older cairo bindings
<Drakken> I'd rather snoop through the source code and see if I can a bug.
<Drakken> :)
<Drakken> *find*
<adrien> somebody went as far as making new bindings to cairo, naming them "cairo2" and the .cma and .so it's looking for are not names which appear in the program's or library's source code
<Drakken> Right. I mean whatever code determines how it searches for the function(s).
<Drakken> caml_cairo_set_line_width is defined as an "external" name in cairo.ml
<Drakken> but if it got compiled into stublibs/dllcairo2.so correctly (and the error msg says "while linking"), I guess the problem must be in the linking code.
<Drakken> where "code" = the makefile or setup.ml or whatever.
<adrien> the .so is dynamically loaded
<thelema> ocamlobjinfo /home/dan/.odb/lib/cairo2/cairo2.cma | grep dyn
<Drakken> thelema Extra dynamically-loaded libraries: -lcairo2
<thelema> that's how it knows what dlls to load with cairo2.cma
beckerb has quit [Remote host closed the connection]
arubin has joined #ocaml
_andre has quit [Quit: leaving]
avsm has joined #ocaml
ygrek has joined #ocaml
avsm has quit [Client Quit]
ttamttam has joined #ocaml
ftrvxmtrx has joined #ocaml
Drakken has left #ocaml []
sebz has quit [Quit: Computer has gone to sleep.]
everyonemines has joined #ocaml
Snark has quit [Quit: Quitte]
ttamttam has quit [Remote host closed the connection]
sebz has joined #ocaml
mnabil has joined #ocaml
ftrvxmtrx has quit [Read error: Connection reset by peer]
ftrvxmtrx has joined #ocaml
Kakadu has quit [Quit: Konversation terminated!]
sebz has quit [Quit: Computer has gone to sleep.]
roconnor has joined #ocaml
<roconnor> Hi, if I want to produce unicode output in files, should I be using Camomile?
edwin has quit [Remote host closed the connection]
<ygrek> roconnor, depending on your input
<roconnor> ygrek: oh, what should I be aware of?
<ygrek> if your input is unicode you can output it without extra hassle
<roconnor> In my particular case my input is ASCII and the output is going to be unicode :)
hto has quit [Quit: Lost terminal]
<thelema> roconnor: if your input is 7-bit ascii, you don't have to do any conversion; all 7-bit ascii is valid unicode
<adrien> utf8* ?
<roconnor> thelema: well after processing I will be generating unicode characters.
<roconnor> imagine converting "\forall" to ∀
dnolen has joined #ocaml
mnabil has quit [Ping timeout: 244 seconds]
everyonemines has quit [Quit: Leaving.]
mnabil has joined #ocaml
Morphous has quit [Ping timeout: 240 seconds]
Morphous has joined #ocaml
avsm has joined #ocaml
ygrek has quit [Ping timeout: 248 seconds]
ztfw has quit [Remote host closed the connection]
pheredhel has quit [Ping timeout: 260 seconds]
pheredhel has joined #ocaml
fraggle_ has quit [Ping timeout: 240 seconds]
ikaros has quit [Quit: Ex-Chat]
fraggle_ has joined #ocaml
pheredhel has quit [Ping timeout: 252 seconds]
pheredhel has joined #ocaml
ikaros has joined #ocaml
pheredhel has quit [Ping timeout: 248 seconds]
pheredhel has joined #ocaml
sebz has joined #ocaml
lopex has quit [Excess Flood]
lopex has joined #ocaml
emmanuelux has quit [Ping timeout: 240 seconds]
pheredhel has quit [Ping timeout: 244 seconds]
pheredhel has joined #ocaml
avsm has quit [Quit: Leaving.]
pheredhel has quit [Ping timeout: 244 seconds]
pheredhel has joined #ocaml
emmanuelux has joined #ocaml