On Thu, Jan 18, 2024 at 3:37 PM Tom Tromey <t...@tromey.com> wrote: > > Andrew> This change is causing some problems for me. > > Yeah, Tom de Vries as well. > > Andrew> One of my build machines has 2 versions of guile installed. One is > Andrew> guile 2.0.14 and the other is guile 2.2.21. > > Andrew> When GDB configures itself the configure script figures out that it > Andrew> should use 2.2.21 to compile the guile libraries that GDB uses. > > Andrew> However, when we actually build the guile libraries we do use > guild2.2, > Andrew> but due to this 'GUILE = guile' line, guild2.2 uses guile 2.0.14 in > Andrew> order to perform the compile (I guess, I don't know the details of how > Andrew> guile compilation works). > > Andrew> Unfortunately guile 2.0.14 compiles in a way which is not compatible > Andrew> with how GDB then tries to load the guile library. > > I consider this a bug in guile -- it installs 'guild' with this: > > #!/usr/bin/sh > # -*- scheme -*- > exec ${GUILE:-/usr/bin/guile2.2} $GUILE_FLAGS -e '(@@ (guild) main)' -s > "$0" "$@" > !# > > Allowing a system script to pick $GUILE here seems weird, especially for > a versioned install of "guild", where as you can see it already knows > the correct guile to use. > > However -- I think it's better to just work around this. > I plan to back out this change. Anyone needing to re-run cgen (which > itself ought to come with smarts here, but since it is un-maintained...) > can just specify this by hand. I.e., the status quo ante.
I mean, I've been trying to figure out how to re-run cgen myself, to regenerate some cgen-erated files in libopcodes to fix some compiler warnings in them, but it's pretty hard to do so; I'd really appreciate it if the whole process of regenerating files with cgen could be made easy and well-documented and understandable... > > I'll try to send a patch tomorrow. > > Tom