Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Linux Tools Project/Eclipse Build"

(add patch and tigervnc-server requirements)
(To-do list: Eclipse build is harness for Platform.releng.aggregator and no longer developed anymore.)
 
(44 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{#eclipseproject:technology.linux-distros}}
+
{{#eclipseproject:tools.linuxtools}}
 +
{{Linux_Tools}}
  
Eclipse-build aims to ease the building of the Eclipse SDK for Linux distributions.  
+
Eclipse-build aims to ease the building of the Eclipse SDK for Linux distributions.
  
== Prerequisites for building with eclipse-build ==
+
== Eclipse Build: Why And How ==
* A 1.6 JDK installed in a standard place (see build.properties)
+
* Ant version 1.7.1 or newer
+
* bash, sh, perl, sed, below requirements for particular distro
+
* At least 3 GB of storage available
+
* Xvnc (Fedora:  tigervnc-server package) if you want the tests to run and not touch your main display ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=291680 Debian xvfb version in the works])
+
  
== How To build Eclipse SDK with eclipse-build released tarballs ==
+
When building, Eclipse normally satisfies its third party requirements by using libraries provided in [http://www.eclipse.org/orbit/ Orbit]. Orbit provides pre-built libraries which have been made into [http://www.osgi.org/About/HomePage OSGi] bundles with proper versioning, etc.
  
* Download and extract the [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build latest eclipse-build*.tar.gz] (R0_4* work with 3.5.1, R0_3* work with 3.5.0)
+
The problem for some Linux distributions is that they cannot use the pre-built binaries provided by Orbit. Eclipse must be built using the binaries provided in that distribution.
* Download [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/eclipse-R3_5_1-fetched-src.tar.bz2 Eclipse 3.5.1 SDK sources] ([http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/eclipse-I20090611-1540-fetched-src.tar.bz2 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 [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/eclipse-sdktests-R3_5_1-fetched-src.tar.bz2 test sources] and [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/eclipse-sdktests-R3_5_1-fetched-src.tar.bz2 test scripts] ([http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/eclipse-sdktests-I20090611-1540-fetched-src.tar.bz2 3.5.0 test sources], [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/eclipse-I20090611-1540-fetched-scripts.tar.bz2 3.5.0 test scripts]).
+
* Run <tt>./build.sh</tt>
+
  
If the build finishes without error there will be a <tt>build/eclipse-$YOUR_BUILD_ID-fetched-src/installation</tt> directory containing a ready to use Eclipse SDK.
+
For more information about how Eclipse Build works please refer to the [http://wiki.eclipse.org/Linux_Tools_Project/Eclipse_Build/Inner_Workings Eclipse Build Inner Workings Page]
  
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.
+
== How To build Eclipse SDK with eclipse-build released tarballs ==
  
Optional: <tt>ant -DbuildArch={x86 OR x86_64 OR ppc} runTests</tt>. Look for test results (a few hours running time) in <tt>testResults-<timestamp>/html/org.eclipse.sdk.tests.html</tt>.
+
* Download and extract the [http://download.eclipse.org/technology/linuxtools/eclipse-build/ latest eclipse-build*.tar.gz] (pick the appropriate directory for the release you want)
 +
* Download tarballs of the [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/3.6.x_Helios/eclipse-3.6.2-src.tar.bz2 SDK sources] (and optionally the [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/3.6.x_Helios/eclipse-sdktests-3.6.2-src.tar.bz2 SDK test sources] and [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/3.6.x_Helios/eclipse-sdktests-3.6.2-scripts.tar.bz2 SDK test scripts]) from the [http://download.eclipse.org/technology/linuxtools/eclipse-build/ eclipse-build downloads area] and put them in the eclipse-build* directory.  '''NOTE''': eclipse-build provides source tarballs created from the ''same tag'' as the official releases but with additional sources needed for the build.
 +
** 3.7.1 tarball is [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/3.7.x_Indigo/eclipse-3.7.1-src.tar.bz2&url=http://ftp.man.poznan.pl/eclipse/technology/linuxtools/eclipse-build/3.7.x_Indigo/eclipse-3.7.1-src.tar.bz2&mirror_id=488 here]
 +
* Run <tt>ant</tt> (you will likely need to ensure that JAVA_HOME points to your JDK installation directory)
  
== How to build Eclipse SDK from checked out eclipse-build trunk ==
+
If the build finishes without error there will be a <tt>build/eclipse-$YOUR_BUILD_ID-src/installation</tt> directory containing a ready-to-use Eclipse SDK. Eclipse-build is verified to work on x86, x86_64 and ppc architecturesEclipse-build has been successfully tested on Fedora, Debian, Ubuntu, Gentoo, and RHEL. Refer to distribution-specific instructions below. We are interested in reports of success on other distributions. Please let us know via linuxtools-dev@eclipse.org.
* The following SVN commands can easily be replaced with checking things out in Eclipse (say, with [http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/releng/trunk/org.eclipse.linuxtools.releng/psfs/eclipse-build.psf this handy PSF] ([http://wiki.eclipse.org/PSF help on PSFs])).  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 [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Linux%20Tools&component=PackagingTools http://bugs.eclipse.org eclipse.org bugzila]
+
 
* <tt>svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/eclipse-build/trunk/eclipse-build</tt>
+
Optional:  <tt>ant runTests</tt>.  Look for test results (a few hours running time) in <tt>tests_<timestamp>/results/html/org.eclipse.sdk.tests.html</tt>.
* <tt>svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/eclipse-build/trunk/eclipse-build-config</tt>
+
* <tt>svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/eclipse-build/trunk/eclipse-build-feature</tt>
+
* <tt>cd eclipse-build</tt>
+
* <tt>ln -s ../eclipse-build-config</tt>
+
* <tt>ln -s ../eclipse-build-feature</tt>
+
* Download [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/eclipse-R3_5_1-fetched-src.tar.bz2 Eclipse 3.5.1 SDK sources] ([http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/eclipse-I20090611-1540-fetched-src.tar.bz2 3.5.0]) (put them in the eclipse-build directory)
+
* Optional: download the [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/eclipse-sdktests-R3_5_1-fetched-src.tar.bz2 test sources] and [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/eclipse-sdktests-R3_5_1-fetched-scripts.tar.bz2 test scripts] ([http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/eclipse-sdktests-I20090611-1540-fetched-src.tar.bz2 3.5.0 test sources], [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/eclipse-I20090611-1540-fetched-scripts.tar.bz2 3.5.0 test scripts]).
+
* Run <tt>./build.sh</tt>
+
* Check for successful build in <tt>build/eclipse-$YOUR_BUILD_ID-fetched-src/installation</tt>
+
* Optional:  <tt>ant -DbuildArch={x86 OR x86_64 OR ppc} runTests</tt>.  Look for test results (a few hours running time) in <tt>testResults-${timestamp}/html/org.eclipse.sdk.tests.html</tt>.
+
  
 
== Submitting patches ==
 
== Submitting patches ==
* Check out from SVN ([http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/releng/trunk/org.eclipse.linuxtools.releng/psfs/eclipse-build.psf PSF] ([http://wiki.eclipse.org/PSF help on PSFs]), [http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/eclipse-build/trunk/ location])
+
* Clone our git repository:  [http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/ http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/]
* It is preferred that patches are generated from within Eclipse.  All patches must be submitted via [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Linux%20Tools&component=PackagingTools http://bugs.eclipse.org eclipse.org bugzila]
+
* It is preferred that patches are generated from within Eclipse (use [[EGit]].  All patches must be submitted via [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Linux%20Tools&component=PackagingTools http://bugs.eclipse.org eclipse.org bugzila]
  
== Debian/Ubuntu Build Requirements (not including dependencies) ==
+
== Fedora Build Requirements ==
 
+
* ant (>= 1.7.1)
+
* ant-optional
+
* default-jdk
+
* libatk1.0-dev
+
* libcairo2-dev
+
* libgl1-mesa-dev | libgl-dev
+
* libglu1-mesa-dev | libglu-dev
+
* libgnomeui-dev
+
* libgnome-vfsmm-2.6-dev
+
* libgtk2.0-dev
+
* libicu4j-java (>= 4.0.1) [*]
+
* liblucene2-java
+
* libpango1.0-dev
+
* libxtst-dev
+
* lsb-release
+
* pkg-config
+
* sharutils
+
* unzip
+
* xulrunner-dev
+
* zip
+
 
+
On Ubuntu 9.10 "Karmic Koala" (and later) you can simply run "sudo apt-get build-dep eclipse" to install those packages.
+
 
+
[*] 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) ==
+
 
On Fedora, just run <tt>yum-builddep eclipse</tt> to get the build dependencies (''including'' the dependencies to which the Fedora package is symlinked).  You must also ensure you have the following installed (the latter to run the tests):  <tt>patch tigervnc-server</tt>.
 
On Fedora, just run <tt>yum-builddep eclipse</tt> to get the build dependencies (''including'' the dependencies to which the Fedora package is symlinked).  You must also ensure you have the following installed (the latter to run the tests):  <tt>patch tigervnc-server</tt>.
 
== 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 [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Technology&product=Linux+Tools&component=PackagingTools&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= eclipse-build open bugs]
 
* [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Linux%20Tools&component=PackagingTools Add an item]
 
* In [https://bugs.eclipse.org/bugs/ Eclipse bugzilla], watch linux.packagingtools-inbox@eclipse.org if you want to be notified of new bugs
 
 
'''Planned items'''
 
* <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=289938 Add ant install target similar to 'make install' procedure]</s>
 
* <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=281270 Run the tests]</s>
 
* 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 =
 
= Testing =
 
See [[/Tests|tests]] for how to build and run the SDK tests and to report results and check if others are working on common failures.
 
See [[/Tests|tests]] for how to build and run the SDK tests and to report results and check if others are working on common failures.

Latest revision as of 06:43, 13 January 2022

{{#eclipseproject:tools.linuxtools}}

Linux Tools
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source

Eclipse-build aims to ease the building of the Eclipse SDK for Linux distributions.

Eclipse Build: Why And How

When building, Eclipse normally satisfies its third party requirements by using libraries provided in Orbit. Orbit provides pre-built libraries which have been made into OSGi bundles with proper versioning, etc.

The problem for some Linux distributions is that they cannot use the pre-built binaries provided by Orbit. Eclipse must be built using the binaries provided in that distribution.

For more information about how Eclipse Build works please refer to the Eclipse Build Inner Workings Page

How To build Eclipse SDK with eclipse-build released tarballs

  • Download and extract the latest eclipse-build*.tar.gz (pick the appropriate directory for the release you want)
  • Download tarballs of the SDK sources (and optionally the SDK test sources and SDK test scripts) from the eclipse-build downloads area and put them in the eclipse-build* directory. NOTE: eclipse-build provides source tarballs created from the same tag as the official releases but with additional sources needed for the build.
    • 3.7.1 tarball is here
  • Run ant (you will likely need to ensure that JAVA_HOME points to your JDK installation directory)

If the build finishes without error there will be a build/eclipse-$YOUR_BUILD_ID-src/installation directory containing a ready-to-use Eclipse SDK. Eclipse-build is verified to work on x86, x86_64 and ppc architectures. Eclipse-build has been successfully tested on Fedora, Debian, Ubuntu, Gentoo, and RHEL. Refer to distribution-specific instructions below. We are interested in reports of success on other distributions. Please let us know via linuxtools-dev@eclipse.org.

Optional: ant runTests. Look for test results (a few hours running time) in tests_<timestamp>/results/html/org.eclipse.sdk.tests.html.

Submitting patches

Fedora Build Requirements

On Fedora, just run yum-builddep eclipse to get the build dependencies (including the dependencies to which the Fedora package is symlinked). You must also ensure you have the following installed (the latter to run the tests): patch tigervnc-server.

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.

Back to the top