From mboxrd@z Thu Jan 1 00:00:00 1970 From: myglc2 Subject: Re: [PATCH 0/6] Error reporting and hints for missing modules Date: Fri, 10 Nov 2017 09:47:37 -0500 Message-ID: <86shdmtcl2.fsf@gmail.com> References: <87zi7xwvso.fsf_-_@gnu.org> <20171108130921.25202-1-ludo@gnu.org> <72bfb7a9ff14c437a704381f807ce2f7@lepiller.eu> <86wp30psz4.fsf@gmail.com> <86r2t8y4gt.fsf@gmail.com> <87vaijgikt.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41493) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eDAat-00024J-Ih for guix-devel@gnu.org; Fri, 10 Nov 2017 09:47:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eDAaq-0004yK-EH for guix-devel@gnu.org; Fri, 10 Nov 2017 09:47:43 -0500 In-Reply-To: <87vaijgikt.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 10 Nov 2017 00:04:18 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 11/10/2017 at 00:04 Ludovic Court=C3=A8s writes: > > Thrilled by this idea, I pushed an unbound-variable handler that can > provide hints, such as: > > configuration.scm:88:19: zip: unbound variable > hint: Try adding `(use-modules (gnu packages compression))'. > > Feedback welcome! I built and played with this. If I follow some of the hints literally they lead me astray. Here are some suggested hint rewording. Note: You can reproduce the errors/hints below with the attached files. HTH - George HINT REWORDING SUGGESTIONS: *** test2: "NON EXISTANT PACKAGE MODULE (qemu) for qemu PACKAGE SPECIFIED" The error messages ... /root/ctest/test2:4:0: error: module (gnu packages qemu) not found hint: Try adding `(use-package-modules virtualization)'. ... are followed literally in test2.fix, which does not fix the problem because the stale and non-existant 'qemu' package module reference also needs to be removed. Maybe a better hint would be ... hint: Remove the reference to the pachage module that was not=20 hint: found and add `(use-package-modules virtualization)'. *** test3: 'NON EXISTANT (openssh) SERVICE MODULE specified' This has the same conceptual problem as test2 above.=20 The error messages ... /root/ctest/test3:3:0: error: module (gnu services openssh) not found hint: Try adding `(use-service-modules ssh)'. ... are followed literally in test3.fix, which does not fix the problem because the non-existant 'openssh' service module reference also needs to be removed. Maybe a better hint would be ... hint: Remove the reference to the service module that was not=20 hint: found and add `(use-service-modules ssh)'. *** test4: "SERVICE MODULE (ssh) for openssh-service-type SERVICE MISSING" A more helpful hint here ... /root/ctest/test4:46:19: /root/ctest/test4:46:19: openssh-service-type: unb= ound variable hint: Did you forget a `use-modules' form? ... would be ... hint: Try adding `(use-service-modules ssh)'. *** =20 VERSION INFO: 74bea6a03 gnu: linux-libre: Update to 4.13.12. make check failed as reported in bug#29245 but I don't think those errors affect what I am seeing here. TEST FILES: --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=test0.scm Content-Transfer-Encoding: base64 Ozs7IEd1aXhTRCBoZWFkbGVzcyBzZXJ2ZXIKKHVzZS1tb2R1bGVzIChnbnUpKQoodXNlLXNlcnZp Y2UtbW9kdWxlcyBuZXR3b3JraW5nIHNzaCkKKHVzZS1wYWNrYWdlLW1vZHVsZXMKIHZpcnR1YWxp emF0aW9uCiApCihvcGVyYXRpbmctc3lzdGVtCiAgKGhvc3QtbmFtZSAiZzEiKQogICh0aW1lem9u ZSAiQW1lcmljYS9OZXdfWW9yayIpCiAgKGxvY2FsZSAiZW5fVVMudXRmOCIpCiAgKGtlcm5lbC1h cmd1bWVudHMgJygiY29uc29sZT10dHlTMSwxMTUyMDAiKSkKICA7OyBSQUlEMSByb290IHVzaW5n IDEgTlZNZSBTU0QgKyAyIEhEcwogIChib290bG9hZGVyIChncnViLWNvbmZpZ3VyYXRpb24gKHRh cmdldCAiL2Rldi9udm1lMG4xIikKCQkJCSAgKHRlcm1pbmFsLW91dHB1dHMgJyhjb25zb2xlKSkK CQkJCSAgKHRlcm1pbmFsLWlucHV0cyAnKHNlcmlhbCBjb25zb2xlKSkKCQkJCSAgKHNlcmlhbC1z cGVlZCAxMTUyMDApCQkJCSAgCgkJCQkgICkpCiAgKGluaXRyZCAobGFtYmRhIChmaWxlLXN5c3Rl bXMgLiByZXN0KSAoYXBwbHkgYmFzZS1pbml0cmQgZmlsZS1zeXN0ZW1zCgkJCQkJICAgICAgICM6 ZXh0cmEtbW9kdWxlcyAnKCJyYWlkMSIpCgkJCQkJICAgICAgIHJlc3QpKSkKICAobWFwcGVkLWRl dmljZXMgKGxpc3QgKG1hcHBlZC1kZXZpY2UKCQkJIChzb3VyY2UgJygiL2Rldi9udm1lMG4xcDEi ICIvZGV2L3NkYTEiICIvZGV2L3NkYjEiKSkKCQkJICh0YXJnZXQgIi9kZXYvbWQzIikKCQkJICh0 eXBlIHJhaWQtZGV2aWNlLW1hcHBpbmcpKSkpCiAgKGZpbGUtc3lzdGVtcyAoY29ucyAoZmlsZS1z eXN0ZW0KCQkJKHRpdGxlICdkZXZpY2UpCgkJCShkZXZpY2UgIi9kZXYvbWQzIikKCQkJKG1vdW50 LXBvaW50ICIvIikKCQkJKHR5cGUgImV4dDQiKQoJCQkoZGVwZW5kZW5jaWVzIG1hcHBlZC1kZXZp Y2VzKSkKCQkgICAgICAlYmFzZS1maWxlLXN5c3RlbXMpKQogIChzd2FwLWRldmljZXMgJygiL2Rl di9udm1lMG4xcDIiICkpCiAgKHVzZXJzIChjb25zKiAodXNlci1hY2NvdW50IChuYW1lICJnMSIp CgkJCSAgICAgIChncm91cCAidXNlcnMiKQoJCQkgICAgICAoc3VwcGxlbWVudGFyeS1ncm91cHMg Jygid2hlZWwiICJrdm0iKSkKCQkJICAgICAgKGhvbWUtZGlyZWN0b3J5IChzdHJpbmctYXBwZW5k ICIvaG9tZS8iIG5hbWUpKSkKCQkodXNlci1hY2NvdW50IChuYW1lICJhZG1pbiIpCgkJCSAgICAg IChncm91cCAidXNlcnMiKQoJCQkgICAgICAoc3VwcGxlbWVudGFyeS1ncm91cHMgJygid2hlZWwi ICJrdm0iKSkKCQkJICAgICAgKGhvbWUtZGlyZWN0b3J5IChzdHJpbmctYXBwZW5kICIvaG9tZS8i IG5hbWUpKSkKCQklYmFzZS11c2VyLWFjY291bnRzKSkKICAocGFja2FnZXMgKGNvbnMqCgkgICAg IHFlbXUKCSAgICAgJWJhc2UtcGFja2FnZXMpKQogIChzZXJ2aWNlcyAoY29ucyogKGRoY3AtY2xp ZW50LXNlcnZpY2UpCgkJICAgKG50cC1zZXJ2aWNlKQoJCSAgIChzZXJ2aWNlIG9wZW5zc2gtc2Vy dmljZS10eXBlIChvcGVuc3NoLWNvbmZpZ3VyYXRpb24KCQkJCQkJICAoeDExLWZvcndhcmRpbmc/ ICN0KSkpCgkJICAgKGFnZXR0eS1zZXJ2aWNlIChhZ2V0dHktY29uZmlndXJhdGlvbiAodHR5ICJ0 dHlTMSIpCgkJCQkJCQkgKGJhdWQtcmF0ZSAiMTE1MjAwIikpKQoJCSAgICViYXNlLXNlcnZpY2Vz KSkpCg== --=-=-= Content-Type: application/x-sh Content-Disposition: attachment; filename=try.sh Content-Transfer-Encoding: base64 IyEvcnVuL2N1cnJlbnQtc3lzdGVtL3Byb2ZpbGUvYmluL2Jhc2gKCnNldCAteAoKZWNobyB0ZXN0 MDogIkNPTkZJUk0gQkFTRSBDQVNFIFdPUktTIgpndWl4IHN5c3RlbSBidWlsZCB0ZXN0MC5zY20K ZWNobwoKZWNobyB0ZXN0MTogIlBBQ0tBR0UgTU9EVUxFIGZvciBxZW11IFBBQ0tBR0UgKHZpcnR1 YWxpemF0aW9uKSBJUyBOT1QgU1BFQ0lGSUVEIgpzZWQgIi92aXJ0dWFsaXphdGlvbi9kIiB0ZXN0 MC5zY20gPnRlc3QxCmRpZmYgdGVzdDAuc2NtIHRlc3QxCmd1aXggc3lzdGVtIGJ1aWxkIHRlc3Qx CmVjaG8KCmVjaG8gdGVzdDEuZml4OgpzZWQgIi92aXJ0dWFsaXphdGlvbi9kIAovKHVzZS1wYWNr YWdlLW1vZHVsZXMvaSh1c2UtbW9kdWxlcyAoZ251IHBhY2thZ2VzIHZpcnR1YWxpemF0aW9uKSlc CiIgdGVzdDAuc2NtID50ZXN0MS5maXgKZGlmZiB0ZXN0MC5zY20gdGVzdDEuZml4Cmd1aXggc3lz dGVtIGJ1aWxkIHRlc3QxLmZpeAplY2hvCgplY2hvIHRlc3QyOiAiTk9OIEVYSVNUQU5UIFBBQ0tB R0UgTU9EVUxFIChxZW11KSBmb3IgcWVtdSBQQUNLQUdFIFNQRUNJRklFRCIKc2VkICJzL3ZpcnR1 YWxpemF0aW9uL3FlbXUvIiB0ZXN0MC5zY20gPnRlc3QyCmRpZmYgdGVzdDAuc2NtIHRlc3QyCmd1 aXggc3lzdGVtIGJ1aWxkIHRlc3QyCmVjaG8KCmVjaG8gdGVzdDIuZml4CnNlZCAicy92aXJ0dWFs aXphdGlvbi9xZW11LwovKHVzZS1wYWNrYWdlLW1vZHVsZXMvIGlcCih1c2UtcGFja2FnZS1tb2R1 bGVzIHZpcnR1YWxpemF0aW9uKQoiIHRlc3QwLnNjbSA+dGVzdDIuZml4CmRpZmYgdGVzdDAuc2Nt IHRlc3QyLmZpeApndWl4IHN5c3RlbSBidWlsZCB0ZXN0Mi5maXgKZWNobwoKZWNobyB0ZXN0Mzog Ik5PTiBFWElTVEFOVCAob3BlbnNzaCkgU0VSVklDRSBNT0RVTEUgc3BlY2lmaWVkIgpzZWQgInMv KHVzZS1zZXJ2aWNlLW1vZHVsZXMgbmV0d29ya2luZyBzc2gpLyh1c2Utc2VydmljZS1tb2R1bGVz IG5ldHdvcmtpbmcgb3BlbnNzaCkvIiB0ZXN0MC5zY20gPnRlc3QzCmRpZmYgdGVzdDAuc2NtIHRl c3QzCmd1aXggc3lzdGVtIGJ1aWxkIHRlc3QzCmVjaG8KCmVjaG8gdGVzdDMuZml4CnNlZCAicy8o dXNlLXNlcnZpY2UtbW9kdWxlcyBuZXR3b3JraW5nIHNzaCkvKHVzZS1zZXJ2aWNlLW1vZHVsZXMg bmV0d29ya2luZyBvcGVuc3NoKS8KLyh1c2Utc2VydmljZS1tb2R1bGVzLyBpXAoodXNlLXNlcnZp Y2UtbW9kdWxlcyBzc2gpCiIgdGVzdDAuc2NtID50ZXN0My5maXgKZGlmZiB0ZXN0MC5zY20gdGVz dDMuZml4Cmd1aXggc3lzdGVtIGJ1aWxkIHRlc3QzLmZpeAplY2hvCgplY2hvIHRlc3Q0OiAiU0VS VklDRSBNT0RVTEUgKHNzaCkgZm9yIG9wZW5zc2gtc2VydmljZS10eXBlIFNFUlZJQ0UgTUlTU0lO RyIKc2VkICJzLyh1c2Utc2VydmljZS1tb2R1bGVzIG5ldHdvcmtpbmcgc3NoKS8odXNlLXNlcnZp Y2UtbW9kdWxlcyBuZXR3b3JraW5nKS8iIHRlc3QwLnNjbSA+dGVzdDQKZGlmZiB0ZXN0MC5zY20g dGVzdDQKZ3VpeCBzeXN0ZW0gYnVpbGQgdGVzdDQKZWNobwo= --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=try.sh.log Content-Transfer-Encoding: base64 KyBlY2hvIHRlc3QwOiAnQ09ORklSTSBCQVNFIENBU0UgV09SS1MnCnRlc3QwOiBDT05GSVJNIEJB U0UgQ0FTRSBXT1JLUworIGd1aXggc3lzdGVtIGJ1aWxkIHRlc3QwLnNjbQovZ251L3N0b3JlL2Ni eHEzMHk5NzBoaGNuOGR5eWk5aW16czcxNmx2bmtqLXN5c3RlbQorIGVjaG8KCisgZWNobyB0ZXN0 MTogJ1BBQ0tBR0UgTU9EVUxFIGZvciBxZW11IFBBQ0tBR0UgKHZpcnR1YWxpemF0aW9uKSBJUyBO T1QgU1BFQ0lGSUVEJwp0ZXN0MTogUEFDS0FHRSBNT0RVTEUgZm9yIHFlbXUgUEFDS0FHRSAodmly dHVhbGl6YXRpb24pIElTIE5PVCBTUEVDSUZJRUQKKyBzZWQgL3ZpcnR1YWxpemF0aW9uL2QgdGVz dDAuc2NtCisgZGlmZiB0ZXN0MC5zY20gdGVzdDEKNWQ0CjwgIHZpcnR1YWxpemF0aW9uCisgZ3Vp eCBzeXN0ZW0gYnVpbGQgdGVzdDEKL3Jvb3QvY3Rlc3QvdGVzdDE6MzI6OTogL3Jvb3QvY3Rlc3Qv dGVzdDE6MzI6OTogcWVtdTogdW5ib3VuZCB2YXJpYWJsZQpoaW50OiBUcnkgYWRkaW5nIGAodXNl LW1vZHVsZXMgKGdudSBwYWNrYWdlcyB2aXJ0dWFsaXphdGlvbikpJy4KKyBlY2hvCgorIGVjaG8g dGVzdDEuZml4Ogp0ZXN0MS5maXg6Cisgc2VkICcvdmlydHVhbGl6YXRpb24vZCAKLyh1c2UtcGFj a2FnZS1tb2R1bGVzL2kodXNlLW1vZHVsZXMgKGdudSBwYWNrYWdlcyB2aXJ0dWFsaXphdGlvbikp JyB0ZXN0MC5zY20KKyBkaWZmIHRlc3QwLnNjbSB0ZXN0MS5maXgKM2E0Cj4gKHVzZS1tb2R1bGVz IChnbnUgcGFja2FnZXMgdmlydHVhbGl6YXRpb24pKQo1ZDUKPCAgdmlydHVhbGl6YXRpb24KKyBn dWl4IHN5c3RlbSBidWlsZCB0ZXN0MS5maXgKL2dudS9zdG9yZS9jYnhxMzB5OTcwaGhjbjhkeXlp OWltenM3MTZsdm5rai1zeXN0ZW0KKyBlY2hvCgorIGVjaG8gdGVzdDI6ICdOT04gRVhJU1RBTlQg UEFDS0FHRSBNT0RVTEUgKHFlbXUpIGZvciBxZW11IFBBQ0tBR0UgU1BFQ0lGSUVEJwp0ZXN0Mjog Tk9OIEVYSVNUQU5UIFBBQ0tBR0UgTU9EVUxFIChxZW11KSBmb3IgcWVtdSBQQUNLQUdFIFNQRUNJ RklFRAorIHNlZCBzL3ZpcnR1YWxpemF0aW9uL3FlbXUvIHRlc3QwLnNjbQorIGRpZmYgdGVzdDAu c2NtIHRlc3QyCjVjNQo8ICB2aXJ0dWFsaXphdGlvbgotLS0KPiAgcWVtdQorIGd1aXggc3lzdGVt IGJ1aWxkIHRlc3QyCi9yb290L2N0ZXN0L3Rlc3QyOjQ6MDogZXJyb3I6IG1vZHVsZSAoZ251IHBh Y2thZ2VzIHFlbXUpIG5vdCBmb3VuZApoaW50OiBUcnkgYWRkaW5nIGAodXNlLXBhY2thZ2UtbW9k dWxlcyB2aXJ0dWFsaXphdGlvbiknLgorIGVjaG8KCisgZWNobyB0ZXN0Mi5maXgKdGVzdDIuZml4 Cisgc2VkICdzL3ZpcnR1YWxpemF0aW9uL3FlbXUvCi8odXNlLXBhY2thZ2UtbW9kdWxlcy8gaSh1 c2UtcGFja2FnZS1tb2R1bGVzIHZpcnR1YWxpemF0aW9uKQonIHRlc3QwLnNjbQorIGRpZmYgdGVz dDAuc2NtIHRlc3QyLmZpeAozYTQKPiAodXNlLXBhY2thZ2UtbW9kdWxlcyB2aXJ0dWFsaXphdGlv bikKNWM2CjwgIHZpcnR1YWxpemF0aW9uCi0tLQo+ICBxZW11CisgZ3VpeCBzeXN0ZW0gYnVpbGQg dGVzdDIuZml4Ci9yb290L2N0ZXN0L3Rlc3QyLmZpeDo1OjA6IGVycm9yOiBtb2R1bGUgKGdudSBw YWNrYWdlcyBxZW11KSBub3QgZm91bmQKaGludDogVHJ5IGFkZGluZyBgKHVzZS1wYWNrYWdlLW1v ZHVsZXMgdmlydHVhbGl6YXRpb24pJy4KKyBlY2hvCgorIGVjaG8gdGVzdDM6ICdOT04gRVhJU1RB TlQgKG9wZW5zc2gpIFNFUlZJQ0UgTU9EVUxFIHNwZWNpZmllZCcKdGVzdDM6IE5PTiBFWElTVEFO VCAob3BlbnNzaCkgU0VSVklDRSBNT0RVTEUgc3BlY2lmaWVkCisgc2VkICdzLyh1c2Utc2Vydmlj ZS1tb2R1bGVzIG5ldHdvcmtpbmcgc3NoKS8odXNlLXNlcnZpY2UtbW9kdWxlcyBuZXR3b3JraW5n IG9wZW5zc2gpLycgdGVzdDAuc2NtCisgZGlmZiB0ZXN0MC5zY20gdGVzdDMKM2MzCjwgKHVzZS1z ZXJ2aWNlLW1vZHVsZXMgbmV0d29ya2luZyBzc2gpCi0tLQo+ICh1c2Utc2VydmljZS1tb2R1bGVz IG5ldHdvcmtpbmcgb3BlbnNzaCkKKyBndWl4IHN5c3RlbSBidWlsZCB0ZXN0Mwovcm9vdC9jdGVz dC90ZXN0MzozOjA6IGVycm9yOiBtb2R1bGUgKGdudSBzZXJ2aWNlcyBvcGVuc3NoKSBub3QgZm91 bmQKaGludDogVHJ5IGFkZGluZyBgKHVzZS1zZXJ2aWNlLW1vZHVsZXMgc3NoKScuCisgZWNobwoK KyBlY2hvIHRlc3QzLmZpeAp0ZXN0My5maXgKKyBzZWQgJ3MvKHVzZS1zZXJ2aWNlLW1vZHVsZXMg bmV0d29ya2luZyBzc2gpLyh1c2Utc2VydmljZS1tb2R1bGVzIG5ldHdvcmtpbmcgb3BlbnNzaCkv Ci8odXNlLXNlcnZpY2UtbW9kdWxlcy8gaSh1c2Utc2VydmljZS1tb2R1bGVzIHNzaCkKJyB0ZXN0 MC5zY20KKyBkaWZmIHRlc3QwLnNjbSB0ZXN0My5maXgKM2MzLDQKPCAodXNlLXNlcnZpY2UtbW9k dWxlcyBuZXR3b3JraW5nIHNzaCkKLS0tCj4gKHVzZS1zZXJ2aWNlLW1vZHVsZXMgc3NoKQo+ICh1 c2Utc2VydmljZS1tb2R1bGVzIG5ldHdvcmtpbmcgb3BlbnNzaCkKKyBndWl4IHN5c3RlbSBidWls ZCB0ZXN0My5maXgKL3Jvb3QvY3Rlc3QvdGVzdDMuZml4OjQ6MDogZXJyb3I6IG1vZHVsZSAoZ251 IHNlcnZpY2VzIG9wZW5zc2gpIG5vdCBmb3VuZApoaW50OiBUcnkgYWRkaW5nIGAodXNlLXNlcnZp Y2UtbW9kdWxlcyBzc2gpJy4KKyBlY2hvCgorIGVjaG8gdGVzdDQ6ICdTRVJWSUNFIE1PRFVMRSAo c3NoKSBmb3Igb3BlbnNzaC1zZXJ2aWNlLXR5cGUgU0VSVklDRSBNSVNTSU5HJwp0ZXN0NDogU0VS VklDRSBNT0RVTEUgKHNzaCkgZm9yIG9wZW5zc2gtc2VydmljZS10eXBlIFNFUlZJQ0UgTUlTU0lO RworIHNlZCAncy8odXNlLXNlcnZpY2UtbW9kdWxlcyBuZXR3b3JraW5nIHNzaCkvKHVzZS1zZXJ2 aWNlLW1vZHVsZXMgbmV0d29ya2luZykvJyB0ZXN0MC5zY20KKyBkaWZmIHRlc3QwLnNjbSB0ZXN0 NAozYzMKPCAodXNlLXNlcnZpY2UtbW9kdWxlcyBuZXR3b3JraW5nIHNzaCkKLS0tCj4gKHVzZS1z ZXJ2aWNlLW1vZHVsZXMgbmV0d29ya2luZykKKyBndWl4IHN5c3RlbSBidWlsZCB0ZXN0NAovcm9v dC9jdGVzdC90ZXN0NDo0NjoxOTogL3Jvb3QvY3Rlc3QvdGVzdDQ6NDY6MTk6IG9wZW5zc2gtc2Vy dmljZS10eXBlOiB1bmJvdW5kIHZhcmlhYmxlCmhpbnQ6IERpZCB5b3UgZm9yZ2V0IGEgYHVzZS1t b2R1bGVzJyBmb3JtPworIGVjaG8KCg== --=-=-=--