Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Linux Tools Project/Eclipse Build
{{#eclipseproject:technology.linux-distros}}
Eclipse-build aims to ease the building of the Eclipse SDK for Linux distributions.
Contents
- 1 Prerequisites for building with eclipse-build
- 2 HOW-TO build Eclipse SDK with eclipse-build released tarballs
- 3 HOW-TO build Eclipse SDK from checked out eclipse-build trunk
- 4 Debian Build Requirements (not including dependencies)
- 5 Fedora Build Requirements (not including dependencies)
- 6 Dependencies (these are Fedora package names, let's make them generic)
- 7 To-do list
- 8 Testing
Prerequisites for building with eclipse-build
- ANT version 1.7.1 or newer
- At least 3 GB available on your hard-disk.
HOW-TO build Eclipse SDK with eclipse-build released tarballs
- Download the latest eclipse-build*.tar.gz (R0_4* work with 3.5.1, R0_3* work with 3.5.0)
- Extract the downloaded eclipse-build*.tar.gz
- Download Eclipse 3.5.1 SDK sources (3.5.0) in the eclipse-build* directory. NOTE: eclipse-build provides source tarball created from the same tag as the official releases but with additional sources needed for the build.
- Optional: download the test sources and test scripts (3.5.0 test sources, 3.5.0 test scripts).
- Run ./build.sh
If the build finishes without error there will be a build/eclipse-$YOUR_BUILD_ID-fetched-src/installation directory containing a ready to use Eclipse SDK.
Eclipse-build is verified to work on x86, x86_64 and ppc architectures. Additionally, a ppc64 build is provided in Fedora with additional patches which are not migrated to eclipse-build yet. Eclipse-build has been successfully tested on Fedora 11 and Debian unstable.
Optional: ant -DbuildArch={x86 OR x86_64 OR ppc} runTests. Look for test results (a few hours running time) in testResults-<timestamp>/html/org.eclipse.sdk.tests.html.
HOW-TO build Eclipse SDK from checked out eclipse-build trunk
- The following SVN commands can easily be replaced with checking things out in Eclipse. The command-line actions afterwards can be executed from a terminal. It is preferred that patches are generated from within Eclipse. All patches must be submitted via http://bugs.eclipse.org eclipse.org bugzila
- svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/eclipse-build/trunk/eclipse-build
- svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/eclipse-build/trunk/eclipse-build-config
- svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/eclipse-build/trunk/eclipse-build-feature
- cd eclipse-build
- ln -s ../eclipse-build-config
- ln -s ../eclipse-build-feature
- Download Eclipse 3.5.1 SDK sources (3.5.0) (put them in the eclipse-build directory)
- Optional: download the test sources and test scripts (3.5.0 test sources, 3.5.0 test scripts).
- Run ./build.sh
- Check for successful build in build/eclipse-$YOUR_BUILD_ID-fetched-src/installation
- Optional: ant -DbuildArch={x86 OR x86_64 OR ppc} runTests. Look for test results (a few hours running time) in testResults-${timestamp}/html/org.eclipse.sdk.tests.html.
Debian Build Requirements (not including dependencies)
- default-jdk
- ant (>= 1.7.1)
- ant-optional
- lsb-release
- zip
- unzip
- ecj
- junit
- junit4
- libicu4j-java (>= 4.0.1) [*]
- libgtk2.0-dev
- libcairo2-dev
- pkg-config
- xulrunner-dev
- liblucene2-java
- libxtst-dev
- libatk1.0-dev
- libpango1.0-dev
- libgnome-vfsmm-2.6-dev
- libgnomeui-dev
- libgl-dev | libgl1-mesa-dev
- libglu1-mesa-dev
[*] Not packaged yet.
NB: This list does not include packages required to build the Debian package nor "essential" build packages (like build-essential).
Fedora Build Requirements (not including dependencies)
- ant
- cairo >= 1.0
- gcc
- gcc-c++
- gecko-devel >= 1.9
- glib2-devel
- gnome-vfs2-devel
- gtk2-devel
- java-devel >= 1.6.0
- java-javadoc
- libgnome-devel
- libgnomeui-devel
- libXt-devel
- libXtst-devel
- make
- mesa-libGL-devel
- mesa-libGLU-devel
- nspr-devel
- xulrunner-devel-unstable
Dependencies (these are Fedora package names, let's make them generic)
- ant
- ant-antlr
- ant-apache-bcel
- ant-apache-bsf
- ant-apache-log4j
- ant-apache-oro
- ant-apache-regexp
- ant-apache-resolver
- ant-commons-logging
- ant-commons-net
- ant-javamail
- ant-jdepend
- ant-jsch
- ant-junit
- ant-nodeps
- ant-swing
- ant-trax
- cairo >= 1.0
- desktop-file-utils
- gcc
- gcc-c++
- gecko-devel >= 1.9
- glib2-devel
- gnome-vfs2-devel
- gtk2-devel
- icu4j-eclipse >= 1:4.0.1-3
- jakarta-commons-beanutils
- jakarta-commons-codec
- jakarta-commons-collections
- jakarta-commons-dbcp
- jakarta-commons-digester
- jakarta-commons-el >= 1.0-9
- jakarta-commons-fileupload
- jakarta-commons-httpclient
- jakarta-commons-launcher
- jakarta-commons-logging >= 1.0.4-6jpp.3
- jakarta-commons-modeler
- jakarta-commons-pool
- java-devel >= 1.6.0
- java-javadoc
- jetty >= 5.1.14-1.6
- jpackage-utils >= 0:1.5
- jsch >= 0:0.1.41
- junit >= 3.8.1-3jpp
- junit4
- libgnome-devel
- libgnomeui-devel
- libXt-devel
- libXtst-devel
- lucene >= 2.3.1-3.4
- lucene-contrib >= 2.3.1-3.4
- make
- mesa-libGL-devel
- mesa-libGLU-devel
- mx4j >= 2.1
- nspr-devel
- objectweb-asm
- regexp
- sat4j >= 2.1.0-1
- tomcat5-jasper-eclipse >= 5.5.27-6.3
- tomcat6-servlet-2.5-api >= 6.0.18-9.2
- unzip
- xulrunner-devel-unstable
To-do list
- See eclipse-build open bugs
- Add an item
- In Eclipse bugzilla, watch linux.packagingtools-inbox@eclipse.org if you want to be notified of new bugs
Planned items
-
Add ant install target similar to 'make install' procedure -
Run the tests - Provision every feature separately so we can move them in dropins
- Add ability to build only given feature e.g org.eclipse.swt (Maybe)
Testing
See tests for how to build and run the SDK tests and to report results and check if others are working on common failures.