Everyone needs a hobby. Clearly I don’t have one.
I’ve decided that I want the latest and greatest set of features (and bugs) for netbeans so i’m installing netbeans from the code repository and building it on my currently preferred platform (ubuntu 8.04 – yes I know it’s a beta which is only more proof that I need a hobby).
I prefer to do all my bleeding edge test builds on the ’server’ version of ubuntu – why? I like small footprint build systems that only have the required packages to satisfy my build. I guess I just don’t like packages sitting there looking at me and this way I know exactly what’s required to make it work on my primary desktop system later. ie. I can do everything in an experimental manner in the VM and develop detailed documentation of what is required to implement it on other systems.
So, going from the top, I’ve created a brand new hardy server as a VM so that I have a clear view of everything that is required to get the job done. If your system already has some of the pre-req software loaded then great.
netbeans uses mercurial so to get the source code you need that installed
~$ sudo apt-get install mercurial
~$ mkdir netbeans && cd netbeans
~/netbeans$ hg clone http://hg.netbeans.org/main/
destination directory: main
requesting all changes
adding changesets
adding manifests
adding file changes
added 78686 changesets with 365473 changes to 80849 files
77968 files updated, 0 files merged, 0 files removed, 0 files unresolved
note: to build netbeans we need a few tools, first of them is ant which will drag on a number of dependencies.
sudo apt-get install ant ant-optional
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
.
.
.
and given that there are issues using gcj to build netbeans (and I really can’t be bothered looking closer to tell you the truth) I suggest not bothering and just install the sun jdk (note: java5 is required and anything higher wont work at the time of writing this). Also, don’t forget the ant-optional otherwise you will get complaints about regexp during compilation.
~netbeans$ sudo apt-get install sun-java5-jdk
Add the following to your ~/.nbbuild.properties file
nbjdk.home=/usr/lib/jvm/java-1.5.0-sun
build.compiler=extJavac
javac.compilerargs=-J-Xmx512m
and the following to your ~/.antrc file
ANT_OPTS=-Xmx384m
~/netbeans$ ant -f main/build.xml
and hey presto netbeans should be built (it will take some time). Now as I’m ssh -X into this server I also need to ensure the xauth package is installed
~/netbeans$ sudo apt-get install xauth
and then I can try out the newly compiled netbeans using
~/netbeans$ ant -f main/build.xml tryme
which should see the netbeans splash screen appear and I can start using the latest development version of netbeans. Of course, this means you have to deal with any bugs, performance problems and mysterious quirks yourself. Join the mailing lists and enjoy.
Now that I have a very good understanding of what is required to get netbeans built from source I am confident that doing so will not interfere with anything else running on my primary development system. Using the results of the above exploration it should be a simple matter of matching the package requirements, rsync-ing over the downloaded repository and you’re good to go.
April 23, 2008 at 6:03 am |
Have you manage to use NetBeans 6.1 RC with Sun Java6 JDK from the Ubuntu repository ? Mine is giving a sigsegv.
I had to resort to OpenJDK6 but it doesn’t have the same look like un Sun JDK.
September 4, 2008 at 3:22 am |
Thanks for the quick howto, it’s really useful. Do you know by chance how to “package” after building? I mean how can I “move” the compiled stuff to a distinct place and run it without ant tryme?