* No Guile development packages were found. @ 2020-07-27 11:52 mbcladwell 2020-07-27 13:37 ` Efraim Flashner 2020-07-27 13:48 ` Julien Lepiller 0 siblings, 2 replies; 9+ messages in thread From: mbcladwell @ 2020-07-27 11:52 UTC (permalink / raw) To: help-guix Hi, I would like to upgrade guile-json in my local store. I start with $guix pull $guix package -u (didn't do anything) Modifying the template at https://guix.gnu.org/blog/2018/a-packaging-tutorial-for-guix/ I create the file guile-json.scm: (use-modules (guix packages) (guix download) (guix build-system gnu) (guix licenses)) (package (name "guile-json") (version "4.3.2") (source (origin (method url-fetch) (uri (string-append "https://download.savannah.gnu.org/releases/guile-json/guile-json-" version ".tar.gz")) (sha256 (base32 "0255c7f053z4p9mqzhpxwbfx3y47j9nfvlgnm8xasdclyzmjl9y2")))) (build-system gnu-build-system) (synopsis "Hello, Guix world: An example custom Guix package") (description "GNU Hello prints the message \"Hello, world!\" and then exits. It serves as an example of standard GNU coding practices. As such, it supports command-line arguments, multiple languages, and so on.") (home-page "https://www.gnu.org/software/hello/") (license gpl3+)) Then I run: $guix package --install-from-file=./Downloads/guile-json/guile-json.scm guix package: warning: Consider running 'guix pull' followed by 'guix package -u' to get up-to-date packages and security updates. The following package will be upgraded: guile-json 3.2.0 → 4.3.2 The following derivations will be built: /gnu/store/advvlsn24m0jc84ivqsfrd9y9bicfsan-profile.drv /gnu/store/w58xzy3xz0xf4ljr84k9q35kyriapvq6-guile-json-4.3.2.drv The following profile hooks will be built: /gnu/store/3z61qjph0ww2bizg904vmqn6p5cwgcyq-fonts-dir.drv /gnu/store/9nnjb0y55hb5ai9ss3zrljyx6npxqjip-ca-certificate-bundle.drv /gnu/store/jmris7xjszh69gci0mpxw76isrirb9dk-info-dir.drv /gnu/store/yyp1p3mpsz5azfl59sdlncr0zcscj6qx-manual-database.drv building /gnu/store/w58xzy3xz0xf4ljr84k9q35kyriapvq6-guile-json-4.3.2.drv... | 'configure' phasebuilder for `/gnu/store/w58xzy3xz0xf4ljr84k9q35kyriapvq6-guile-json-4.3.2.drv' failed with exit code 1 build of /gnu/store/w58xzy3xz0xf4ljr84k9q35kyriapvq6-guile-json-4.3.2.drv failed View build log at '/var/log/guix/drvs/w5/8xzy3xz0xf4ljr84k9q35kyriapvq6-guile-json-4.3.2.drv.bz2'. cannot build derivation `/gnu/store/advvlsn24m0jc84ivqsfrd9y9bicfsan-profile.drv': 1 dependencies couldn't be built guix package: error: build of `/gnu/store/advvlsn24m0jc84ivqsfrd9y9bicfsan-profile.drv' failed Looking at the log file, the final lines are: checking for pkg-config... no configure: checking for guile 3.0 configure: checking for guile 2.2 configure: checking for guile 2.0 configure: error: No Guile development packages were found. Please verify that you have Guile installed. If you installed Guile from a binary distribution, please verify that you have also installed the development packages. If you installed it yourself, you might need to adjust your PKG_CONFIG_PATH; see the pkg-config man page for more. command "/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash" "./configure" "CONFIG_SHELL=/gnu/store/29jhbbg1hf55$ I am on Debian 9 working with guile v 2.2.7, dev files are installed: apt-get install guile-2.0-dev Reading package lists... Done Building dependency tree Reading state information... Done guile-2.0-dev is already the newest version (2.0.13+1-4). In my .bashrc I set the variable such that at the terminal prompt: echo $PKG_CONFIG_PATH /home/mbc/.guix-profile/lib/pkgconfig Where did I go wrong? Thanks Mortimer ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: No Guile development packages were found. 2020-07-27 11:52 No Guile development packages were found mbcladwell @ 2020-07-27 13:37 ` Efraim Flashner 2020-07-27 18:29 ` mbcladwell 2020-07-27 13:48 ` Julien Lepiller 1 sibling, 1 reply; 9+ messages in thread From: Efraim Flashner @ 2020-07-27 13:37 UTC (permalink / raw) To: mbcladwell; +Cc: help-guix [-- Attachment #1: Type: text/plain, Size: 4396 bytes --] On Mon, Jul 27, 2020 at 06:52:52AM -0500, mbcladwell@stihie.net wrote: > > Hi, > I would like to upgrade guile-json in my local store. > I start with > $guix pull > $guix package -u (didn't do anything) > > Modifying the template at > https://guix.gnu.org/blog/2018/a-packaging-tutorial-for-guix/ > I create the file guile-json.scm: > > (use-modules (guix packages) > (guix download) > (guix build-system gnu) > (guix licenses)) > > (package > (name "guile-json") > (version "4.3.2") > (source (origin > (method url-fetch) > (uri (string-append > "https://download.savannah.gnu.org/releases/guile-json/guile-json-" version > ".tar.gz")) > (sha256 > (base32 > "0255c7f053z4p9mqzhpxwbfx3y47j9nfvlgnm8xasdclyzmjl9y2")))) > (build-system gnu-build-system) > (synopsis "Hello, Guix world: An example custom Guix package") > (description > "GNU Hello prints the message \"Hello, world!\" and then exits. It > serves as an example of standard GNU coding practices. As such, it supports > command-line arguments, multiple languages, and so on.") > (home-page "https://www.gnu.org/software/hello/") > (license gpl3+)) > > > Then I run: > > $guix package --install-from-file=./Downloads/guile-json/guile-json.scm > guix package: warning: Consider running 'guix pull' followed by > 'guix package -u' to get up-to-date packages and security updates. > > The following package will be upgraded: > guile-json 3.2.0 → 4.3.2 > > The following derivations will be built: > /gnu/store/advvlsn24m0jc84ivqsfrd9y9bicfsan-profile.drv > /gnu/store/w58xzy3xz0xf4ljr84k9q35kyriapvq6-guile-json-4.3.2.drv > The following profile hooks will be built: > /gnu/store/3z61qjph0ww2bizg904vmqn6p5cwgcyq-fonts-dir.drv > /gnu/store/9nnjb0y55hb5ai9ss3zrljyx6npxqjip-ca-certificate-bundle.drv > /gnu/store/jmris7xjszh69gci0mpxw76isrirb9dk-info-dir.drv > /gnu/store/yyp1p3mpsz5azfl59sdlncr0zcscj6qx-manual-database.drv > building /gnu/store/w58xzy3xz0xf4ljr84k9q35kyriapvq6-guile-json-4.3.2.drv... > | 'configure' phasebuilder for > `/gnu/store/w58xzy3xz0xf4ljr84k9q35kyriapvq6-guile-json-4.3.2.drv' failed > with exit code 1 > build of /gnu/store/w58xzy3xz0xf4ljr84k9q35kyriapvq6-guile-json-4.3.2.drv > failed > View build log at '/var/log/guix/drvs/w5/8xzy3xz0xf4ljr84k9q35kyriapvq6-guile-json-4.3.2.drv.bz2'. > cannot build derivation > `/gnu/store/advvlsn24m0jc84ivqsfrd9y9bicfsan-profile.drv': 1 dependencies > couldn't be built > guix package: error: build of > `/gnu/store/advvlsn24m0jc84ivqsfrd9y9bicfsan-profile.drv' failed > > > Looking at the log file, the final lines are: > > checking for pkg-config... no > configure: checking for guile 3.0 > configure: checking for guile 2.2 > configure: checking for guile 2.0 > configure: error: > No Guile development packages were found. > > Please verify that you have Guile installed. If you installed Guile > from a binary distribution, please verify that you have also installed > the development packages. If you installed it yourself, you might need > to adjust your PKG_CONFIG_PATH; see the pkg-config man page for more. > > command > "/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash" > "./configure" "CONFIG_SHELL=/gnu/store/29jhbbg1hf55$ > > > I am on Debian 9 working with guile v 2.2.7, dev files are installed: > > apt-get install guile-2.0-dev > Reading package lists... Done > Building dependency tree > Reading state information... Done > guile-2.0-dev is already the newest version (2.0.13+1-4). > > In my .bashrc I set the variable such that at the terminal prompt: > > echo $PKG_CONFIG_PATH > /home/mbc/.guix-profile/lib/pkgconfig > > Where did I go wrong? > Thanks > Mortimer Builds occur in a chrooted environment, so only the packages added in the package definition are there. Try adding (inputs `(("guile" ,guile))) to the package definition after the build-system line. and (gnu packages guile) to the top with the other use-modules. -- Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: No Guile development packages were found. 2020-07-27 13:37 ` Efraim Flashner @ 2020-07-27 18:29 ` mbcladwell 2020-07-27 20:25 ` Julien Lepiller 0 siblings, 1 reply; 9+ messages in thread From: mbcladwell @ 2020-07-27 18:29 UTC (permalink / raw) To: Efraim Flashner; +Cc: help-guix Quoting Efraim Flashner <efraim@flashner.co.il>: > On Mon, Jul 27, 2020 at 06:52:52AM -0500, mbcladwell@stihie.net wrote: >> >> Hi, >> I would like to upgrade guile-json in my local store. >> I start with >> $guix pull >> $guix package -u (didn't do anything) >> [...] > Builds occur in a chrooted environment, so only the packages added in > the package definition are there. Try adding > > (inputs > `(("guile" ,guile))) > > to the package definition after the build-system line. and (gnu packages > guile) to the top with the other use-modules. > My guile-json now looks like: (use-modules (guix packages) (guix download) (guix build-system gnu) (guix licenses) (gnu packages guile) ) (package (name "guile-json") (version "4.3.2") (source (origin (method url-fetch) (uri (string-append "https://download.savannah.gnu.org/releases/guile-json/guile-json-" version ".tar.gz")) (sha256 (base32 "0255c7f053z4p9mqzhpxwbfx3y47j9nfvlgnm8xasdclyzmjl9y2")))) (build-system gnu-build-system) (inputs `(("guile" ,guile))) (synopsis "Hello, Guix world: An example custom Guix package") (description "GNU Hello prints the message \"Hello, world!\" and then exits. It serves as an example of standard GNU coding practices. As such, it supports command-line arguments, multiple languages, and so on.") (home-page "https://www.gnu.org/software/hello/") (license gpl3+)) The results: mbc@xps:~$ guix package --install-from-file=./Downloads/guile-json/guile-json.scm guix package: warning: Consider running 'guix pull' followed by 'guix package -u' to get up-to-date packages and security updates. The following package will be upgraded: guile-json 3.2.0 → 4.3.2 Backtrace: 1 (primitive-load "/usr/local/bin/guix") In guix/ui.scm: 1936:12 0 (run-guix-command _ . _) guix/ui.scm:1936:12: In procedure run-guix-command: error: guile: unbound variable Why doesn't the "Defining Packages" help (https://guix.gnu.org/manual/en/html_node/Defining-Packages.html) mention guile as an input? Are guile-2.0-dev packages needed in the Guix Store? From the error: Backtrace: 1 (primitive-load "/usr/local/bin/guix") "/usr/local/bin/guix", not ~/.config/guix/current/bin/guix as mentioned by Julien Lepiller. Is this my problem? Thanks Mortimer ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: No Guile development packages were found. 2020-07-27 18:29 ` mbcladwell @ 2020-07-27 20:25 ` Julien Lepiller 2020-07-28 8:50 ` mbcladwell 2020-07-28 19:25 ` mbcladwell 0 siblings, 2 replies; 9+ messages in thread From: Julien Lepiller @ 2020-07-27 20:25 UTC (permalink / raw) To: mbcladwell; +Cc: help-guix Le Mon, 27 Jul 2020 13:29:28 -0500, mbcladwell@stihie.net a écrit : > (inputs > `(("guile" ,guile))) The variable that contains the latest guile package is not named guile, which explains the error you get. Although the package is named "guile" (because of its name field), the variable that contains it is guile-3.0, so use this instead: > (inputs > `(("guile" ,guile-3.0))) You'll also need pkg-config as a native-inputs, and to import the module (gnu packages pkg-config) for the variable to be defined: > (native-inputs > `(("pkg-config" ,pkg-config))) HTH! ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: No Guile development packages were found. 2020-07-27 20:25 ` Julien Lepiller @ 2020-07-28 8:50 ` mbcladwell 2020-07-28 19:25 ` mbcladwell 1 sibling, 0 replies; 9+ messages in thread From: mbcladwell @ 2020-07-28 8:50 UTC (permalink / raw) To: Julien Lepiller; +Cc: help-guix Thanks for your assistance. The final .scm that was successful is: (use-modules (guix packages) (guix download) (guix build-system gnu) (guix licenses) (gnu packages pkg-config) (gnu packages guile) ) (package (name "guile-json") (version "4.3.2") (home-page "https://github.com/aconchillo/guile-json") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/guile-json/guile-json-" version ".tar.gz")) (sha256 (base32 "0255c7f053z4p9mqzhpxwbfx3y47j9nfvlgnm8xasdclyzmjl9y2")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) )) (inputs `(("guile" ,guile-3.0))) (synopsis "JSON module for Guile") (description "Guile-JSON supports parsing and building JSON documents according to the specification. These are the main features: @itemize @item Strictly complies to @uref{http://json.org, specification}. @item Build JSON documents programmatically via macros. @item Unicode support for strings. @item Allows JSON pretty printing. @end itemize\n") ;; Version 1.2.0 switched to GPLv3+ (from LGPLv3+). (license gpl3+)) Quoting Julien Lepiller <julien@lepiller.eu>: > Le Mon, 27 Jul 2020 13:29:28 -0500, > mbcladwell@stihie.net a écrit : > >> (inputs >> `(("guile" ,guile))) > > The variable that contains the latest guile package is not named guile, > which explains the error you get. Although the package is named "guile" > (because of its name field), the variable that contains it is guile-3.0, > so use this instead: > >> (inputs >> `(("guile" ,guile-3.0))) > > You'll also need pkg-config as a native-inputs, and to import the > module (gnu packages pkg-config) for the variable to be defined: > >> (native-inputs >> `(("pkg-config" ,pkg-config))) > > HTH! ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: No Guile development packages were found. 2020-07-27 20:25 ` Julien Lepiller 2020-07-28 8:50 ` mbcladwell @ 2020-07-28 19:25 ` mbcladwell 1 sibling, 0 replies; 9+ messages in thread From: mbcladwell @ 2020-07-28 19:25 UTC (permalink / raw) To: Julien Lepiller; +Cc: help-guix Hi Again, I was able to generate the guile-json-4.3.2 package as previously reported. If I query the store using find, I can find it: mbc@xps:~$ find /gnu/store -name *guile-json-4.3.2* /gnu/store/4kjf5q17mz8n7agii1wwgbkl8l8mqj5k-guile-json-4.3.2 /gnu/store/4kjf5q17mz8n7agii1wwgbkl8l8mqj5k-guile-json-4.3.2/share/doc/guile-json-4.3.2 /gnu/store/kvnii8dfyzwpfw4g5sgiysdym4wcvn28-profile/share/doc/guile-json-4.3.2 /gnu/store/0mmid8lny9m4d5y8r0nprjhrcyq310ci-profile/share/doc/guile-json-4.3.2 /gnu/store/kjrrwzjzr5m9mixx672l5drzkmkal3dq-guile-json-4.3.2 /gnu/store/kjrrwzjzr5m9mixx672l5drzkmkal3dq-guile-json-4.3.2/share/doc/guile-json-4.3.2 /gnu/store/y92zl3bgw14aqxp4wxv55bh6gb8x6rz5-guile-json-4.3.2.tar.gz.drv /gnu/store/1bb8qs23m53j6h1vdfc85fqp73yhgvky-guile-json-4.3.2-guile-builder /gnu/store/gyzhw6paa6w221m7m5qcdalyhfm4a55d-guile-json-4.3.2.drv /gnu/store/zn50y9hp3paqvjnni7nr12xkqbjqys58-guile-json-4.3.2.lock /gnu/store/9vgjb927gh4gcq6dpqbx7bhdx296w9mg-guile-json-4.3.2.tar.gz /gnu/store/ayg6iinxpn1hyyan27wxamy9k5lzabma-guile-json-4.3.2.tar.gz.drv /gnu/store/39kignb7hjs30gzcm90q3n4jwn73mg8j-guile-json-4.3.2-guile-builder /gnu/store/w58xzy3xz0xf4ljr84k9q35kyriapvq6-guile-json-4.3.2.drv /gnu/store/wgnccs2vg65vhiv8z5kp0bi7hn0s50ka-guile-json-4.3.2.tar.gz.drv /gnu/store/85lq1y20lkaw65kl0w7m7g6c9xrgajbi-guile-json-4.3.2-guile-builder /gnu/store/hli7j06dwalzr0n87snfis7k8wz8ysic-guile-json-4.3.2.drv However with guix package: $ guix package -s guile-json guile: warning: failed to install locale name: guile-json version: 4.0.1 outputs: out systems: x86_64-linux i686-linux dependencies: guile@3.0.2 pkg-config@0.29.2 location: ^[]8;;file://xps/gnu/store/q8fal8szyrblcmf760w98dnsf58x2ib7-guix-module-union/share/guile/site/3.0/gnu/packages/guile.scm^[\gnu/packages/guile.scm:574:2^[]8;;^[\ homepage: https://github.com/aconchillo/guile-json license: ^[]8;;https://www.gnu.org/licenses/gpl.html^[\GPL 3+^[]8;;^[\ synopsis: JSON module for Guile description: Guile-JSON supports parsing and building JSON documents according to the specification. These are the main + features: + + * Strictly complies to specification (http://json.org). + + * Build JSON documents programmatically via macros. + + * Unicode support for strings. + + * Allows JSON pretty printing. relevance: 22 name: guile-json version: 3.5.0 outputs: out systems: x86_64-linux i686-linux dependencies: guile@3.0.2 pkg-config@0.29.2 location: ^[]8;;file://xps/gnu/store/q8fal8szyrblcmf760w98dnsf58x2ib7-guix-module-union/share/guile/site/3.0/gnu/packages/guile.scm^[\gnu/packages/guile.scm:555:2^[]8;;^[\ homepage: https://github.com/aconchillo/guile-json : ... and some lower versions but no 4.3.2 If I try to use in a manifest: manifest.scm: (specifications->manifest '("guile" "guile-lib" "coreutils" "gawk" "sed" "findutils" "glibc" "grep" "openssl" "gnutls" "guile-json@4.3.2" "curl" )) $ guix environment --network --expose=/etc/ssl/certs/ --manifest=manifest.scm guile: warning: failed to install locale guix environment: error: guile-json: package not found for version 4.3.2 guix environment: error: failed to load 'manifest.scm': gnu/packages.scm:523:4: In procedure specification->package+output: Throw to key `quit' with args `(1)'. Where did I go wrong? Thanks Mortimer ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: No Guile development packages were found. 2020-07-27 11:52 No Guile development packages were found mbcladwell 2020-07-27 13:37 ` Efraim Flashner @ 2020-07-27 13:48 ` Julien Lepiller 2020-07-27 18:58 ` mbcladwell 1 sibling, 1 reply; 9+ messages in thread From: Julien Lepiller @ 2020-07-27 13:48 UTC (permalink / raw) To: mbcladwell; +Cc: help-guix Hi, Le Mon, 27 Jul 2020 06:52:52 -0500, mbcladwell@stihie.net a écrit : > Hi, > I would like to upgrade guile-json in my local store. > I start with > $guix pull > $guix package -u (didn't do anything) If guile-json is not installed in your default profile, that's expected. Otherwise, maybe it was your first guix pull? Make sure you have ~/.config/guix/current/bin *first* in your $PATH and run "hash guix" to invalidate your shell's cache for the guix binary location. Make sure "type guix" returns ~/.config/guix/current/bin/guix. > > Modifying the template at > https://guix.gnu.org/blog/2018/a-packaging-tutorial-for-guix/ > I create the file guile-json.scm: > > [...] > > Looking at the log file, the final lines are: > > checking for pkg-config... no > configure: checking for guile 3.0 > configure: checking for guile 2.2 > configure: checking for guile 2.0 > configure: error: > No Guile development packages were found. > > Please verify that you have Guile installed. If you installed Guile > from a binary distribution, please verify that you have also installed > the development packages. If you installed it yourself, you might > need to adjust your PKG_CONFIG_PATH; see the pkg-config man page for > more. > > command > "/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash" > "./configure" "CONFIG_SHELL=/gnu/store/29jhbbg1hf55$ > > > I am on Debian 9 working with guile v 2.2.7, dev files are installed: > > apt-get install guile-2.0-dev > Reading package lists... Done > Building dependency tree > Reading state information... Done > guile-2.0-dev is already the newest version (2.0.13+1-4). Guix does not interact with your system, and ensures that it does not use anything from it when building. Otherwise, the resulting package's content might depend on the content of the system that built it, and we wouldn't be able to ensure reproducibility across all the linux distributions. Instead, Guix builds packages in its own container system, completely isolated from the system, your environment variables, etc... In order to ensure guile is present in this container, you must declare it as a dependency (we call that an "input"). You'll also need pkg-config, so the package definition would look like this: (package (name "guile-json") ... (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("guile" guile-3.0))) ... (license gpl3+)) With the necessary imports at the beginning of the file. You can have a look at the actual definition we use in Guix with: guix edit guile-json Another possibility, as guile-json is available in Guix (we have 1.2.0, 3.5.0 and 4.0.1 currently) is to use the available recipe for guile-json but with a different source, like this: guix install guile-json@3.5.0 --with-source=https://... Not tested and if something changed in the build instructions, it might break, but it's certainly easier than creating your own definition from scratch. I specify the version since it's the closest to the version you want (in fact the recipe has not changed for guile-json 4, which would be the one used if you don't specify a version). Note that you'll need guile itself in your profile too in order for guile-json to be useful. > > In my .bashrc I set the variable such that at the terminal prompt: > > echo $PKG_CONFIG_PATH > /home/mbc/.guix-profile/lib/pkgconfig > > Where did I go wrong? As said above, guix just doesn't care about your environment :) > Thanks > Mortimer > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: No Guile development packages were found. 2020-07-27 13:48 ` Julien Lepiller @ 2020-07-27 18:58 ` mbcladwell 2020-07-27 20:21 ` Julien Lepiller 0 siblings, 1 reply; 9+ messages in thread From: mbcladwell @ 2020-07-27 18:58 UTC (permalink / raw) To: Julien Lepiller; +Cc: help-guix Quoting Julien Lepiller <julien@lepiller.eu>: > Hi, > > Le Mon, 27 Jul 2020 06:52:52 -0500, > mbcladwell@stihie.net a écrit : > >> Hi, >> I would like to upgrade guile-json in my local store. >> I start with >> $guix pull >> $guix package -u (didn't do anything) > > If guile-json is not installed in your default profile, that's > expected. Otherwise, maybe it was your first guix pull? Make sure you > have ~/.config/guix/current/bin *first* in your $PATH and run "hash > guix" to invalidate your shell's cache for the guix binary location. > > Make sure "type guix" returns ~/.config/guix/current/bin/guix. > >> >> Modifying the template at >> https://guix.gnu.org/blog/2018/a-packaging-tutorial-for-guix/ >> I create the file guile-json.scm: >> >> [...] >> >> Looking at the log file, the final lines are: >> >> checking for pkg-config... no >> configure: checking for guile 3.0 >> configure: checking for guile 2.2 >> configure: checking for guile 2.0 >> configure: error: >> No Guile development packages were found. >> >> Please verify that you have Guile installed. If you installed Guile >> from a binary distribution, please verify that you have also installed >> the development packages. If you installed it yourself, you might >> need to adjust your PKG_CONFIG_PATH; see the pkg-config man page for >> more. >> >> command >> "/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash" >> "./configure" "CONFIG_SHELL=/gnu/store/29jhbbg1hf55$ >> >> >> I am on Debian 9 working with guile v 2.2.7, dev files are installed: >> >> apt-get install guile-2.0-dev >> Reading package lists... Done >> Building dependency tree >> Reading state information... Done >> guile-2.0-dev is already the newest version (2.0.13+1-4). > > Guix does not interact with your system, and ensures that it does not > use anything from it when building. Otherwise, the resulting package's > content might depend on the content of the system that built it, and we > wouldn't be able to ensure reproducibility across all the linux > distributions. > > Instead, Guix builds packages in its own container system, completely > isolated from the system, your environment variables, etc... In order > to ensure guile is present in this container, you must declare it as a > dependency (we call that an "input"). You'll also need pkg-config, so > the package definition would look like this: > > (package > (name "guile-json") > ... > (build-system gnu-build-system) > (native-inputs > `(("pkg-config" ,pkg-config))) > (inputs > `(("guile" guile-3.0))) > ... > (license gpl3+)) > > With the necessary imports at the beginning of the file. You can have a > look at the actual definition we use in Guix with: > > guix edit guile-json > > Another possibility, as guile-json is available in Guix (we have 1.2.0, > 3.5.0 and 4.0.1 currently) is to use the available recipe for guile-json > but with a different source, like this: > > guix install guile-json@3.5.0 --with-source=https://... > > Not tested and if something changed in the build instructions, it might > break, but it's certainly easier than creating your own definition from > scratch. I specify the version since it's the closest to the version > you want (in fact the recipe has not changed for guile-json 4, which > would be the one used if you don't specify a version). > > Note that you'll need guile itself in your profile too in order for > guile-json to be useful. > >> >> In my .bashrc I set the variable such that at the terminal prompt: >> >> echo $PKG_CONFIG_PATH >> /home/mbc/.guix-profile/lib/pkgconfig >> >> Where did I go wrong? > > As said above, guix just doesn't care about your environment :) > >> Thanks >> Mortimer >> I need guile-json >= 4.2 because 4.2 provides guile-json-mapping I modified PATH: mbc@xps:~$ echo $PATH /opt/gradle/gradle-4.8.1/bin:/home/mbc/bin:/gnu/profiles/base/bin:/usr/share/lintian/overrides:/usr/local/bin/guile:/home/mbc/.guix-profile/bin:/home/mbc/.nvm/versions/node/v12.16.3/bin:/usr/local/bin:/usr/bin:/bin: mbc@xps:~$ export PATH=/home/mbc/.config/guix/current/bin/guix:$PATH mbc@xps:~$ echo $PATH /home/mbc/.config/guix/current/bin/guix:/opt/gradle/gradle-4.8.1/bin:/home/mbc/bin:/gnu/profiles/base/bin:/usr/share/lintian/overrides:/usr/local/bin/guile:/home/mbc/.guix-profile/bin:/home/mbc/.nvm/versions/node/v12.16.3/bin:/usr/local/bin:/usr/bin:/bin: /home/mbc/.config/guix/current/bin/guix is first but: mbc@xps:~$ hash guix mbc@xps:~$ type guix guix is hashed (/usr/local/bin/guix) mbc@xps:~$ Thanks Mortimer ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: No Guile development packages were found. 2020-07-27 18:58 ` mbcladwell @ 2020-07-27 20:21 ` Julien Lepiller 0 siblings, 0 replies; 9+ messages in thread From: Julien Lepiller @ 2020-07-27 20:21 UTC (permalink / raw) To: mbcladwell; +Cc: help-guix Le Mon, 27 Jul 2020 13:58:07 -0500, mbcladwell@stihie.net a écrit : > /home/mbc/.config/guix/current/bin/guix is first but: > > mbc@xps:~$ hash guix > mbc@xps:~$ type guix > guix is hashed (/usr/local/bin/guix) > mbc@xps:~$ I should be /home/mbc/.config/guix/current/bin don't specify guix as part of the path, it's the name of the binary ;) ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-07-28 19:25 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-07-27 11:52 No Guile development packages were found mbcladwell 2020-07-27 13:37 ` Efraim Flashner 2020-07-27 18:29 ` mbcladwell 2020-07-27 20:25 ` Julien Lepiller 2020-07-28 8:50 ` mbcladwell 2020-07-28 19:25 ` mbcladwell 2020-07-27 13:48 ` Julien Lepiller 2020-07-27 18:58 ` mbcladwell 2020-07-27 20:21 ` Julien Lepiller
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).