KennethOshiro / Kanji-Dojo

A multi-platform application for memorizing Japanese language
GNU General Public License v3.0
0 stars 0 forks source link

Snapcraft Package #1

Open KennethOshiro opened 2 months ago

KennethOshiro commented 2 months ago

This issue will document progress with the snap build of the app.

Upstream Issue #175

KennethOshiro commented 2 months ago

Error messages when building with Ubuntu 24.04:

Generated snap metadata                                                                    
Unable to determine library dependencies for 'usr/lib/jvm/java-17-openjdk-amd64/lib/libawt_headless.so'                                                                                
Unable to determine library dependencies for 'usr/lib/jvm/java-17-openjdk-amd64/lib/libawt_xawt.so'                                                                                    
Unable to determine library dependencies for 'usr/lib/jvm/java-17-openjdk-amd64/lib/libjawt.so'                                                                                        
Unable to determine library dependencies for 'usr/lib/jvm/java-17-openjdk-amd64/lib/liblcms.so'                                                                                        
Unable to determine library dependencies for 'usr/lib/jvm/java-17-openjdk-amd64/lib/libnio.so'                                                                                         
Lint warnings:   
[Unused library warnings]

This does not prevent the package from building, but it is not possible to complete any reviews. For example, attempting to click the "Show Answer" button in a reading review for hiragana returns these errors:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: No line matching interface Clip supporting format PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian is supported.
        at java.desktop/javax.sound.sampled.AudioSystem.getLine(AudioSystem.java:425)
        at java.desktop/javax.sound.sampled.AudioSystem.getClip(AudioSystem.java:461)
        at ua.syt0r.kanji.core.tts.JavaKanaTtsManager.speak(JavaKanaTtsManager.kt:20)
        at ua.syt0r.kanji.presentation.screen.main.screen.practice_letter.LetterPracticeViewModel$speakKana$1.invokeSuspend(LetterPracticeViewModel.kt:104)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
        at kotlinx.coroutines.EventLoop.processUnconfinedEvent(EventLoop.common.kt:65)
        at kotlinx.coroutines.DispatchedTaskKt.resumeUnconfined(DispatchedTask.kt:241)
        at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:159)
        at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:470)
        at kotlinx.coroutines.CancellableContinuationImpl.completeResume(CancellableContinuationImpl.kt:586)
        at kotlinx.coroutines.channels.BufferedChannelKt.tryResume0(BufferedChannel.kt:2904)
        at kotlinx.coroutines.channels.BufferedChannelKt.access$tryResume0(BufferedChannel.kt:1)
        at kotlinx.coroutines.channels.BufferedChannel.tryResumeReceiver(BufferedChannel.kt:646)
        at kotlinx.coroutines.channels.BufferedChannel.updateCellSend(BufferedChannel.kt:458)
        at kotlinx.coroutines.channels.BufferedChannel.access$updateCellSend(BufferedChannel.kt:36)
        at kotlinx.coroutines.channels.BufferedChannel.trySend-JP2dKIU(BufferedChannel.kt:3307)
        at androidx.compose.runtime.SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1$unregisterApplyObserver$1.invoke(SnapshotFlow.kt:134)
        at androidx.compose.runtime.SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1$unregisterApplyObserver$1.invoke(SnapshotFlow.kt:128)
        at androidx.compose.runtime.snapshots.SnapshotKt.advanceGlobalSnapshot(Snapshot.kt:1816)
        at androidx.compose.runtime.snapshots.SnapshotKt.advanceGlobalSnapshot(Snapshot.kt:1831)
        at androidx.compose.runtime.snapshots.SnapshotKt.access$advanceGlobalSnapshot(Snapshot.kt:1)
        at androidx.compose.runtime.snapshots.Snapshot$Companion.sendApplyNotifications(Snapshot.kt:584)
        at androidx.compose.ui.node.SnapshotInvalidationTracker.sendAndPerformSnapshotChanges(SnapshotInvalidationTracker.skiko.kt:82)
        at androidx.compose.ui.scene.BaseComposeScene.render(BaseComposeScene.skiko.kt:300)
        at androidx.compose.ui.scene.ComposeSceneMediator.onRender(ComposeSceneMediator.desktop.kt:537)
        at org.jetbrains.skiko.SkiaLayer.update$skiko(SkiaLayer.awt.kt:485)
        at org.jetbrains.skiko.redrawer.AWTRedrawer.update(AWTRedrawer.kt:54)
        at org.jetbrains.skiko.redrawer.LinuxOpenGLRedrawer$Companion$frameDispatcher$1.invokeSuspend(LinuxOpenGLRedrawer.kt:117)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
        Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@1796bd58, Dispatchers.Unconfined]