From: "Sébastien Rey-Coyrehourcq" <sebastien.rey-coyrehourcq@univ-rouen.fr>
To: Wojtek Kosior <koszko@koszko.org>
Cc: zimoun <zimon.toutoune@gmail.com>, help-guix <help-guix@gnu.org>
Subject: Re: Help packaging R Quarto Cli
Date: Fri, 25 Nov 2022 17:38:04 +0100 [thread overview]
Message-ID: <87cz9b56l6.fsf@univ-rouen.fr> (raw)
In-Reply-To: <20221116215712.7825e8c0@koszkonutek-tmp.pl.eu.org>
[-- Attachment #1.1.1: Type: text/plain, Size: 9488 bytes --]
Hi,
Thanks a lot, that helps me to make one more step :)
I set :
┌────
│ (arguments
│ `(#:phases
│ (modify-phases %standard-phases
│ (add-before 'configure 'set-source
│ (lambda _
│ (setenv "V8_FROM_SOURCE" "1")
│ (setenv "RUST_BACKTRACE" "1")
│ (setenv "CLANG_BASE_PATH" (getenv "CMAKE_PREFIX_PATH"))
│ #t)))
└────
I also try C_INCLUDE_PATH
and native input :
┌────
│ (native-inputs (list ninja gn clang-toolchain ccache clang))
└────
I have now another problem during compilation of v8, i don’t understand why “clang” path is not well recognized by the buildscript, test is defined here :
<https://github.com/denoland/rusty_v8/blob/main/build.rs#L517>
The backtrace :
error: failed to run custom build command for `v8 v0.49.0`
Caused by:
process didn’t exit successfully: `/tmp/guix-build-rust-deno-1.25.2.drv-0/deno-1.25.2/target/release/build/v8-bbb68ec56db1d802/build-script-build` (exit status: 101)
— stdout
cargo:rerun-if-changed=.gn
cargo:rerun-if-changed=BUILD.gn
cargo:rerun-if-changed=src/binding.cc
cargo:rerun-if-env-changed=CCACHE
cargo:rerun-if-env-changed=CLANG_BASE_PATH
cargo:rerun-if-env-changed=DENO_TRYBUILD
cargo:rerun-if-env-changed=DOCS_RS
cargo:rerun-if-env-changed=GN
cargo:rerun-if-env-changed=GN_ARGS
cargo:rerun-if-env-changed=HOST
cargo:rerun-if-env-changed=NINJA
cargo:rerun-if-env-changed=OUT_DIR
cargo:rerun-if-env-changed=RUSTY_V8_ARCHIVE
cargo:rerun-if-env-changed=RUSTY_V8_MIRROR
cargo:rerun-if-env-changed=SCCACHE
cargo:rerun-if-env-changed=V8_FORCE_DEBUG
cargo:rerun-if-env-changed=V8_FROM_SOURCE
cargo:rustc-link-lib=static=rusty_v8
using Chromiums clang
clang_base_path /tmp/guix-build-rust-deno-1.25.2.drv-0/deno-1.25.2/target/release/clang
— stderr
thread ’main’ panicked at ’called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: “No such file or directory” }’, /tmp/guix-build-rust-deno-1.25.2.drv-0/deno-1.25.2/guix-vendor/rust-v8-0.49.0.tar.gz/build.rs:537:6
stack backtrace:
0: rust_begin_unwind
1: core::panicking::panic_fmt
2: core::result::unwrap_failed
3: core::result::Result<T,E>::unwrap
4: build_script_build::clang_download
5: build_script_build::build_v8
6: build_script_build::main
7: core::ops::function::FnOnce::call_once
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Best,
Wojtek Kosior <koszko@koszko.org> writes:
>> Hi,
>>
>> You’re both right, seems there is a flag to skip binary downloading and
>> compile the V8 lib.
>>
>> […]
>
> Good to see you found it :)
>
>> So, my packaging friend :), what’s the best way to push an “export
>> V8_FROM_SOURCE=1” or something like that into my rust-deno.scm ?
>>
>> Best,
>>
>> SR
>
> When I first read your question, I did not know the exact function. But
> I knew where to look. So I thought I’d better share my way of learning
> rather than just the solution ;)
>
> I started with
>
> grep -R ’export’ ~/.config/guix/current/share/guile/site/3.0/gnu/packages/ | less
>
> That showed a lot of results. I noticed a line like this
>
>> /home/urz/.config/guix/current/share/guile/site/3.0/gnu/packages/engineering.scm: (setenv “HOME” (getcwd)) ;; cmake needs this to export modules
>
> Thought it might be the thing I was looking for, so I did
>
> less /home/urz/.config/guix/current/share/guile/site/3.0/gnu/packages/engineering.scm
>
> and navigated to this line. This seems to be it. The (setenv) function.
> Can be used as from a modified packaging phase function (as you can see
> in engineering.scm).
>
> Hope I helped. Good luck once again!
>
> W.
>
> P.S. Make sure you know some ’less’ shortcuts if you’re going to do
> things this way. It cad speed things up ^^
>
> – (sig_start)
> website: <https://koszko.org/koszko.html>
> PGP: <https://koszko.org/key.gpg>
> fingerprint: E972 7060 E3C5 637C 8A4F 4B42 4BC5 221C 5A79 FD1A
>
> Meet Kraków saints! #12: saint Jadwiga Andegaweńska
> Poznaj świętych krakowskich! #12: święta Jadwiga Andegaweńska
> <https://pl.wikipedia.org/wiki/Jadwiga_Andegaweńska>
> – (sig_end)
>
>
> On Wed, 16 Nov 2022 21:38:47 +0100
> Sebastien Rey-Coyrehourcq <sebastien.rey-coyrehourcq@univ-rouen.fr> wrote:
>
>> Hi,
>>
>> You’re both right, seems there is a flag to skip binary downloading and
>> compile the V8 lib.
>>
>> From the githubpage (<https://github.com/denoland/rusty_v8>) : “V8 is
>> very large and takes a long time to compile. Many users will prefer to
>> use a prebuilt version of V8. We publish static libs for every version
>> of rusty v8 on Github <https://github.com/denoland/rusty_v8/releases>.
>>
>> Binaries builds are turned on by default: |cargo build| will initiate a
>> download from github to get the static lib. To disable this build using
>> the |V8_FROM_SOURCE| environmental variable.
>>
>> When making changes to rusty_v8 itself, it should be tested by build
>> from source. The CI always builds from source”
>>
>> So, my packaging friend :), what’s the best way to push an “export
>> V8_FROM_SOURCE=1” or something like that into my rust-deno.scm ?
>>
>> Best,
>>
>> SR
>>
>> Le 15/11/2022 à 08:58, Efraim Flashner a écrit :
>> > On Mon, Nov 14, 2022 at 11:30:47PM +0100, Sébastien Rey-Coyrehourcq wrote:
>> >> Hi,
>> >>
>> >> After some day of packaging rust crate, i progress and deno start to compile … but after 1min i have this error when cargo start compiling *rust-v8-0.49* . Any rust + guix help appreciated.
>> >>
>> >> I push the channel to reproduce the problem here :
>> >>
>> >> The rust scm repo : git.sr.ht:~reyman/rust-channel
>> >> Channel info to put into *channels.scm* :<https://paste.debian.net/1260722>
>> >> The *rust-deno.scm* file to build :<https://paste.debian.net/1260723>
>> >> The command : guix time-machine -C channels.scm – build -f rust-deno.scm
>> >>
>> >> And the rust error :
>> >>
>> >> —
>> >>
>> >> error: failed to run custom build command for `v8 v0.49.0`
>> >>
>> >> Caused by:
>> >> process didn’t exit successfully: `/tmp/guix-build-rust-deno-1.25.2.drv-0/deno-1.25.2/target/release/build/v8-bbb68ec56db1d802/build-script-build` (exit status: 101)
>> >> — stdout
>> >> cargo:rerun-if-changed=.gn
>> >> cargo:rerun-if-changed=BUILD.gn
>> >> cargo:rerun-if-changed=src/binding.cc
>> >> cargo:rerun-if-env-changed=CCACHE
>> >> cargo:rerun-if-env-changed=CLANG_BASE_PATH
>> >> cargo:rerun-if-env-changed=DENO_TRYBUILD
>> >> cargo:rerun-if-env-changed=DOCS_RS
>> >> cargo:rerun-if-env-changed=GN
>> >> cargo:rerun-if-env-changed=GN_ARGS
>> >> cargo:rerun-if-env-changed=HOST
>> >> cargo:rerun-if-env-changed=NINJA
>> >> cargo:rerun-if-env-changed=OUT_DIR
>> >> cargo:rerun-if-env-changed=RUSTY_V8_ARCHIVE
>> >> cargo:rerun-if-env-changed=RUSTY_V8_MIRROR
>> >> cargo:rerun-if-env-changed=SCCACHE
>> >> cargo:rerun-if-env-changed=V8_FORCE_DEBUG
>> >> cargo:rerun-if-env-changed=V8_FROM_SOURCE
>> >> cargo:rustc-link-lib=static=rusty_v8
>> >> download lockfile: “/tmp/guix-build-rust-deno-1.25.2.drv-0/deno-1.25.2/target/release/build/lib_download.fslock”
>> >> static lib URL:<https://github.com/denoland/rusty_v8/releases/download/v0.49.0/librusty_v8_release_x86_64-unknown-linux-gnu.a>
>> >> cargo:rustc-link-search=/tmp/guix-build-rust-deno-1.25.2.drv-0/deno-1.25.2/target/release/gn_out/obj
>> >> Downloading<https://github.com/denoland/rusty_v8/releases/download/v0.49.0/librusty_v8_release_x86_64-unknown-linux-gnu.a>
>> >> Python downloader failed, trying with curl.
>> > Looks like you need to patch rust-v8-0.49 to not try to download
>> > librusty_v8_release… but instead you’ll have to build it from source
>> > and let it know where to find it.
>> >
>> >> — stderr
>> >> thread ’main’ panicked at ’called `Result::unwrap()` on an `Err` value:
>> >> Os { code: 2, kind: NotFound, message: “No such file or directory” }’,
>> >> /tmp/guix-build-rust-deno-1.25.2.drv-0/deno-1.25.2/guix-vendor/rust-v8-0.49.0.tar.gz/build.rs:405:10
>> >> note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
>> >> warning: build failed, waiting for other jobs to finish…
>> >> error: build failed
>> >> error: in phase ’build’: uncaught exception:
>> >> %exception #<&invoke-error program: “cargo” arguments: (“build” “–release”) exit-status: 101 term-signal: #f stop-signal: #f>
>> >> phase `build’ failed after 105.5 seconds
>> >> command “cargo” “build” “–release” failed with status 101
>> >> builder for `/gnu/store/g4m5c558l1q4g1kggzg2v9vkw352nnaj-rust-deno-1.25.2.drv’ failed with exit code 1
>> >> la compilation de /gnu/store/g4m5c558l1q4g1kggzg2v9vkw352nnaj-rust-deno-1.25.2.drv a échoué
>> >> Vous trouverez le journal de compilation dans « /var/log/guix/drvs/g4/m5c558l1q4g1kggzg2v9vkw352nnaj-rust-deno-1.25.2.drv.gz ».
>> >> guix build: erreur : build of `/gnu/store/g4m5c558l1q4g1kggzg2v9vkw352nnaj-rust-deno-1.25.2.drv’ failed
>> >
>
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 889 bytes --]
next prev parent reply other threads:[~2022-11-25 16:42 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-24 11:43 Help packaging R Quarto Cli Sébastien Rey-Coyrehourcq
2022-10-24 16:00 ` Sebastien Rey-Coyrehourcq
2022-10-25 10:15 ` zimoun
2022-12-15 8:32 ` Sébastien Rey-Coyrehourcq
2022-12-15 10:56 ` zimoun
2022-12-15 19:29 ` Wojtek Kosior via
2022-12-22 15:16 ` Sébastien Rey-Coyrehourcq
2023-03-20 16:51 ` Rey-Coyrehourcq Sébastien
2023-03-20 18:03 ` Wojtek Kosior via
2022-10-24 17:08 ` zimoun
2022-10-24 17:48 ` Csepp
2022-10-24 18:40 ` Wojtek Kosior via
2022-10-25 10:08 ` zimoun
2022-10-25 11:17 ` Wojtek Kosior via
2022-10-27 7:05 ` Sébastien Rey-Coyrehourcq
2022-10-27 9:54 ` Wojtek Kosior via
2022-10-28 16:19 ` Sébastien Rey-Coyrehourcq
2022-10-28 20:17 ` Wojtek Kosior via
2022-10-28 21:32 ` Sébastien Rey-Coyrehourcq
2022-11-03 19:19 ` Wojtek Kosior via
2022-11-14 22:30 ` Sébastien Rey-Coyrehourcq
2022-11-14 22:57 ` Wojtek Kosior via
2022-11-15 7:58 ` Efraim Flashner
2022-11-16 20:38 ` Sebastien Rey-Coyrehourcq
2022-11-16 20:57 ` Wojtek Kosior via
2022-11-25 16:38 ` Sébastien Rey-Coyrehourcq [this message]
2022-12-14 10:30 ` Sébastien Rey-Coyrehourcq
2022-12-14 15:46 ` Wojtek Kosior via
2022-12-14 16:16 ` Sébastien Rey-Coyrehourcq
2022-12-14 17:45 ` Wojtek Kosior via
2022-12-14 20:41 ` Sébastien Rey-Coyrehourcq
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87cz9b56l6.fsf@univ-rouen.fr \
--to=sebastien.rey-coyrehourcq@univ-rouen.fr \
--cc=help-guix@gnu.org \
--cc=koszko@koszko.org \
--cc=zimon.toutoune@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).