help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help-Guix Digest, Vol 88, Issue 36


From: Martin Castillo
Subject: Re: Help-Guix Digest, Vol 88, Issue 36
Date: Sun, 19 Mar 2023 19:25:26 +0100
User-agent: K-9 Mail for Android

Am 19. März 2023 17:57:38 MEZ schrieb Gottfried <gottfried@posteo.de>:
>Hi,
>
>thanks for your help.
>
>I tested, tried and used AFAIU you the old version of Musescore,
>but it wanted to build Musescore 4, which I saw only at the end.
>
>but it failed:
>
>gfp@Tuxedo ~$ guix time-machine 
>--commit=6a54715988aee884bbb5f81e1b718a27ff771ec4 -- shell musescore
>Kanal „guix“ wird vom Git-Repository auf 
>https://git.savannah.gnu.org/git/guix.git“ aktualisiert …
>substitute: Liste der Substitute von „https://ci.guix.gnu.org“ wird 
>aktualisiert … 100.0%
>substitute: Liste der Substitute von „https://bordeaux.guix.gnu.org“ wird 
>aktualisiert …  substitute: Liste der Substitute von 
>https://bordeaux.guix.gnu.org“ wird aktualisiert … 100.0%
>substitute: Liste der Substitute von „https://ci.guix.gnu.org“ wird 
>aktualisiert … 100.0%
>substitute: Liste der Substitute von „https://bordeaux.guix.gnu.org“ wird 
>aktualisiert …  substitute: Liste der Substitute von 
>https://bordeaux.guix.gnu.org“ wird aktualisiert … 100.0%
>substitute: Liste der Substitute von „https://ci.guix.gnu.org“ wird 
>aktualisiert … 100.0%
>substitute: Liste der Substitute von „https://bordeaux.guix.gnu.org“ wird 
>aktualisiert …  substitute: Liste der Substitute von 
>https://bordeaux.guix.gnu.org“ wird aktualisiert … 100.0%
>/gnu/store/0y3w5sly6rw9yc0shqvyzkl8vjgr9gdf-module-import.drv wird erstellt …
>/gnu/store/whpg974y1nj7j1gddhfg0b15k4xpvx9n-module-import.drv wird erstellt …
>/gnu/store/nq8vmvriv2h095apywf8k4bb4z0jjpih-module-import-compiled.drv wird 
>erstellt …
>/gnu/store/6qd26vdgd11vjlv0lqp7h5z814qc82yi-module-import-compiled.drv wird 
>erstellt …
>/gnu/store/mi4klx1g21qwa4i5kjah6gbavncjgpm0-compute-guix-derivation.drv wird 
>erstellt …
>Computing Guix derivation for 'x86_64-linux'... /
>substitute: Liste der Substitute von „https://ci.guix.gnu.org“ wird 
>aktualisiert …   0.0%Backtrace:
>substitute: In ice-9/boot-9.scm:
>substitute:   1752:10 17 (with-exception-handler _ _ #:unwind? _ # _)
>substitute: In unknown file:
>substitute:           16 (apply-smob/0 #<thunk 7f711b7102a0>)
>substitute: In ice-9/boot-9.scm:
>substitute:     724:2 15 (call-with-prompt _ _ #<procedure 
>default-prompt-handle…>)
>substitute: In ice-9/eval.scm:
>substitute:     619:8 14 (_ #(#(#<directory (guile-user) 7f711b715c80>)))
>substitute: In guix/ui.scm:
>substitute:    2279:7 13 (run-guix . _)
>substitute:   2242:10 12 (run-guix-command _ . _)
>substitute: In ice-9/boot-9.scm:
>substitute:   1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
>substitute:   1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
>substitute: In guix/scripts/substitute.scm:
>substitute:    844:18  9 (_)
>substitute:    348:26  8 (process-query #<output: file 4> _ #:cache-urls _ 
>#:acl _)
>substitute: In guix/substitutes.scm:
>substitute:    382:27  7 (lookup-narinfos/diverse _ _ #<procedure 7f711b7b1ea0 
>…> …)
>substitute:    339:31  6 (lookup-narinfos _ _ #:open-connection _ # _)
>substitute:    262:26  5 (fetch-narinfos _ _ #:open-connection _ # _)
>substitute: In ice-9/boot-9.scm:
>substitute:   1685:16  4 (raise-exception _ #:continuable? _)
>substitute:   1685:16  3 (raise-exception _ #:continuable? _)
>substitute:   1780:13  2 (_ #<&compound-exception components: (#<&error> 
>#<&orig…>)
>substitute:   1685:16  1 (raise-exception _ #:continuable? _)
>substitute:   1685:16  0 (raise-exception _ #:continuable? _)
>substitute:
>substitute: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>substitute: In procedure write_wait_fd: unimplemented
>guix time-machine: Fehler: 
>`/gnu/store/nn61n9c91vvxf95fs5n3ldxqf3klnsgf-guix-1.4.0-4.01fd830/bin/guix 
>substitute' died unexpectedly
>
>Kind regards
>
>Gottfried
>
>
>
>
>
>Am 19.03.23 um 16:06 schrieb Martin Castillo:
>> Hi,
>> 
>> Am 19.03.23 um 13:15 schrieb Gottfried:
>>> Hi,
>>> 
>>> thanks for trying...
>>> 
>>> I copied the
>>> "Commit 6a54715988aee884bbb5f81e1b718a27ff771ec4"
>>> into my musik.scm:
>>> ..................................................................
>>> ;; Manifest Musik Programme
>>> (use-modules (gnu packages music)
>>>               (guix packages))
>>> 
>>> (define musescore-3.6.2
>>>    (package
>>>      (inherit musescore)
>>>      (version "3.6.2")
>>>      (Commit 6a54715988aee884bbb5f81e1b718a27ff771ec4)))
>>> 
>>> ;; combine both manifest lists:
>>> (concatenate-manifests
>>>    (list
>>>      (packages->manifest (list musescore-3.6.2))
>>> (specifications->manifest '("ardour" "audacious" "audacity" "obs" "vlc"))))
>>> 
>>> .........................................................................
>>> and I had a go
>>> I got this message:
>>> 
>>> gfp@Tuxedo ~$ guix package -p /home/gfp/Projekte/Musik/guix-profil -m 
>>> /home/gfp/Projekte/Musik/musik.scm
>>> /home/gfp/Projekte/Musik/musik.scm:6:2: Fehler: (package (inherit 
>>> musescore) (version "3.6.2") (Commit 
>>> #{6a54715988aee884bbb5f81e1b718a27ff771ec4}#)): extraneous field 
>>> initializers (Commit)
>>> 
>>> .....................................................................
>>> So I have to add it somewhere else...
>> 
>> The commits I mentioned are from guix, not from the musescore project. You 
>> put it in the musescore definition, so guix downloaded musescore and tried 
>> to switch to that commit/version of musescore. But it is not a commit of 
>> musecore, so that is indeed the wrong place.
>> 
>> (And the (commit ) field belongs inside an (origin ) field...)
>> 
>> So my original suggestion was to copy the musescore package definition from 
>> one of those commits from the guix project
>> http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/music.scm?id=6a54715988aee884bbb5f81e1b718a27ff771ec4#n4860
>> 
>> and hope that all dependencies of that package definition are still valid 
>> and compatible in the current guix. You might need to copy some of the 
>> use-modules lines at the top of the linked file into your manifest.
>> 
>> But I just had another idea: We want to install software from an older guix 
>> version: That's what guix time-machine is for!
>> guix time-machine --commit=6a54715988aee884bbb5f81e1b718a27ff771ec4 -- 
>> package -m manifest.scm -p /Pfad/zu/Musik/Musik
>> or to test it first:
>> guix time-machine --commit=6a54715988aee884bbb5f81e1b718a27ff771ec4 -- shell 
>> musescore
>> 
>> I tried it with the newer commit ced3be2b562866b82f97a530cd66610c84c381f7 to 
>> get musescore with newer dependencies. (That commit is the parent of 
>> 9f93bcd1862c76d7ff30da6f712c9bd2912b8346, which changed to musescore 4.0.):
>> guix time-machine --commit=ced3be2b562866b82f97a530cd66610c84c381f7 -- shell 
>> musescore
>> 
>> The first time time-machine failed to build the older version of guix. It 
>> used up to much ram and was killed by the OOM-killer. (I'm using it inside a 
>> vm.) Otherwise it should work.
>> 
>> A downside of this approach is that you cannot mix the older musescore with 
>> the newer versions of vlc etc in the same profile.
>> 
>> 
>> 
>> Martin
>>> 
>>> kind regards
>>> 
>>> Gottfried
>>> 
>>> 
>>>> Date: Sat, 18 Mar 2023 13:44:08 +0100
>>>> From: Martin Castillo <castilma@uni-bremen.de>
>>>> To: help-guix@gnu.org
>>>> Subject: Re: creating a manifest
>>>> Message-ID: <a9fc4dc2-d1a1-4dc7-5da4-aa24837f2d21@uni-bremen.de>
>>>> Content-Type: text/plain; charset=UTF-8; format=flowed
>>>> 
>>>> I noticed an error.
>>>> 
>>>>> 
>>>>> For that you need to instead create a new package definition for
>>>>> musescore version 3.6.2. The info page gives you an example, which you
>>>>> just adjust. Using guix edit musescore you see how musescore is defined.
>>>>> You can notice, there is a version field. So lets create a new package
>>>>> with adjusted version:
>>>>> 
>>>>> (define musescore-3.6.2
>>>>>     (package
>>>>>       (inherit musescore)
>>>>>       (version "3.6.2")))
>>>>> 
>>>>> ;; We create this manifest from a _package_, and not from a
>>>>> ;; _specification_ (which is just something like a string "musescore")
>>>>> (packages->manifest (list musescore-3.6.2))
>>>>> 
>>>> 
>>>> While building guix says it's downloading musescore-4.0.1. Maybe it
>>>> switches to the respective branch before building.
>>>> 
>>>> I even tried explicitly writing the origin entry of
>>>> (define musescore-3.6.2
>>>>     (package
>>>> 
>>>>       (inherit musescore)
>>>> 
>>>>       (version "3.6.2")
>>>>       (source
>>>>        (origin
>>>>          (method git-fetch)
>>>>          (uri (git-reference
>>>>                (url "https://github.com/musescore/MuseScore";)
>>>>                (commit (string-append "v" "3.6.2"))))
>>>>          (file-name (git-file-name "musescore" "3.6.2"))
>>>>          (sha256
>>>>           (base32 "0x2aahpbvss3sjydcq6xdh198fmslgypixmd2gckfwjqzady662y"))
>>>>          (modules '((guix build utils)))
>>>>          (snippet
>>>>           '(begin
>>>>              ;; Remove unused libraries...
>>>>              (for-each delete-file-recursively
>>>>                        '("thirdparty/freetype"))
>>>>              ;; ... and precompiled binaries.
>>>>              (delete-file-recursively "src/diagnostics/crashpad_handler")
>>>>              (substitute* "src/diagnostics/CMakeLists.txt"
>>>>                (("install") "#install"))))))))
>>>> 
>>>> guix shell -m manifest.scm still says 4.0.1 and executing mscore fails:
>>>> [env]$ mscore --version
>>>> QEventLoop: Cannot be used without QApplication
>>>> QEventLoop: Cannot be used without QApplication
>>>> qt.qpa.xcb: could not connect to display
>>>> qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even
>>>> though it was found.
>>>> This application failed to start because no Qt platform plugin could be
>>>> initialized. Reinstalling the application may fix this problem.
>>>> 
>>>> Available platform plugins are: eglfs, linuxfb, minimal, minimalegl,
>>>> offscreen, vnc, xcb.
>>>> 
>>>> Abgebrochen
>>>> 
>>>> So seems like in this case it's not so easy. (Well the current guix
>>>> packaged version is 4.0.1 so a major version change happened.)
>>>> 
>>>> One could try using the older package definition, which is available in
>>>> the git history of guix. Commit 6a54715988aee884bbb5f81e1b718a27ff771ec4
>>>> is the newest change to musescore with 3.6.2.
>>>> 9f93bcd1862c76d7ff30da6f712c9bd2912b8346 switched to 4.0. So it's parent
>>>> commit should have the newest dependencies which might work with current
>>>> guix.
>>>> I don't have time right now, but you might want to copy such an older
>>>> package definition into your manifest.scm
>>>> 
>>>> Martin
>>> 
>

Look at the output of dmesg. You may need to use sudo dmesg.

Look for something like OOM killed guile.
In that case you ran out of memory, too. That's kind unfortunate for 
time-machine to not work because of that, but I also sent you the package 
definition for musescore-3 with current guix. Try that approach.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]