FS#49396 - [swt] Package is unbuildable and missing an upstream bug fix
Attached to Project:
Arch Linux
Opened by felix (fstirlitz) - Thursday, 19 May 2016, 11:21 GMT
Last edited by Doug Newgard (Scimmia) - Thursday, 19 May 2016, 22:24 GMT
Opened by felix (fstirlitz) - Thursday, 19 May 2016, 11:21 GMT
Last edited by Doug Newgard (Scimmia) - Thursday, 19 May 2016, 22:24 GMT
|
Details
Maybe I should have written two reports, but both issues
came up while investigating the same bug. So:
0. The version of SWT in [extra] apparently has <https://bugs.eclipse.org/bugs/show_bug.cgi?id=457183> unfixed (despite it being fixed upstream in the package source code), judging from the fact that TuxGuitar hangs on startup (eating 100% CPU time) with this stack trace: [1] org.eclipse.swt.internal.gtk.OS._g_list_data (native method) [2] org.eclipse.swt.internal.gtk.OS.g_list_data (null) [3] org.eclipse.swt.widgets.Combo.findButtonHandle (null) [4] org.eclipse.swt.widgets.Combo.createHandle (null) [5] org.eclipse.swt.widgets.Widget.createWidget (null) [6] org.eclipse.swt.widgets.Control.createWidget (null) [7] org.eclipse.swt.widgets.Scrollable.createWidget (null) [8] org.eclipse.swt.widgets.Control.<init> (null) [9] org.eclipse.swt.widgets.Scrollable.<init> (null) [10] org.eclipse.swt.widgets.Composite.<init> (null) [11] org.eclipse.swt.widgets.Combo.<init> (null) [12] org.herac.tuxguitar.app.view.dialog.fretboard.TGFretBoard.initToolBar (TGFretBoard.java:141) [13] org.herac.tuxguitar.app.view.dialog.fretboard.TGFretBoard.<init> (TGFretBoard.java:88) [14] org.herac.tuxguitar.app.view.dialog.fretboard.TGFretBoardEditor.showFretBoard (TGFretBoardEditor.java:73) [15] org.herac.tuxguitar.app.view.main.TGWindow.createShellComposites (TGWindow.java:124) [16] org.herac.tuxguitar.app.view.main.TGWindow.createShell (TGWindow.java:67) [17] org.herac.tuxguitar.app.TuxGuitar.displayGUI (TuxGuitar.java:121) [18] org.herac.tuxguitar.app.TGMainSingleton.launchTuxGuitar (TGMainSingleton.java:59) [19] org.herac.tuxguitar.app.TGMainSingleton.launchSingleton (TGMainSingleton.java:47) [20] org.herac.tuxguitar.app.TGMainSingleton.main (TGMainSingleton.java:35) 1. The swt source package in ABS is not buildable. This is the build log: [javac] build-swt.xml:11: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds [javac] Compiling 1164 source files to build [javac] [javac] WARNING [javac] [javac] The -source switch defaults to 1.8 in JDK 1.8. [javac] If you specify -target 1.6 you now must also specify -source 1.6. [javac] Ant will implicitly add -source 1.6 for you. Please change your build file. [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.6 [javac] src/org/eclipse/swt/SWT.java:47: error: duplicate class: org.eclipse.swt.SWT [javac] public class SWT { [javac] ^ [javac] src/org/eclipse/swt/SWTError.java:42: error: duplicate class: org.eclipse.swt.SWTError [javac] public class SWTError extends Error { [javac] ^ [javac] src/org/eclipse/swt/SWTException.java:33: error: duplicate class: org.eclipse.swt.SWTException [javac] public class SWTException extends RuntimeException { [javac] ^ [javac] src/org/eclipse/swt/accessibility/ACC.java:22: error: duplicate class: org.eclipse.swt.accessibility.ACC [javac] public class ACC { [javac] ^ ... and so on ... [javac] 100 errors [javac] 1 warning Reproducible with both OpenJDK7 and OpenJDK8; may be a javac bug. I haven't investigated further. |
This task depends upon
Edit: As for the bug fix, it's there. Just look at the code.
It's actually tuxguitar's packaging that's insane: it bundles its own outdated copy of SWT for some reason. After doing
# ln -fs /usr/share/java/swt.jar /usr/share/tuxguitar/lib
it runs fine. Why it does so is beyond me; the package explicitly lists SWT in its dependencies, it should have used the system-installed copy.