help-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Build Issues - devel in MSYS2 MSYS


From: Zachary Santer
Subject: Re: Build Issues - devel in MSYS2 MSYS
Date: Fri, 16 Aug 2024 21:13:48 -0400

On Mon, Jul 15, 2024 at 12:58 AM Zachary Santer <zsanter@gmail.com> wrote:
>
> I'm actually able to build master branch stuff back to bash-5.0 patch
> 18 and through bash-5.3-testing without any MSYS-specific patching
> (besides adding a missing semicolon). This is at least useful for some
> light testing.
>
> No such luck with the devel branch, however. Does it have different
> build dependencies?
>
> I installed the build dependencies listed here:
> https://packages.msys2.org/package/bash?repo=msys&variant=x86_64
>
> I've attached the build errors I'm looking at now. "../tilde/tilde.h"
> are the entire contents of ./lib/readline/tilde.h.

https://git-scm.com/docs/git-config#Documentation/git-config.txt-coresymlinks
core.symlinks
If false, symbolic links are checked out as small plain files that
contain the link text. git-update-index[1] and git-add[1] will not
change the recorded type to regular file. Useful on filesystems like
FAT that do not support symbolic links.
The default is true, except git-clone[1] or git-init[1] will probe and
set core.symlinks false if appropriate when the repository is created.

That's what I was looking at in ./lib/readline/tilde.h. Under the
devel branch, this is a symlink to ../tilde/tilde.h. I could build the
master and bash-5.3-testing branches, because those branches don't
contain any symlinks.

https://www.msys2.org/docs/symlinks/
https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development
Windows locks its version of symlinks behind Developer Mode, which you
can't enable without admin access. If you have that, then type "for
developers" in the search bar and enable Developer Mode in the
Developer settings.

Add
export MSYS=winsymlinks:nativestrict
to your .bashrc file, and then source it on the command line.

https://stackoverflow.com/questions/5917249/git-symbolic-links-in-windows/59761201#59761201
Even with these configurations in place, 'git clone' and 'git init'
are going to set core.symlinks false in any local repository they
create on Windows, so you have to do
$ git config --local --unset core.symlinks
as well as
$ git config --global core.symlinks true
in order to have the symlinks in the repository actually be symlinks.

To then change the regular text files you may still have into symlinks,
$ git reset --hard HEAD
worked for me.

On top of the build dependencies listed in
https://packages.msys2.org/package/bash?repo=msys&variant=x86_64
you also need base-devel. base-devel includes flex and bison, which
aren't actually required to build the master and pre-release branches.
Bison, at least, is required to build devel:
https://lists.gnu.org/archive/html/bug-bash/2024-08/msg00122.html
I'd assume flex is required too.

>From there, it's just
$ ./configure
and
$ make
and you should be good to go.

Attachment: 1.txt
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]