#jogamp @ irc.freenode.net - 20151031 05:05:20 (UTC)


20151031 05:05:20 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20151030050519.html
20151031 05:05:20 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20151031050520.html
20151031 06:19:49 * bigpet (uid25664@anon) has joined #jogamp
20151031 07:28:31 * elect (~elect@anon) has joined #jogamp
20151031 08:06:45 * elect (~elect@anon) Quit (Ping timeout: 256 seconds)
20151031 08:08:04 * elect (~elect@anon) has joined #jogamp
20151031 08:14:07 * elect (~elect@anon) Quit (Ping timeout: 256 seconds)
20151031 08:14:50 * elect (~elect@anon) has joined #jogamp
20151031 08:19:47 * elect (~elect@anon) Quit (Ping timeout: 256 seconds)
20151031 09:09:35 * monsieur_max (~maxime@anon) has joined #jogamp
20151031 09:53:49 * elect (~elect@anon) has joined #jogamp
20151031 10:02:25 * elect (~elect@anon) Quit (Remote host closed the connection)
20151031 11:06:34 * elect (~elect@anon) has joined #jogamp
20151031 11:08:03 * elect (~elect@anon) Quit (Remote host closed the connection)
20151031 18:19:57 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20151031 19:05:01 * i-make-robots (~i-make-ro@anon) has joined #jogamp
20151031 19:05:21 <i-make-robots> hi again, jogamp.
20151031 19:05:34 <i-make-robots> some of my users are reporting an error with gluegen in the string. http://imageshack.com/a/img905/3951/38Lnyf.jpg
20151031 19:05:55 <i-make-robots> this is for the Makelangelo project: http://github.com/marginallyclever/makelangelo
20151031 19:06:14 <i-make-robots> I'm stumped. entire thread is here: https://www.marginallyclever.com/forum/viewtopic.php?f=2&t=5022
20151031 19:06:33 <i-make-robots> Any thoughts what is causing this?
20151031 19:15:17 <rmk0> some of those definitely look like a 32/64 bit os/jvm mismatch, as you said
20151031 19:15:30 <rmk0> which version of jogl/gluegen is this?
20151031 19:17:11 <rmk0> 2.3.1, i see
20151031 19:17:49 <rmk0> i'm mildly spooked by your dependency declarations in: https://github.com/MarginallyClever/Makelangelo/blob/master/java/pom.xml
20151031 19:18:11 <rmk0> i'm not sure why you have jogl-all and then jogl-all-main with a different scope
20151031 19:22:40 <i-make-robots> I don't know either, I didn't write the pom. what should it be? please send in a pull-request with the right values.
20151031 19:22:52 * rmk0 clones
20151031 19:22:58 <i-make-robots> ?
20151031 19:23:48 <rmk0> against the dev branch?
20151031 19:24:30 <rmk0> the problem is that i don't know why anyone would use those declarations, so i'm not sure what i'd be breaking by submitting a PR
20151031 19:24:55 <rmk0> the purpose of the jogl-all-main module is simply to depend on jogl-all and all of the additional native libraries attached to jogl-all
20151031 19:25:08 <rmk0> without you having to write in all of the dependencies yourself... it's just a convenience thing
20151031 19:30:21 <rmk0> i see the problem
20151031 19:31:05 <rmk0> i-make-robots: the issue is with your use of jar-with-dependencies
20151031 19:31:24 <rmk0> what happens is that it tries to pack the contents of all the native jars into the jar-with-dependencies
20151031 19:31:41 <i-make-robots> and they step on each other?
20151031 19:31:42 <rmk0> well... each of the native jars have a file such as libgluegen-rt.so in the root, so whichever is packed in last wins
20151031 19:31:46 <rmk0> yep
20151031 19:31:50 <i-make-robots> fack.
20151031 19:32:25 <rmk0> i feel like this subject comes up fairly regularly, and i never actually see the final answer...
20151031 19:32:44 <rmk0> goussej: xranby: any idea what people are using to produce onejars that work with jogl these days?
20151031 19:33:15 <i-make-robots> why are they all the same name? surely adding -64 or -32 to one branch would fix that?
20151031 19:34:01 <rmk0> you'd have to ask sgothel there, i'm not familiar
20151031 19:34:03 <rmk0> https://jogamp.org/wiki/index.php/JogAmp_JAR_File_Handling
20151031 19:34:45 <rmk0> looks like you can manually place the native libraries into a 'natives' directory in the root of the resulting jar
20151031 19:36:25 <rmk0> that page isn't great...
20151031 19:37:46 <rmk0> checking to see if there's a pleasant way to do this with the assembly plugin
20151031 19:38:29 <rmk0> i-make-robots: are you opposed to distributing the application slightly differently?
20151031 19:39:29 <rmk0> there's a way that's slightly less painful, but i'm not sure if your users would object to it
20151031 19:41:19 <bruce-> I distribute using appassembler, which is far from pretty
20151031 19:42:05 <i-make-robots> rmk0: what does "slightly differently" entail?
20151031 19:43:28 <rmk0> i-make-robots: the way i tend to do things right now is to take all of the jar files that make up the program (the program itself, and all of the dependencies) and place them into a 'lib' directory
20151031 19:43:49 <i-make-robots> I'm not smart enough to do that right.
20151031 19:43:52 <rmk0> i then use the launch4j maven plugin to produce a windows exe that simply runs a main class with all of the jars in lib on the classpath
20151031 19:44:06 <rmk0> i-make-robots: one sec, i can give you something that you can copy almost verbatim...
20151031 19:44:22 <i-make-robots> yeah, then I have to make a separate executable for each platform, right?
20151031 19:44:59 <rmk0> unfortunately, yes. but in practice it ends up being three, possibly two
20151031 19:45:54 <rmk0> https://github.com/io7m/jcanephora-blueberry/blob/master/pom.xml#L274
20151031 19:46:09 <rmk0> https://github.com/io7m/jcanephora-blueberry/blob/master/pom.xml#L311
20151031 19:46:21 <rmk0> https://github.com/io7m/jcanephora-blueberry/blob/master/src/main/assembly/dist.xml
20151031 19:47:08 <rmk0> for unix-like platforms, a shell script such as: https://github.com/io7m/jspatial/blob/develop/io7m-jspatial-examples-jogl/src/main/sh/octtree-viewer-unix.sh
20151031 19:47:57 <rmk0> if this all sounds terrible, then you may have to write a descriptor file for the maven assembly plugin that knows how to put the native libraries in the right place in the resulting jar file
20151031 19:48:05 <i-make-robots> the moment I have to make native executables I get really mad at Java. like, wtf? You're supposed to be cross platform. I use Java precisely to avoid that crap.
20151031 19:48:15 <rmk0> i feel your pain
20151031 19:48:46 <i-make-robots> so what's involved in a descriptor file?
20151031 19:49:09 <i-make-robots> as you can see I have users upset they can't run and it's stressing me out.
20151031 19:49:20 <rmk0> calm yerself!
20151031 19:49:25 <rmk0> this isn't an intractable problem
20151031 19:49:27 <rmk0> https://github.com/io7m/jcanephora-blueberry/blob/master/src/main/assembly/dist.xml
20151031 19:49:32 <rmk0> that's a descriptor file
20151031 19:49:53 <rmk0> https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html
20151031 19:49:57 <rmk0> that's the documentation for the descriptor file
20151031 19:51:07 <rmk0> what you need to do is exclude '/*.so', '/*.dll', '/*.dylib' and then manually add those into the right place yourself
20151031 19:51:26 <rmk0> i'm currently checking how to do this, because it's something i'm somewhat interested in too
20151031 19:52:38 <i-make-robots> that sounds kludgy, fragile, and ugly. and sadly required.
20151031 19:53:09 <rmk0> it's an issue that any project that uses native code runs into
20151031 19:53:25 <rmk0> i suspect it'll be fixed with java 9, as they have a standard module format that includes native library handling
20151031 19:54:18 <i-make-robots> when's that due?
20151031 19:54:49 <rmk0> late next year
20151031 19:55:59 * rmk0 attempts a descriptor file
20151031 19:58:34 <i-make-robots> http://vignette1.wikia.nocookie.net/starpolar/images/6/6b/Notime.jpg/revision/latest?cb=20150225125846
20151031 20:04:07 <rmk0> clearly she's never worked with native code on the jvm
20151031 20:19:57 <rmk0> i-make-robots: https://github.com/MarginallyClever/Makelangelo/pull/148
20151031 20:20:12 <rmk0> that seems to work here, the libraries look as if they're in the right place for those listed platforms (but i've only tested linux amd64)
20151031 20:20:25 <rmk0> it runs here, which is more than the original jar-with-dependencies did
20151031 20:21:10 <rmk0> the descriptor file wasn't as offensive as i'd expected
20151031 20:29:41 <i-make-robots> one of the other pull request I just received uses mavennatives plugin. does that conflict with your changes? https://github.com/MarginallyClever/Makelangelo/pull/146
20151031 20:33:44 <rmk0> virtuoushub needs to check that the plugin produces the same jar output
20151031 20:37:05 <rmk0> i ... don't think you need both. i see you've merged them both
20151031 20:51:09 <rmk0> what on earth has happened to the wiki?
20151031 20:51:15 <rmk0> formatting of code blocks is screwed up
20151031 20:59:36 <i-make-robots> which wiki?
20151031 20:59:49 <rmk0> jogamp wiki
20151031 20:59:55 <i-make-robots> ah.
20151031 21:00:26 <rmk0> https://jogamp.org/wiki/index.php/JogAmp_JAR_File_Handling#Maven_Assembly_Plugin
20151031 21:00:40 <rmk0> added it there, because this seems to come up quite often and all the other options seem bad
20151031 21:01:09 <rmk0> this isn't exactly wonderful, but at least it's straightforward
20151031 21:12:15 <i-make-robots> looks like mavennatives is barfing on my system. Not sure how to roll back and then only merge #148. *sigh*
20151031 22:25:15 <i-make-robots> rmk0: removed nativedependencies, wasn't building on my system. Your method is in the latest build. What's your real name, please? I'll add it to the credits.
20151031 22:25:31 <rmk0> my real name was in the commit
20151031 22:25:43 <i-make-robots> k
20151031 22:26:09 <rmk0> does this mean it works properly?
20151031 22:26:59 <i-make-robots> still testing. all i see for a name is io7m.
20151031 22:27:29 <rmk0> hm, weird... should be "Mark Raynsford <code@io7m.com>"
20151031 22:28:13 <rmk0> github probably aren't displaying it
20151031 22:28:16 <rmk0> it'll be in the raw git log
20151031 22:28:38 <i-make-robots> pm me? I have no idea how to get the raw log.
20151031 22:28:59 <rmk0> you don't use git from the command line?
20151031 22:29:02 <rmk0> "git log"
20151031 22:30:04 <i-make-robots> god no. i'm on osx.
20151031 22:30:21 <i-make-robots> i only drop to the command line when something's gone sideways.
20151031 22:30:40 <rmk0> committing from an IDE, or something?
20151031 22:30:47 <i-make-robots> github desktop
20151031 22:31:11 <i-make-robots> trying it your way
20151031 22:31:34 <i-make-robots> " Merge pull request #148 from io7m/dev"
20151031 22:31:46 <rmk0> that's the merge commit, my commit will appear a few before that
20151031 22:32:43 <i-make-robots> ah HA.
20151031 22:32:45 <i-make-robots> found it.
20151031 22:32:48 <rmk0> anyway... you have my name above. there's no particular reason you should be eyeing the log unless you're morbidly curious!
20151031 22:32:48 <i-make-robots> til.
20151031 22:34:29 <i-make-robots> well.. http://imgur.com/gallery/U5Vat05
20151031 23:33:29 * i-make-robots (~i-make-ro@anon) Quit (Quit: i-make-robots)
20151031 23:39:50 * i-make-robots (~i-make-ro@anon) has joined #jogamp
20151031 23:40:06 * i-make-robots (~i-make-ro@anon) Quit (Client Quit)
20151101 05:05:20 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20151101050520.html