GNU bug report logs -
#45303
28.0.50; [feature/native-comp] comp.c compilation error on Windows 10
Previous Next
Full log
View this message in rfc822 format
Hi,
thank you for the quick fixes
I do not understand 3b53a591faed03679382a601b93da7fe6ce3b4af: the way I saw the problem is that directory-files now takes an optional COUNT parameter (see thread starting with https://lists.gnu.org/archive/html/emacs-devel/2020-10/msg00691.htmlhttps://lists.gnu.org/archive/html/emacs-devel/2020-10/msg00691.htm) so that the compiler rightly warned that we passed a function expecting 5 parameters to internal_condition_case_4 that works with a pointer to a function with 4 arguments. I did not see any special warning anymore and haven't seen it crash yet, so the change is probably OK.
> > #+begin_example
> > Info-default-directory-list
> > ("%emacs_dir%/share/info/")
> > ----------------
> > configure-info-directory
> > "%emacs_dir%/share/info"
> > #+end_example
I just checked and these %emacs_dir% are also present in a "normal" emacs 27.1 (installed via msys2/mingw pacman, not self-built).
> Right so (unless I'm forgetting something) just the zlib linker error
> should be remaining, correct?
It was not only zlib that was missing, but also gccjit (my hack sets both: LIBGCCJIT = -lz -lgccjit)
> The Windows port is a bit rusty, I believe nobody compiled it since 6+
> months, is good we resurrect it and keep it running.
I was not able to build libgccjit before, but now it is in MSYS2/MINGW pacman, I can build from time to time.
Kind regards,
--
Pal Gloss
For reference, here are the commands I used for my latest build
#+begin_src shell :exports code
git rev-parse HEAD feature/native-comp ; gcc --version
#+end_src
: 3b53a591faed03679382a601b93da7fe6ce3b4af
: 3b53a591faed03679382a601b93da7fe6ce3b4af
: gcc.exe (Rev6, Built by MSYS2 project) 10.2.0
: Copyright (C) 2020 Free Software Foundation, Inc.
: This is free software; see the source for copying conditions. There is NO
: warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* Linker errors
There are 2 linker errors that prevent advancing: zlib and libgccjit.
There is also an issue with strsignal which I will not care about just yet
: C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: comp.o: in function `md5_gz_stream':
: C:\msys64\home\cramaph1\emacs-native-comp\build\src/../../emacs/src/comp.c:713: undefined reference to `inflateInit2_'
: C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\home\cramaph1\emacs-native-comp\build\src/../../emacs/src/comp.c:730: undefined reference to `inflate'
: C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\home\cramaph1\emacs-native-comp\build\src/../../emacs/src/comp.c:741: undefined reference to `inflateEnd'
: C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\home\cramaph1\emacs-native-comp\build\src/../../emacs/src/comp.c:741: undefined reference to `inflateEnd'
: C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: comp.o: in function `declare_imported_func':
: C:\msys64\home\cramaph1\emacs-native-comp\build\src/../../emacs/src/comp.c:973: undefined reference to `gcc_jit_type_get_const'
#+begin_src shell :exports code
pacman -S --needed base-devel \
mingw-w64-x86_64-toolchain \
mingw-w64-x86_64-xpm-nox \
mingw-w64-x86_64-libtiff \
mingw-w64-x86_64-giflib \
mingw-w64-x86_64-libpng \
mingw-w64-x86_64-libjpeg-turbo \
mingw-w64-x86_64-librsvg \
mingw-w64-x86_64-lcms2 \
mingw-w64-x86_64-jansson \
mingw-w64-x86_64-libxml2 \
mingw-w64-x86_64-gnutls \
mingw-w64-x86_64-zlib \
mingw-w64-x86_64-harfbuzz \
mingw-w64-x86_64-libgccjit
PROCESSORS_TO_USE="3"
EMACS_VERSION=emacs-native-comp
./autogen.sh
mkdir -p ../build
cd ../build
../emacs/configure \
--with-xml2 \
--without-pop \
--prefix="/home/cramaph1/$EMACS_VERSION/dest" \
--without-compress-install \
--without-dbus \
--with-nativecomp \
--with-modules 'CFLAGS=-O2 -g3'
# fix 2 linker errors by making sure the correct libraries are added to the linker command
sed -i -e 's/^LIBGCCJIT = *$/LIBGCCJIT = -lz -lgccjit/' src/Makefile
make -j"$PROCESSORS_TO_USE" && make install
#+end_src
This bug report was last modified 4 years and 131 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.