←2005-11-23 2005-11-24 2005-11-25→ ↑2005 ↑all
00:04:41 -!- cmeme has quit ("Client terminated by server").
00:04:47 -!- cmeme has joined.
00:11:22 -!- lament has quit (Broken pipe).
00:19:18 -!- pgimeno has quit ("This is the default quit message").
00:19:18 -!- pgimeno_ has joined.
00:19:41 -!- lament has joined.
00:26:24 -!- Sgeper has joined.
00:29:53 -!- ihope has joined.
00:30:39 <Sgeper> hi ihope
00:30:51 <ihope> Hello
00:32:13 <ihope> Some combinators: ``^ab -> `ba; ```*abc -> `b`ac; ````+abcd -> ``bc``acd
00:40:59 <MadBrain2> heh, I should learn that kind of crazy functional programming one of those days
00:41:41 <ihope> Those all perform their respective operations on Church numerals.
00:42:13 <ihope> As well, they are the reverse application function, the composition function, and the substituted composition function.
01:01:14 <fizzie> Meh. Tried to make jogl work with gcj (it should be possible now, since there's libjawt included), but can't get past http://gehennom.org/~fis/jogl.txt
01:04:43 <fizzie> I'm blaming lindi. Normally I'd have been content enough with Sun's evil proprietary JDK.
01:05:34 -!- lament has changed nick to pau.
01:10:27 <MadBrain2> ihope: I see
01:17:12 -!- iano has joined.
01:19:06 <fizzie> _Whoa._ Jogl with SWT apparently even seems to work with gcj, provided I give it enough magic.
01:19:44 <fizzie> gcj --classpath ../jogl.jar:./swt.jar -findirect-dispatch -o jtest --main=jtest jtest.java ; export LD_LIBRARY_PATH=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre/lib/i386:.:../jogl-natives ; export CLASSPATH=../jogl.jar:./swt.jar ; ./jtest works.
01:23:01 <kipple> what's jogl?
01:23:10 <fizzie> OpenGL bindings for Java.
01:23:19 <kipple> aha
01:23:27 <kipple> what are you making?
01:23:56 <kipple> I guess it's not esoteric related...
01:24:46 <fizzie> Not really, no. Our computer graphics course assignments were made with jogl, and I got curious whether it would work with gcj. (And incidentally I have an opengl application to write, and was going to use C++ for it, but compiled Java might suffice. If only it wouldn't be this horrible to write.)
01:25:22 <kipple> why gcj?
01:25:34 <fizzie> It's GNU. :p
01:25:41 <kipple> ah, yes
01:25:42 <fizzie> Lindi uses gcj, afaik. :p
01:26:09 <kipple> Sun's java is much faster than gcj in my experience
01:27:26 <fizzie> But it's an evil soulless corporation. Completely unlike the warm-and-fuzzy-feelings GNU.
01:27:45 <kipple> hehe
01:28:17 <fizzie> And gcj should be relatively fast, when all the classes are compiled to native code. I understand much of it's slowness is because it needs, for one reason or another, bytecode-interpret things.
01:28:45 <fizzie> Oh well, maybe I'll stick with C++, or plain C.
01:36:09 <ihope> Well, I decided to make a design for SLOBOL. Programs will be in the form of SHA-1 hashes.
01:36:42 <kipple> SLOBOL? is that one of the lesser known ones?
01:40:03 <ihope> Make that SHA-512 hashes.
01:51:29 -!- pgimeno_ has quit (brown.freenode.net irc.freenode.net).
01:51:29 -!- MadBrain2 has quit (brown.freenode.net irc.freenode.net).
01:51:42 -!- pgimeno_ has joined.
01:53:48 -!- iano has quit.
01:56:00 -!- lirthy has quit (Read error: 104 (Connection reset by peer)).
02:01:46 <calamari> is that the one that it's supposed to take a long time to compile programs ?
02:02:26 * calamari wonders if SHA-512 existed in 1982
02:04:25 <calamari> err 1984 I guess
02:04:42 <calamari> actually it was 1982.. okay
02:05:25 <kipple> my guess: no sha512 in 1982...
02:06:30 * calamari suggests that SLOBOL not include SHA-512 then :)
02:14:14 -!- lirthy has joined.
02:41:19 -!- ihope has quit (Read error: 110 (Connection timed out)).
02:56:58 -!- GregorR has changed nick to GregorR[notHome].
03:53:19 <cpressey> calamari: hey
03:53:40 <cpressey> ftr, it appears that there is no universal decider.
03:54:12 <cpressey> if by "decider" you mean "a machine which computes only primitive recursive functions"
03:54:20 <cpressey> http://www.math.psu.edu/~clemens/Math459/computability.pdf
03:54:31 <cpressey> gives a proof that there is no universal primitive recursive function
03:55:16 <cpressey> on the other hand... you can take any universal turing machine, and IF you only feed it turing machines that are guaranteed to halt on its input... then (trivially) the UTM will always halt :)
04:00:08 <calamari> hi Chris
04:01:44 <calamari> yeah, I incorrectly used the term "universal decider" when I really meant "machine that always halts"
04:01:44 <calamari> so basically what I was after was a language capable of describing every language that always halts
04:02:01 <cpressey> hi
04:02:03 <cpressey> well
04:02:14 <cpressey> i don't think that can be done
04:02:34 <cpressey> or rather
04:02:53 <cpressey> that language must also be capable of describing languages that don't halt
04:03:03 <calamari> why is that?
04:03:24 <calamari> or is it in the pdf? :)
04:03:29 <cpressey> diagonalization
04:03:31 <cpressey> basically
04:03:57 <cpressey> look at it this way:
04:04:10 <calamari> so to make the lang powerful enough for deciders, it will also need to understand tm's ?
04:04:27 <cpressey> what do you want your machine (/language) to do, if it is given a machine (/language) that doesn't halt, on its input?
04:04:47 <calamari> that shouldn't be possible
04:04:55 <cpressey> well, how do you plan to stop it?
04:05:08 <calamari> the syntax of the language would prevent writing programs that wouldn't halt
04:05:25 <cpressey> but there are some programs that won't halt that are undescribable in that language
04:05:46 <calamari> really? how odd
04:06:00 <calamari> can you give an example?
04:06:10 <calamari> oh wait
04:06:12 <calamari> I misread
04:06:47 <calamari> I don't wish to run programs that won't halt, I only wish to allow programs that do
04:07:08 <calamari> so it would not be as powerful as a tm
04:07:48 <calamari> I thought we decided that PL-{GOTO} was the lnguage I was looking for
04:08:09 -!- kipple has quit (Read error: 110 (Connection timed out)).
04:08:30 <calamari> and that it boiled down to a language consisting of if-else statements
04:08:37 <cpressey> ok, how to explain this... PL-{GOTO} describes primitive recursive functions; all primitive recursive functions are guaranteed to halt; but not all functions that are guaranteed to halt are primitive recursive
04:08:57 <calamari> ok
04:09:42 <cpressey> there are some general-recursive functions which could be proven to halt, but which can't be written in PL-{GOTO}
04:10:08 <calamari> ugh.. that's bad
04:10:19 <cpressey> basically... you can't write a PL-{GOTO} interpreter in PL-{GOTO}. even though the PL-{GOTO} interpreter will always halt.
04:10:33 <calamari> oh that's okay
04:10:44 <calamari> I would write the PL-{GOTO} interpreter in a TM language
04:11:34 <calamari> it doesn't really matter to me what the interpreter is written in
04:11:47 <cpressey> sure. it's not as bad as it sounds; there are lots of interesting prim-rec functions; factorial, for example
04:13:10 <calamari> let me make sure I understand what you're saying.. are you saying that the language PL-{GOTO} isn't capable of describing all possible deciders?
04:13:57 <cpressey> no, it is capable of that. what it's not capable of is describing a decider which simulates some other decider (like a UTM simulates some other TM.)
04:14:06 * Sgeper sees why... PL-{GOTO}, if it wants to be able to always halt, cannot be turing-complete
04:14:08 <cpressey> s/some/any/
04:14:09 <calamari> oh.. okay, no problem then
04:14:16 * Sgeper thinks
04:14:28 <calamari> PL-{GOTO} is exactly what I was looking for then :)
04:14:32 <cpressey> ok
04:14:35 <calamari> scared me for a minute hehe
04:15:09 <calamari> and if I understand correctly, PL-{GOTO} can be implemented with if-else
04:15:26 <cpressey> i was thinking along different lines, a bit. consider: if you want to make a UTM which will only simulate TM's that halt... it has to prove that they halt first, which of course runs smack up against the halting problem
04:15:53 <calamari> oops I said that wrong
04:15:54 <cpressey> PL-{GOTO} is more than if-else. it contains loops. but the loops are guaranteed to halt
04:16:17 <calamari> right, so I can unroll the loops
04:17:07 <calamari> then I'd have a programming language where there was only if-else statements.. or are the loops not unrollable?
04:18:31 <cpressey> "When a LOOP statement is encountered, the value of the LOOP variable specifies the # of times that the group of statements inside the LOOP is to be executed"
04:18:43 <cpressey> the variable doesn't need to be constant
04:18:44 <cpressey> so, no
04:18:48 <cpressey> i don't think you can unroll that.
04:19:07 <calamari> nice
04:19:15 <Sgeper> But LOOP variable's value can't be changed inside the loop?
04:19:23 <calamari> I guess it assumes that the loop var won't change
04:19:28 <calamari> Sgep hehehe
04:19:39 <cpressey> Sgeper: looks like it can't
04:20:03 <calamari> if it can't, then that should mean we could work backwards and discover the value of the loop variable?
04:20:29 <cpressey> if you say: LOOP X ; X <- X + 1 ; END then the loop occurs only the # of times as X originally contained
04:26:56 <cpressey> in other news, i've been trying to read this book:
04:26:58 <cpressey> http://www.amazon.com/gp/product/0387982817/103-0339561-1100666
04:27:17 <cpressey> you can feel the hurting
04:30:29 * calamari guesses that mandelbrot is not discussed anywhere inside the text
04:30:47 <calamari> oops, it is
04:31:04 <pau> wee things that halt
04:31:07 -!- pau has changed nick to lament.
04:31:09 <calamari> yay.. a non-meaningless graphic used for a book cover
04:31:11 <lament> and things that don't
04:31:40 <lament> everything that's fun doesn't halt :(
04:32:55 <calamari> I guess that means you're no fun :(
04:33:57 <lament> :(
04:34:13 <lament> what is this PL-{goto} you keep talking abouT?
04:35:15 <calamari> it is a language that Brainerd, et all made up
04:35:24 <calamari> in a computation theory book
04:35:50 <calamari> then it subtracts the GOTO statement
04:36:24 <calamari> wonder when that book will get here... hehe
04:36:42 <calamari> I looked at it in the school library for a few mins
04:38:10 <lament> ah.
04:42:15 -!- Sgep has quit (Success).
04:42:16 -!- Sgeper has quit (Read error: 104 (Connection reset by peer)).
04:44:33 <cpressey> hi lament
04:44:45 <cpressey> PL-{GOTO} actually looks trivial to implement
04:45:42 <cpressey> the GOTO is the most complicated part of PL, by the looks of it
04:46:00 * lament distrusts languages that halt
04:46:40 <lament> it's not fun when everything can be optimized to a single instruction :)
04:47:12 <cpressey> i trust them to halt :> unless you give them an infinite amount of input or something pathological like that
04:49:08 <lament> i guess one could have fun writing an interpreter for brainfuck-with-limited-running-time in it, or something like that.
04:49:19 <lament> Time bomb brainfuck.
04:49:59 <lament> (if that can be done at all...)
04:50:57 <lament> they should have a complementary langugage with programs guaranteed to not halt.
04:51:29 <lament> Solving the halting problem in a neat new way.
04:52:15 <calamari> lament: something like adding [-]+[] to the end of bf programs? :)
04:53:17 <lament> that could work, although i'm sure there're more interesting ways to do this.
04:53:33 <lament> For example a language in which the only statement is GOTO.
04:53:43 <lament> I'll call it GOTO-{PL}
04:53:55 <lament> :P
04:54:08 <cpressey> ah hrm
04:54:21 * calamari tests his Linguine interpreter
04:55:04 * lament meditates on the profound differences between "1. goto 1" and "1. goto 2; 2. goto 1"
04:57:25 <cpressey> Program ::= Instruction [Program]
04:57:25 <cpressey> Instruction ::= (Loop | Assignment) ";"
04:57:25 <cpressey> Loop ::= "LOOP" Name ";" Program "END"
04:57:25 <cpressey> Assignment ::= Name "<-" ("0" | Name ["+" "1"])
04:57:25 <cpressey> Name ::= <<begins with a letter, consists of letters and numbers>>
04:57:48 <cpressey> that's my renditiion of an EBNF grammar for PL-{GOTO}.
04:58:07 <cpressey> if it didn't have a hundred other things to do, i'd be tempted to implement it
04:58:11 <lament> that seems horribly impotent
04:58:45 <cpressey> that's certainly a colourful way to say "not turing complete" :)
04:59:07 <lament> well, there's not turing complete and there's not turing complete :)
04:59:23 <lament> computers aren't turing-complete but they can still do a lot of stuff.
04:59:36 <lament> this thing though...
05:00:07 <lament> it almost reminds me of that guy's brainfuck variant ages ago on the mailing list.
05:00:15 <lament> that had no loops.
05:00:18 <cpressey> this thing can multiply arbitrarily large integers together... fsa's can't do that.
05:01:02 <lament> but can you write a web server in it?? I don't think so!!
05:02:00 <lament> is there a name for this class of abilities?
05:02:16 <lament> primitive recursive functions?
05:02:49 <cpressey> yep, primitive recursive functions.
05:03:08 <lament> awesome.
05:03:49 <cpressey> which godel originally thought represented all computable functions. until ackermann gave a counterexample, which is today slightly famous
05:04:02 <lament> right.
05:21:30 <calamari> 1[0=72,0$,0+29,0$,0+7,0$,0$,0+3,0$,1=32,1$,0-24,0$,0+24,0$,0+3,0$,0-6,0$,0-8,0$,1+1,1$,1-23,1$]0
05:21:50 <calamari> is that too easy? :)
05:43:14 <cpressey> calamari: what on earth is that?
05:50:59 <calamari> Hello World in Linguine
05:52:14 <calamari> I made Linguine after implementing BF in Spaghetti and noticing some things that were annoying, but not really esoteric either
05:53:10 <calamari> so now there are infinite pointers, infinite memory cells, and each cell can hold any integer value
05:53:23 <calamari> much easier to work with
05:53:43 <calamari> rather than silly pointer building
05:57:29 <calamari> also adds negative cell values and line numbers just for fun
05:57:49 <calamari> err negative cell indices
06:00:00 <cpressey> ah, cool
06:04:26 <lament> infinite pointers?
06:04:38 <lament> cpressey: do you think i should skip tomorrow's lecture? :)
06:05:30 <calamari> lament: infinite number of them, vs Spaghetti only having a single pointer
06:05:39 <lament> ah
06:07:12 <calamari> perhaps unlimited is a better term
06:07:56 <lament> yes. I thought you'd have actual infinite pointers somehow.
06:08:20 <lament> whatever _that_ would mean.
06:10:26 <calamari> not very much since infinity isn't a number
06:11:29 <calamari> hehe -1[-2--3]-4
06:12:41 <calamari> translation: -1: mem[-2] -= -3; goto -4;
06:14:40 <lament> my infinities are numbers :)
06:25:07 <cpressey> lament: that's up to you, i suppose :)
06:26:27 <lament> we're gonna start objects i think :(
06:26:29 <lament> objects suck :(
06:31:19 <cpressey> ah, but we also have course evaluations tomorrow, so if you skip, you won't get the chance to affect steve's funding in the future!
06:31:52 <lament> bah
06:31:56 <lament> i already had a course with steve
06:32:07 <lament> so i wrote he's the best prof ever and too bad he teaches CS and not math :)
06:32:42 <lament> that should be enough i think :)
06:45:00 -!- Arrogant has joined.
07:01:21 -!- lirthy has quit (Remote closed the connection).
07:09:23 -!- lirthy has joined.
07:28:36 -!- calamari has quit ("Leaving").
07:43:21 -!- nooga has joined.
07:43:35 <nooga> hi
07:47:48 <nooga> hehe
07:48:10 <nooga> my bfi for MIDP1.0 crashes even emulator :F
07:52:35 <nooga> im the best
07:58:26 -!- Arrogant has quit ("Leaving").
07:59:12 -!- jix has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:50 <nooga> ji jix
08:02:38 <jix> ji?
08:02:39 <jix> moin nooga
08:02:44 <nooga> hi*
08:02:51 <nooga> 08:47 < nooga> my bfi for MIDP1.0 crashes even emulator :F
08:02:51 <nooga> 08:52 < nooga> im the best
08:03:00 <jix> haha^^
08:03:16 <nooga> midlet programming is cool
08:03:19 <nooga> i like it
08:03:29 <nooga> with netBeans (sic)
08:12:25 <nooga> java isnt so bad under linux
09:09:15 -!- nooga has quit ("Lost terminal").
10:28:41 -!- pgimeno_ has changed nick to pgimeno.
10:29:03 -!- J|x has joined.
10:36:38 -!- CXI has quit (Read error: 110 (Connection timed out)).
10:39:31 -!- jix has quit (Read error: 110 (Connection timed out)).
11:26:05 <lindi-> fizzie: jogl seems to compile on debian unstable quite easily, http://iki.fi/lindi/build-jogl.txt
11:34:13 -!- J|x has changed nick to jix.
12:09:40 <fizzie> lindi; This is debian unstable, and it just didn't compile (tm) here.
12:10:37 <fizzie> I might retry it to see where it failed.
12:10:41 <lindi-> fizzie: those four symlinks need to be fixed at least
12:10:52 <lindi-> i already reported it as a bug
12:11:08 <lindi-> fizzie: try taking exactly the same steps that i took
12:11:34 <fizzie> Later tonight, perhaps.
12:12:07 <fizzie> Although with gcj probably a CNI-based opengl binding thing (instead of the JNI jogl uses) might make more sense.
12:12:49 <fizzie> Have you tried to run anything with the jogl library you compiled?
12:13:11 <lindi-> this vncserver does not provide GLX extension so nope :/
12:14:00 <fizzie> Well, I guess I'll try to compile it.
12:14:14 <lindi-> shouldn't take that long "Total time: 22 minutes 4 seconds
12:15:00 <fizzie> I wonder what's with the "needs LD_LIBRARY_PATH=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre/lib/i386 to find libjawt" thing, too.
12:24:32 <lindi-> fizzie: https://jogl-demos.dev.java.net/source/browse/jogl-demos/ does not seem to respond so I can't get the source for those demos
12:24:58 <fizzie> BUILD FAILED
12:24:58 <fizzie> /home/fis/prog/java/jogl/make/build.xml:1221: The following error occurred while executing this line:
12:25:01 <fizzie> /home/fis/prog/java/jogl/make/build.xml:506: GlueGen returned: 1
12:25:01 <fizzie> Same as last time.
12:25:04 <fizzie> Total time: 4 minutes 59 seconds
12:25:37 <lindi-> interesting
12:25:49 <fizzie> Seems I missed a symlink.
12:26:21 <lindi-> fizzie: https://jogl-demos.dev.java.net/servlets/ProjectSource says that i need to login to see cvs instructions
12:26:56 <fizzie> Or mispointed, actually.
12:27:27 <fizzie> /usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/include/linux/jawt_md.h now points to ../../../gcc/[blah], which is missing one '..'.
12:27:35 <lindi-> hope they'll fix those symlinks soon
12:28:45 <lindi-> oh, indeed. i wrote down those instructions AFTER i had built it :)
12:29:24 <fizzie> BUILD FAILED
12:29:24 <fizzie> /home/fis/prog/java/jogl/make/build.xml:1221: The following error occurred while executing this line:
12:29:28 <fizzie> /home/fis/prog/java/jogl/make/build.xml:635: Compile failed; see the compiler error output for details.
12:29:37 <fizzie> [javac] 565 problems (373 errors, 192 warnings)
12:30:30 <lindi-> can you put the full build log online? i used screen's "^a H" to capture it
12:30:44 <fizzie> Am capturing it now.
12:31:32 <lindi-> fizzie: also, that ant build.xml is seriously broken. if the build fails once you have no way to retry easily :)
12:32:06 <lindi-> fizzie: it sets some variables in build targets. if it considers those build targets done the variables are never set and the build fails later because of that
12:32:35 <fizzie> http://gehennom.org/~fis/jogl-ant.txt (and jtest.java in the same directory is a really minimal test executable, which fails with sigsegv here when used with pre-built jogl.jar)
12:32:39 <lindi-> (alternatively i'm missing something very important)
12:33:48 <lindi-> fizzie: rm -fr and unzip the source again and retry ;)
12:35:19 <fizzie> "Ergh."
12:35:37 <fizzie> Heh, from Gluegen.java:
12:35:38 <fizzie> * You acknowledge that this software is not designed or intended for use
12:35:38 <fizzie> * in the design, construction, operation or maintenance of any nuclear
12:35:38 <fizzie> * facility.
12:35:43 <lindi-> or fix the build.xml
12:36:31 <fizzie> Already rm'd and restarted. This time under ^a-H from the start.
12:43:15 <fizzie> A simple set of opengl bindings shouldn't really take this long to compile. :p
12:43:57 <fizzie> [javac] 344 problems (344 warnings)
12:43:58 <fizzie> Yay.
12:44:02 <lindi-> hmm, awt/swing is broken in gcj, gij and kaffe in debian unstable at the moment
12:44:37 <fizzie> BUILD SUCCESSFUL
12:44:37 <fizzie> Total time: 8 minutes 27 seconds
12:45:05 <lindi-> congrats :)
12:46:07 <fizzie> I'm guessing I'll get the same sigsegv-from-JAWT_GetAWT with this jogl, too.
12:46:45 <lindi-> see above, awt is broken in unstable :/ it works with jamvm and sablevm but i don't know if those can work with jogl
12:47:29 <lindi-> both jamvm and sablevm cause java.lang.UnsatisfiedLinkError: Native library `jawt' not found (as file `libjawt') in gnu.classpath.boot.library.path and java.library.path
12:47:35 <fizzie> Well, SWT (>= 3.2M1 or M2) has an opengl canvas that's usable with jogl, managed to get a black screen with it.
12:47:53 <lindi-> yes, swt works as eclipse uses it :)
12:48:08 <fizzie> But the swt in unstable is 3.1 still.
12:48:16 <lindi-> but try any awt hello world and see it fail with gcj, gij or kaffe
12:49:03 <fizzie> I guess I should get to work now, at least there I'd get paid for having to deal with things that don't work.
12:50:13 <fizzie> Although my Tomcat installation has (knocking-on-a-wooden-surface) miraculously fixed itself, apparently when I upgraded 5.5.9 -> 5.5.12.
12:50:52 <fizzie> It runs on Sun JDK/JRE there. :p
12:51:02 <fizzie> Away now.
12:51:03 <lindi-> i have glx on this 200MHz pentium system but gij seems to take a while to start...
12:52:50 <lindi-> fizzie: ok, i get a window with title "jogl/awt test..." with some random piexls in it
12:54:08 <lindi-> fizzie: i just did export LD_LIBRARY_PATH=/home/lindi/local/jogl/build/obj/; java -cp /home/lindi/local/jogl/build/jogl.jar:. jtest
12:58:04 <fizzie> Wow. I wonder why I don't.
12:58:34 <fizzie> What's that "java" there?
13:03:12 <lindi-> /usr/lib/jvm/java-gcj/bin/java
13:05:22 <lindi-> http://fitzsim.org/blog/ seems to mention jogl working too
13:06:59 <lindi-> let's see if i can retrieve source of jogl-demos with http://iki.fi/lindi/cvsweb-dump.pl
13:08:07 <lindi-> hmm, that's not quite secure .P
14:05:51 <fizzie> But didn't you mention a broken awt?
14:06:07 <lindi-> fizzie: i did, that that's why i'm bit puzzled here
14:06:55 <lindi-> fizzie: swing hello world fails with "** ERROR **: file ../../../src/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: line 572 (createRawData): assertion failed: (data_fid != 0)"
14:07:01 <fizzie> With your invocation, I get:
14:07:02 <fizzie> Exception in thread "main" java.lang.UnsatisfiedLinkError: libjawt: libjawt.so: cannot open shared object file: No such file or directory
14:07:51 <fizzie> And if I add /usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre/lib/i386 to LD_LIBRARY_PATH, I..
14:07:55 <fizzie> Hmm.
14:08:15 <fizzie> I used to get that SIGSEGV I mentioned.
14:08:51 <fizzie> With this gcj-compiled jogl, it doesn't segfault. I might even have a window on my screen now - am not at home, so can't check.
14:09:59 <fizzie> I'd like a native-code-compiled jogl, though.
14:10:47 <lindi-> it's just that gcc is always bit old when it comes to gnu classpath. it's easier to test things with interpreters like jamvm because they can use gnu classpath cvs head directly
14:10:54 <jix> i just found netlogo.. pretty cool program
14:12:00 <lindi-> fizzie: also note that /usr/lib/jvm/java-gcj/bin/javac points to ecj
14:15:45 <lindi-> fizzie: i get that UnsatisfiedLinkError if i try to run jtest with jamvm instead of 'java' which is gij
14:16:55 <fizzie> My 'java' is gij too, and I still get it.
14:17:13 <fizzie> Although I'm not sure what I compiled my jtest with, that .class might be old.
14:17:33 <lindi-> note that 'java' needs to be '/usr/lib/jvm/java-gcj/bin/java' which sets some LD_LIBRARY_PATH magic and calls gij
14:19:03 <fizzie> That's what my "java" is, but apparently the problem was the .class was compiled with sun-jdk-javac.
14:19:16 <fizzie> Since my 'javac' symlink wasn't auto-managed by debian.
14:20:00 <fizzie> Or maybe it wasn't the problem - I still have that manually corrected LD_LIBRARY_PATH exported.
14:20:03 <lindi-> jix: netlogo seems non-free :/
14:20:38 <lindi-> fizzie: my javac points to /usr/bin/jikes-sablevm
14:21:07 <jix> lindi-: i have much non-free software on my computer
14:21:27 <fizzie> I get the UnsatisfiedLinkError with /usr/lib/jvm/java-gcj/bin/javac -cp jogl/build/jogl.jar:. jtest.java ; /usr/lib/jvm/java-gcj/bin/java -cp jogl/build/jogl.jar:. jtest unless I manually include /usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre/lib/i386 to LD_LIBRARY_PATH.
14:21:33 <fizzie> (Horribly long directories.)
14:21:41 <lindi-> jix: i don't
14:22:00 <jix> big parts of my system are non-free
14:22:20 <lindi-> jix: i find that uncool :)
14:22:37 <lindi-> fizzie: try jikes-sablevm just in case
14:22:42 <jix> i like free-software but i have no problems with not-free software
14:22:51 <fizzie> lindi; Just did. UnsatisfiedLinkError.
14:22:57 <lindi-> hrm
14:23:25 <lindi-> fizzie: i'll put full strace output online so you can figure out where our setups differ
14:26:06 <lindi-> fizzie: http://iki.fi/lindi/javac_jtest.strace
14:27:56 <fizzie> Heh, that's a lot of open() attempts when the gcj classloader attempts load com.sun.opengl.impl.GLContextImpl. It tries to find lib-com-sun-opengl-impl-GlContextImpl.la, .so, lib-com-sun-opengl-impl.{la,so}, lib-com-sun-opengl.{la,so}, lib-com-sun.{la,so}, lib-com.{la,so}, and all these in a dozen directories.
14:30:39 <lindi-> indeed :)
14:34:53 <fizzie> I don't see much differences in the javac straces.
14:35:14 -!- kipple has joined.
14:35:23 <fizzie> I assume your "java" is smarter than mine and knows where to locate libjawt when run, but I'm not sure why's that.
14:35:27 <lindi-> fizzie: apart from the fact that one fails and the other one doesn't? ;)
14:35:40 <fizzie> Oh, I'm able to compile it just fine.
14:36:14 <lindi-> i thought you got UnsatisfiedLinkError with javac too
14:37:01 <fizzie> Maybe I should've been more clear. I get the error on runtime, but not depending what I've compiled it with (tested jikes, ecj, sun-javac).
14:37:47 <lindi-> oh
14:37:53 <lindi-> i'll provide runtime strace too then
14:39:22 <lindi-> but only to the point where it says that i don't have GLX
14:39:39 <lindi-> since it takes forever to run on the pentium system that has GLX
14:40:16 <lindi-> fizzie: try to compare to http://iki.fi/lindi/java_jtest.strace
14:41:48 <fizzie> I get the same UnsatisfiedLinkError when I "gcj -I jogl/build/jogl.jar -o jtest -lgij -findirect-dispatch jtest.java ; ./jtest -cp jogl/build/jogl.jar jtest", but it possibly-works when I manually set LD_LIBRARY_PATH=the-long-path-to-jawt.
14:44:48 <lindi-> fizzie: ok, i'll try to compile it to native then. usually i don't bother to try since gcj is simply much less flexible than the interpreters at the moment
14:45:58 <fizzie> Well, one thing I easily notice is that "/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre/lib/i386/" is missing from the open()/access() attempts to locate libs on my system.
14:47:40 <lindi-> hmm
14:51:40 <fizzie> I think gcj is supposed to set it automagically. There's some talk in http://gcc.gnu.org/ml/java-patches/2005-q3/msg00285.html
14:52:15 <lindi-> gcj or gij?
14:52:43 <lindi-> since those straces only use 'jikes' and 'gij', not gcj
14:53:08 <fizzie> "libgcj", it says there.
14:53:24 <fizzie> Here's about jawt: http://gcc.gnu.org/ml/java-patches/2005-q3/msg00295.html
14:54:41 <fizzie> Maybe I should try with 1.0.41-2 of java-gcj-compat instead of 1.0.30-4 I have installed.
14:54:53 <fizzie> (This testing/unstable hybrid is probably worse than unstable. :p)
14:55:10 <lindi-> oh, that's probably it :)
14:55:29 <lindi-> this is completely unstable and has 1.0.41-2
14:57:31 <fizzie> Right, now it works, at least jikes-compiled and with /usr/lib/jvm/java-gcj/bin/java. The gcj-native-compiled (-lgij -findirect-dispatch blahblah) doesn't, but might after recompilation.
14:57:57 <fizzie> Heh, interesting, it doesn't.
14:59:18 <fizzie> As a summary:
14:59:24 <fizzie> fis@colin:~/prog/java$ gcj -I jogl/build/jogl.jar -o jtest -lgij -findirect-dispatch jtest.java
14:59:28 <fizzie> fis@colin:~/prog/java$ ./jtest -cp jogl/build/jogl.jar jtest
14:59:30 <fizzie> Exception in thread "main" java.lang.UnsatisfiedLinkError: libjawt: libjawt.so: cannot open shared object file: No such file or directory
14:59:34 <fizzie> ...
14:59:34 <fizzie> fis@colin:~/prog/java$ jikes-sablevm -cp jogl/build/jogl.jar jtest.java
14:59:35 <fizzie> fis@colin:~/prog/java$ /usr/lib/jvm/java-gcj/bin/java -cp jogl/build/jogl.jar:. jtest
14:59:37 <fizzie> libGL warning: 3D driver claims to not support visual 0x23
14:59:45 <fizzie> (That last warning is perfectly normal.)
15:00:05 <lindi-> ok
15:00:39 <fizzie> Well, I don't think I'll use Java for my opengl application after all, anyway. :p
15:01:17 <lindi-> heh
15:57:26 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
15:58:21 -!- cmeme has joined.
15:58:48 -!- cmeme has quit (Remote closed the connection).
15:59:23 -!- cmeme has joined.
16:07:52 -!- puzzlet has joined.
16:30:01 -!- Sgep has joined.
16:48:02 -!- puzzlet has quit (Remote closed the connection).
16:51:25 -!- puzzlet has joined.
19:40:41 <Sgep> Bye all; disconnecting for Thanksgiving
19:50:58 <lament> haha
19:58:35 -!- Sgep has quit (Connection timed out).
22:08:24 -!- GregorR-L has joined.
22:24:57 <GregorR-L> OMG HAPPY THXGVNG KTHXBYE
23:16:49 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
23:58:30 -!- GregorR-L has quit ("Turkey > Strange philosophical conversations").
←2005-11-23 2005-11-24 2005-11-25→ ↑2005 ↑all