* bug#22366: Chicken Scheme release tarballs ship non-source C code @ 2016-01-13 18:54 Thompson, David 2020-05-12 23:33 ` bug#22366: Status? " zimoun 2021-08-17 9:13 ` bug#22366: " Mario Domenech Goulart 0 siblings, 2 replies; 6+ messages in thread From: Thompson, David @ 2016-01-13 18:54 UTC (permalink / raw) To: 22366 Because Chicken Scheme's compiler is self-hosting, and because it compiles to C as an intermediate form, the maintainers circumvented the bootstrapping problem by shipping generated C code for the compiler. Many *.c files feature a comment that starts like this: Generated from optimizer.scm by the CHICKEN compiler This is *not* source code, it's a binary disguised as C source code. To resolve this bug, we need to delete these generated files from the source tarball and figure out how to bootstrap Chicken without them. Maybe someone who actively uses Chicken knows how to do this? - Dave ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#22366: Status? Chicken Scheme release tarballs ship non-source C code 2016-01-13 18:54 bug#22366: Chicken Scheme release tarballs ship non-source C code Thompson, David @ 2020-05-12 23:33 ` zimoun 2020-05-14 19:04 ` bug#22366: [EXT] Bug#22366 " Thompson, David 2021-08-17 9:13 ` bug#22366: " Mario Domenech Goulart 1 sibling, 1 reply; 6+ messages in thread From: zimoun @ 2020-05-12 23:33 UTC (permalink / raw) To: dthompson2, 22366 Dear David, The bug report [1] opened more than 4 years ago about the Chicken bootstrapping is still pending. I am not sure to understand these lines; quoting you [1]: << Generated from optimizer.scm by the CHICKEN compiler This is *not* source code, it's a binary disguised as C source code. >> Why is it an issue for bootstrappability? Thank you in advance for any comments. Or could this bug report be closed? All the best, simon [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22366 ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#22366: [EXT] Bug#22366 Status? Chicken Scheme release tarballs ship non-source C code 2020-05-12 23:33 ` bug#22366: Status? " zimoun @ 2020-05-14 19:04 ` Thompson, David 2020-05-15 10:15 ` zimoun 0 siblings, 1 reply; 6+ messages in thread From: Thompson, David @ 2020-05-14 19:04 UTC (permalink / raw) To: zimoun; +Cc: 22366 On Tue, May 12, 2020 at 7:33 PM zimoun <zimon.toutoune@gmail.com> wrote: > > Dear David, > > The bug report [1] opened more than 4 years ago about the Chicken > bootstrapping is still pending. > > I am not sure to understand these lines; quoting you [1]: > > << > Generated from optimizer.scm by the CHICKEN compiler > > This is *not* source code, it's a binary disguised as C source code. > >> > > Why is it an issue for bootstrappability? Because software is not bootstrappable if it requires taking for granted files that are not source code. In this case, it is these C files. These files are not source code because they are machine generated. In order to generate these files, you need a Chicken Scheme compiler. Therefore, you cannot build Chicken Scheme from source code without already having Chicken Scheme, which makes it non-bootstrappable. I have not kept track of this issue but my understanding was that the Chicken developers do not care (which is unfortunately a very common reaction from developers of self-hosted compilers) but it is nevertheless a bootstrapping issue. > Thank you in advance for any comments. > Or could this bug report be closed? I don't think this can be closed because it is still an issue. - Dave ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#22366: [EXT] Bug#22366 Status? Chicken Scheme release tarballs ship non-source C code 2020-05-14 19:04 ` bug#22366: [EXT] Bug#22366 " Thompson, David @ 2020-05-15 10:15 ` zimoun 0 siblings, 0 replies; 6+ messages in thread From: zimoun @ 2020-05-15 10:15 UTC (permalink / raw) To: Thompson, David; +Cc: 22366 Dear David, On Thu, 14 May 2020 at 21:04, Thompson, David <dthompson2@worcester.edu> wrote: > > Why is it an issue for bootstrappability? > > Because software is not bootstrappable if it requires taking for > granted files that are not source code. In this case, it is these C > files. These files are not source code because they are machine > generated. In order to generate these files, you need a Chicken > Scheme compiler. Therefore, you cannot build Chicken Scheme from > source code without already having Chicken Scheme, which makes it > non-bootstrappable. I have not kept track of this issue but my > understanding was that the Chicken developers do not care (which is > unfortunately a very common reaction from developers of self-hosted > compilers) but it is nevertheless a bootstrapping issue. I am not following your reasoning. The point is not how the C files are generated but if they are auditable. -- which in most of the cases means human-readable. Considering these generated C files, even if I am not a C expert, they seems un-auditable. --8<---------------cut here---------------start------------->8--- C_noret_decl(f24858) static void C_ccall f24858(C_word c,C_word *av) C_noret; C_noret_decl(f_10015) static void C_ccall f_10015(C_word c,C_word *av) C_noret; C_noret_decl(f_10019) [...] /* k10021 in k10017 in a10014 in k9990 in k9987 in k9984 in k8730 in k8463 in k8451 in k8448 in k8445 in k8441 in k8438 in k8432 in k8393 in walk in chicken.compiler.core#canonicalize-expression in k6295 in k6292 in k6289 in k6286 in k6283 in ... */ static void C_ccall f_10023(C_word c,C_word *av){ C_word tmp; C_word t0=av[0]; C_word t1=av[1]; C_word t2; C_word t3; C_word t4; C_word *a; if(C_unlikely(!C_demand(C_calculate_demand(4,c,4)))){ C_save_and_reclaim((void *)f_10023,c,av);} a=C_alloc(4); t2=C_mutate(((C_word *)((C_word*)t0)[2])+1,t1); t3=(*a=C_CLOSURE_TYPE|3,a[1]=(C_word)f_10026,a[2]=((C_word*)t0)[3],a[3]=((C_word*)t0)[4],tmp=(C_word)a,a+=4,tmp); /* core.scm:890: ##sys#current-environment1643 */ t4=((C_word*)t0)[5];{ C_word *av2; if(c >= 5) { av2=av; } else { av2=C_alloc(5); } av2[0]=t4; av2[1]=t3; av2[2]=((C_word*)t0)[6]; av2[3]=C_SCHEME_FALSE; av2[4]=C_SCHEME_TRUE; ((C_proc)(void*)(*((C_word*)t4+1)))(5,av2);}} --8<---------------cut here---------------end--------------->8--- > I don't think this can be closed because it is still an issue. I have failed to generated these C files using another scheme interpreter. Yeah, it is more than a hack between the coffee and the shower. :-) Thank you for the clarifications and it is still an issue. :-) All the best, simon ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#22366: Chicken Scheme release tarballs ship non-source C code 2016-01-13 18:54 bug#22366: Chicken Scheme release tarballs ship non-source C code Thompson, David 2020-05-12 23:33 ` bug#22366: Status? " zimoun @ 2021-08-17 9:13 ` Mario Domenech Goulart 2021-08-17 17:24 ` Tobias Geerinckx-Rice 1 sibling, 1 reply; 6+ messages in thread From: Mario Domenech Goulart @ 2021-08-17 9:13 UTC (permalink / raw) To: 22366 Hi, That's a valid point, David. I've created http://bugs.call-cc.org/ticket/1776 for the issue you pointed out. As far as I can tell, it's a tricky issue. Regarding "my understanding was that the Chicken developers do not care", and speaking for myself, I think that's a misunderstanding. Please consider that CHICKEN is developed by [a few] volunteers. I think we would all agree that it would be great to have an easily scrutable source code, but we are not there. Contributions to improve that are welcome, of course. (I tried to post this comment via the form in http://issues.guix.gnu.org/22366 , but apparently that hasn't worked -- trying e-mail now) All the best. Mario ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: bug#22366: Chicken Scheme release tarballs ship non-source C code 2021-08-17 9:13 ` bug#22366: " Mario Domenech Goulart @ 2021-08-17 17:24 ` Tobias Geerinckx-Rice 0 siblings, 0 replies; 6+ messages in thread From: Tobias Geerinckx-Rice @ 2021-08-17 17:24 UTC (permalink / raw) To: Mario Domenech Goulart; +Cc: Guix devel [-bug, +devel] Mario, Guix, On 2021-08-17 11:13, Mario Domenech Goulart wrote: > (I tried to post this comment via the form in > http://issues.guix.gnu.org/22366 , but apparently that hasn't worked -- > trying e-mail now) Thank you for mentioning this, or I would have assumed it had been fixed by now. I'm afraid you're not the first. Probably not even the tenth :-( That's unacceptable so I've simply disabled[0] the Web form[1] entirely for now. Kind regards, T G-R [0]: https://git.savannah.gnu.org/cgit/guix/maintenance.git/commit/?id=f8deebe7e9b00db1971ff3d32c78eaef3acb6864 [1]: http://issues.guix.gnu.org/22366#comment Sent from a Web browser. Excuse or enjoy my brevity. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-08-17 17:25 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-01-13 18:54 bug#22366: Chicken Scheme release tarballs ship non-source C code Thompson, David 2020-05-12 23:33 ` bug#22366: Status? " zimoun 2020-05-14 19:04 ` bug#22366: [EXT] Bug#22366 " Thompson, David 2020-05-15 10:15 ` zimoun 2021-08-17 9:13 ` bug#22366: " Mario Domenech Goulart 2021-08-17 17:24 ` Tobias Geerinckx-Rice
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.