I'm unable to build the windows (Windows 10 x64) binaries, could someone post them?
Could someone post the binaries?
I want to use img2sixel.exe but yea, i can't build this.
See https://github.com/saitoha/libsixel/issues/154.
@ClaireCJS I have created a package that includes Windows builds under the bin-windows/ directory.
libsixel-1.8.6-i686-w64-mingw32.zip libsixel-1.8.6-x86_64-w64-mingw32.zip
While Docker is required, I added cross-compilation scripts in commit 3885ab8d7015f2dce38fce99fbfe417d529531e1, so you can build the binaries yourself by running $ ./configure && make dist-windows-{x86_64,i686}-vexe.
you can build it on msys2, however there are some things that must be patched, I made a PR for the other libsixel fork, but never for this one..
This is really great! I'm surprised nobody has an up-to-date repo for the windows versions.
@Kreijstal Can you make a PR for the MSYS build compatibility? Also, where is your code located? (I'd like to give it a try.)
@saitoha Cool, but I'd prefer you have the code in a repo so I can clone it, and provide PR's or comments to fixes if needed. I'm not a fan private zip's. I am also refusing to use Docker for this basic kind of things... as it takes away any knowledge what is going on, and makes debugging an issue. (Why are you using it?)
@eabase I believe there might be a misunderstanding. To clarify, there is no separate codebase specifically for the Windows version outside of this repository. I have merely cross-compiled the source code from this repository using MinGW.
I am also refusing to use Docker for this basic kind of things... as it takes away any knowledge what is going on, and makes debugging an issue. (Why are you using it?)
I chose to use Docker because I couldn't think of a more reliable way to share a build process that remains consistent across different environments.
As an additional note regarding the binary built this time, the libcurl integration feature is not available. Therefore, passing a URL as an argument to img2sixel will result in an error.
Initially, I considered approaches such as cross-compiling libcurl, but I now believe that rewriting the relevant part using WinHTTP would be a more reliable way to avoid potential issues.
Additionally, I’m not yet sure how to build Windows binaries for ARM environments, and I recognize this as an open issue.
@saitoha
I have merely cross-compiled the source code from this repository using MinGW
So what are the steps?
- Clone repo, then open MSYS, with
MinGW64environment? - Then compile with what?
PS. There are a lot of files in the root directory, maybe put all the LICENSE files into a directory.
I’m not yet sure how to build Windows binaries for ARM environments, and I recognize this as an open issue.
If I knew what exact compile tool and commands you use to compile with, it should be trivial.
UPDATE
I think I see the issue. You wanna compile the windows exe but for ARM based Windows OS.
I guess your best (simplest?) bet is to install Windows LTS under an ARM based QEMU or VB. Then compile as usual. (Under what issue # have you filed this?)
Ref. #197
@saitoha
I just managed to compile this in MSYS.
Your current main works just fine in windows. Including libcurl. I suspect you just haven't installed or updated your MSYS dependencies.
Looks great! Thank you! 🥇
One weirdness is that my version doesn't print in MSYS mintty shell. It's just empty without any errors.
# my compiled:
# file img2sixel.exe
img2sixel.exe: PE32+ executable for MS Windows 5.02 (console), x86-64 (stripped to external PDB), 10 sections
# your compiled:
# file img2sixel.exe
img2sixel.exe: PE32+ executable for MS Windows 5.02 (console), x86-64, 20 sections
Not sure why mine is getting stripped?
Here are the Windows-11 Pro MSYS2/MINGW64 build instructions.
(Sorry, I did not check what all the required packages are, but they are all in the pacman db.)
# MINGW64
cd /c/pathto/gitclones/
git clone https://github.com/saitoha/libsixel.git
cd libsixel
# Disable all shell integrations and Python api:
# ./configure --with-pkgconfigdir=/mingw64/share/pkgconfig --disable-python --with-bashcompletiondir=no --with-zshcompletiondir=no
# build static and enable shared libs (??)
./configure --with-pkgconfigdir=/mingw64/share/pkgconfig --disable-python --with-bashcompletiondir=no --with-zshcompletiondir=no --enable-debug=no --enable-static --enable-shared --disable-silent-rules
make
I don't do make install because I noticed that since the *.exe is build for windows, it doesn't work within the MSYS environment. It fails to produce any output while debugging is still seem to be on...
Very weird.
I noticed many errors, fails and warnings in the .configure log. It seem that the configure make or operations is not doing something right.
TBH, all those huge megabyte build scripts are impossible to maintain and understand, maybe let the system do more of the figuring out work?
One weirdness is that my version doesn't print in MSYS mintty shell. It's just empty without any errors.
my compiled:
file img2sixel.exe
img2sixel.exe: PE32+ executable for MS Windows 5.02 (console), x86-64 (stripped to external PDB), 10 sections
your compiled:
file img2sixel.exe
img2sixel.exe: PE32+ executable for MS Windows 5.02 (console), x86-64, 20 sections
Not sure why mine is getting stripped?
Here are the
Windows-11 ProMSYS2/MINGW64 build instructions. (Sorry, I did not check what all the required packages are, but they are all in the pacman db.)MINGW64
cd /c/pathto/gitclones/ git clone https://github.com/saitoha/libsixel.git cd libsixel
Disable all shell integrations and Python api:
./configure --with-pkgconfigdir=/mingw64/share/pkgconfig --disable-python --with-bashcompletiondir=no --with-zshcompletiondir=no
build static and enable shared libs (??)
./configure --with-pkgconfigdir=/mingw64/share/pkgconfig --disable-python --with-bashcompletiondir=no --with-zshcompletiondir=no --enable-debug=no --enable-static --enable-shared --disable-silent-rules
make
![]()
I don't do
make installbecause I noticed that since the*.exeis build for windows, it doesn't work within the MSYS environment. It fails to produce any output while debugging is still seem to be on... Very weird.I noticed many errors, fails and warnings in the
.configurelog. It seem that the configure make or operations is not doing something right.TBH, all those huge megabyte build scripts are impossible to maintain and understand, maybe let the system do more of the figuring out work?
the .exe is unable for some reason to print sixel, you have to save the "sixel" image to a file and then "cat" it. as explained here https://github.com/saitoha/libsixel/pull/190 The reason is that the sixel exe is a native windows .exe and cat.exe is a cygwin/msys .exe
