Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-swt-dev] How to build SWT JNI Natives on gtk-linux-x86_64 ?



On Sat, Apr 22, 2017 at 5:54 AM, Oberhuber, Martin <Martin.Oberhuber@xxxxxxxxxxxxx> wrote:

Hi Leo (and Markus),

 

Thanks for all your help, I’m up and running now. Answering your questions:

 

-          I’m forced to use RHEL6 / Webkit1, and with my fix from https://bugs.eclipse.org/bugs/show_bug.cgi?id=515155 it’s actually working fine for me.

-          I’m not using IRC right now, thanks for your assistance on the mailing list instead

-          The build script worked fine for me on RHEL6:

o    org.eclipse.swt/bin/library/build.sh -gtk-all install

-          The rebuild script seems to build debug variants, and it failed for me when initiated from a directory outside the git tree:

o    $ cd build-swt-centos7/
$bash-4.1$ ~/git/eclipse.platform.swt/bundles/org.eclipse.swt.tools/gtk/rebuild_swt_natives.sh
[…]
[Step 3] Rebuilding SWT bindings and copying them into binary folder
script: invalid option -- '-'
usage: script [-a] [-f] [-q] [-t] [file]
*** [Step 3] Building native glue code failed. Exiting

Hello,

The rebuild_swt_natives_script is fairly new-ish. (~2 weeks old). I'm still in the process of polishing it, bug reports and suggestions are welcome.

Late last week I've fixed the problem where you can't move the script outside the original directory.
https://git.eclipse.org/r/#/c/95496/

I've added a wrapper script that you can put into a path directory:
cp .../gtk/rebuild_swt_natives_wrapper.sh ~/bin/swt_rebuild

And then it should rebuild bindings even if you checkout older versions of swt that didn't contain the rebuild_script. (Feel free to read doc inside the wrapper).

Feel free to give it a try. Let me know if it works for you.

Yes, the rebuild script does indeed build debug variants,
168: export SWT_LIB_DEBUG=1
It's designed so that you can debug them easier. As a note, the swt_rebuild script is intended for development purposes only, not to produce production ready '.so' files. "build.sh" is used for production '.so' files.
Note, the swt_rebuild_script also fixes classpath and cleans up git binary repositories. It's a multi-purpose tool.


build.sh is not intended to be moved outside /library/ folder because it has local references.

Thank you for the www.eclipse.org/swt doc update suggestions. I've added a note of them to my todo list. ~I'll look into updating these after oxygen release.

Your gerrit patch was merged, thank you for contribution.

Please let me know if there was something that I haven't addressed in this reply.


 

-          Regarding the docs, it looks like

o    build.sh works fine if called in the (generated) bin/library/build.sh location

o    https://www.eclipse.org/swt/jnigen.php should add a reference to faq.php regarding the build

o    https://www.eclipse.org/swt/faq.php#howbuilddll should reference build.sh (in the generated bin/library location) instead of the awkward fragment/ant mechanism

o    Just doing these 2 little changes might be easy and would help contributors rebuilding SWT themselves?

 

Anyways – back to my original question - I’ve uploaded a gerrit change for https://bugs.eclipse.org/bugs/show_bug.cgi?id=515155 to support RHEL6, and would appreciate a review

 

Thanks,

Martin

--

Martin Oberhuber, SMTS / Product Owner – Development Tools, Wind River

 

From: <platform-swt-dev-bounces@eclipse.org> on behalf of Leo Ufimtsev <Leonidas@xxxxxxxxxx>
Reply-To: "Eclipse Platform SWT component developers list." <platform-swt-dev@xxxxxxxxxxx>
Date: Wednesday 19 April 2017 at 21:38
To: "Eclipse Platform SWT component developers list." <platform-swt-dev@xxxxxxxxxxx>
Subject: Re: [platform-swt-dev] How to build SWT JNI Natives on gtk-linux-x86_64 ?

 

I haven't experienced the multi-display test failures that you have. It might be RHEL 6 specific.

RHEL 6 is approaching End-of-Production 2 phase on May 10th, so software fixes for that are limited, i.e meaning only security updates will be added, but no software fixes:
https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux#Product_life_cycle

Is it at possible for you to upgrade to RHEL 7 or Fedora for your machine, or do you have to run a RHEL 6 setup?

 

 

On Wed, Apr 19, 2017 at 3:24 PM, Leo Ufimtsev <Leonidas@xxxxxxxxxx> wrote:

I've worked on porting webkit1 to webkit2.

At the moment webkit1 is notorious for crashing a fair bit. Do you have webkit2 on your system? You could try running eclipse with webkit2 if you have it installed.

pkg: webkitgtk4.x86_64    << webkit2 with gtk3 bindings.

then:

export SWT_WEBKIT2=1

./eclipse

Note, you should be running newest eclipse, e.g nightly/integration build that has latest webkit2 fixes:
http://download.eclipse.org/eclipse/downloads/drops4/I20170417-2000/download.php?dropFile=eclipse-SDK-I20170417-2000-linux-gtk-x86_64.tar.gz

Webkit1/Webkit2 & Fedora/RedHat is one of my main responsibilities, please feel free to reach out to me via IRC for quicker support if you like:

freenode#swt

 

 

On Wed, Apr 19, 2017 at 1:44 PM, Oberhuber, Martin <Martin.Oberhuber@windriver.com> wrote:

Hi again,

 

So I can answer the 3rd question myself (“hang on printers”), this was

https://bugs.eclipse.org/bugs/show_bug.cgi?id=215234

and I could work around it by “sudo yum install cups && /etc/init.d/cups restart”.

 

Tests are looking reasonably good now, though I encountered a reproducible crash:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=515471

 

And, quite early in the test suite some 50 tests always fail with “not implemented [multiple displays]”.

See attached screenshot – re-running the failed tests only (from the Junit “failed tests” filter) makes

Them succeed. Any ideas on that one?

 

The other 2 questions remain from below E-Mail (regarding docs and how to build properly).

 

Thanks,

Martin

--

Martin Oberhuber, SMTS / Product Owner – Development Tools, Wind River

 

From: <platform-swt-dev-bounces@eclipse.org> on behalf of Martin Oberhuber <Martin.Oberhuber@windriver.com>
Reply-To: "Eclipse Platform SWT component developers list." <platform-swt-dev@xxxxxxxxxxx>
Date: Wednesday 19 April 2017 at 18:43
To: "platform-swt-dev@xxxxxxxxxxx" <platform-swt-dev@xxxxxxxxxxx>
Subject: [platform-swt-dev] How to build SWT JNI Natives on gtk-linux-x86_64 ?

 

Hi SWT Experts,

 

I’m trying to build my own SWT GTK Fragment on RHEL 6 / x86_64

(because of https://bugs.eclipse.org/bugs/show_bug.cgi?id=515155 ).

 

1.      I followed this article, running build.xml:build_libraries from the gtk.linux.x86_64 fragment:
https://www.eclipse.org/swt/jnigen.php
but the build runs into an error:
[exec] cc1plus: error: /bluebird/teamswt/swt-builddir/mozilla/1.7/amd64/mozilla/dist/sdk/include/mozilla-config.h: No such file or directory

    

2.      So I found “Building the SWT natives on Ubuntu…(without XULRunner support)” here:
https://www.eclipse.org/swt/faq.php#howbuilddll
And adding “targets = install” on the Properties tab did help, but I found the instructions inaccurate because they didn’t ask to select build.xml in the org.eclipse.swt.gtk.linux.x86_64 fragment before doing right-click > Run As > Ant Build…

 

3.      So finally I tried running “build.sh” as per the FAQ URL above, since it seemed to be able to find the libxulrunner-dev of my system. But the build.sh resides in a different directory than documented and running it produces this error:
make_linux.mak:23: make_common.mak: No such file or directory
make: *** No rule to make target 'make_common.mak'.  Stop.
*** GTK2 Build failed.

 

Now I’m confused …

-          Which of the 3 instructions is supposed to be the right one?

-          Is there any value building XULRunner (eg for some Unittests) if I plan to use Webkit instead? If yes, how would I build it properly?

-          With the Libs built from approach 2, I tried running the tests (o.e.swt.tests > Run As > Junit). Many of the 14230 tests do succeed, but it gets stuck in #2962 test_printLorg_eclipse_swt_printing_Printer . I didn’t find a Bugzilla for that … any ideas?

 

For the records, here’s what I installed on my RHEL6 for the build:

yum install gtk2-devel libXtst-devel libXt-devel webkitgtk-devel xulrunner-devel

 

Thanks,

Martin

--

Martin Oberhuber, SMTS / Product Owner – Development Tools, Wind River

 

 

_______________________________________________
platform-swt-dev mailing list
platform-swt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-swt-dev




--

 

Leo Ufimtsev

Software Engineer

Red Hat

90 Eglinton Ave E #502,

Toronto, ON M4P 2Y3

Leonidas@xxxxxxxxxx   

mage removed by sender.




--

 

Leo Ufimtsev

Software Engineer

Red Hat

90 Eglinton Ave E #502,

Toronto, ON M4P 2Y3

Leonidas@xxxxxxxxxx   

mage removed by sender.

 


_______________________________________________
platform-swt-dev mailing list
platform-swt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-swt-dev



--

Leo Ufimtsev

Software Engineer

Red Hat

90 Eglinton Ave E #502,

Toronto, ON M4P 2Y3

Leonidas@xxxxxxxxxx   


Back to the top