[Nix-dev] install4j

Mathijs Kwik mathijs at bluescreen303.nl
Thu Nov 15 18:00:11 CET 2012


On Thu, Nov 15, 2012 at 5:13 PM, Marc Weber <marco-oweber at gmx.de> wrote:
> Excerpts from Mathijs Kwik's message of Thu Nov 15 16:27:31 +0100 2012:
>> Hi all,
>>
>> Has anyone come across software that is packed/distributed with install4j?
>> Some software I need distributes itself as a .sh file (with a lot of
>> binary data appended).
>> The file extracts itself to some temp dir and wants to start a bundled JRE.
>> This of course fails on nix, as the bundled JRE tries to load the
>> wrong runtime loader.
>
> Netbeans and the like almost all just worked .. you may want to to have
> a look at those derivations. My older custom code looks like this:
> Mabye just gtk is missing and setting LD_LIBRARY_PATH is enough?

It seems not. The problem is: I don't get any errors. I first get a
small (java-drawn) dialog asking for the language for the
installation. That dialog works. Continuing opens a new empty grey
window (no text/buttons/nothing) but nothing happens after that. The
console does not show any errors about stuff not being found or
similar problems.

So it appears there is some graphical output issue.
I tried setting LD_LIBRARY_PATH as you said but that did not change anything.
I'm not sure which gtk version is expected, and perhaps I need to add
more gtk-related libs (atk, cairo).

>
> Also consider using trying with oracle's jdk and openjdk.
> The latter caused some trouble to some applications for different
> reasons (allthough I think most should be fixed)

The bundled binary jre is oracle/sun java6, so that's what I'm using too.

All in all, a bit problematic as I don't get any feedback/errors.
Will try some more though.

Thanks for your help

>
> Something like this:
>
>       netbeansRunner = pkgs.stdenv.mkDerivation {
>         name = "nix-netbeans-runner-script-${stdenv.system}";
>
>         phases = "installPhase";
>         installPhase = ''
>           ensureDir $out/bin
>           target=$out/bin/nix-run-netbeans-${stdenv.system}
>           cat > $target << EOF
>           #!/bin/sh
>           export PATH=${pkgs.jre}/bin:\$PATH
>           export LD_LIBRARY_PATH=${pkgs.gtkLibs.glib}/lib:${pkgs.gtkLibs.gtk}/lib:${pkgs.xlibs.libXtst}/lib:${pkgs.xlibs.libXt}/lib:${pkgs.xlibs.libXi}/lib
>           # If you run out of XX space try these? -vmargs -Xms512m -Xmx1024m -showLocation -XX:MaxPermSize=256m
>           netbeans="\$1"; shift
>           exec \$netbeans "\$@"
>           EOF
>           chmod +x $target
>           '';
>
>         meta = {
>           description = "provide environment to run Eclipse";
>           longDescription = ''
>             Is there one distribution providing support for up to date Eclipse installations?
>             There are various reasons why not.
>             Installing binaries just works. Get Eclipse binaries form eclipse.org/downloads
>             install this wrapper then run Eclipse like this:
>             nix-run-eclipse $PATH_TO_ECLIPSE/eclipse/eclipse
>             and be happy. Everything works including update sites.
>             '';
>           maintainers = [pkgs.lib.maintainers.marcweber];
>           platforms = pkgs.lib.platforms.linux;
>         };
>       };
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev


More information about the nix-dev mailing list