-
Notifications
You must be signed in to change notification settings - Fork 7.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CRLF causes confusing bugs in compilation #17836
Comments
I didn't include the full standard output of Full last line:
|
Did you try with |
I hadn't previously, but it didn't change anything:
Exact same standard error for `git clean -fdx`
|
Okay.
This looks indeed fishy, but I have no idea where it comes from. Is the file already there for a clean checkout, or is it generated during compilation? Regarding that last line of |
It is generated during the compilation, and in VSCode it shows up as |
Weird. Full build from clean checkout without generated files worked on my machine today. |
It shouldn't be, its the same host PHP I've been using to contribute for the last few months, but separate from the VM part, why is the Is there any further information I can provide? |
What's |
|
I have no clue. |
Here is the raw dockerfile (I wanted to add some extra packages): # syntax=docker/dockerfile:1
FROM php:8.3.9-apache
# Add back missing packages
RUN apt-get update
RUN apt-get install -y --no-install-recommends libxml2-dev
RUN apt-get install -y --no-install-recommends libsqlite3-dev
RUN apt-get install -y --no-install-recommends valgrind
RUN apt-get install -y --no-install-recommends bison
RUN apt-get install -y --no-install-recommends nano
RUN apt-get install -y --no-install-recommends sudo
RUN apt-get install -y --no-install-recommends gdb
# Multi-line grep (pcre2grep)
RUN apt-get install -y --no-install-recommends pcre2-utils
# For spell checking
RUN apt-get install -y --no-install-recommends python3
RUN apt-get install -y --no-install-recommends python3-pip
# Its in docker, allow pip installing
RUN pip install scspell3k --break-system-packages
# GDB
RUN mkdir -p /root/.config/gdb
RUN echo "add-auto-load-safe-path /usr/src/php/.gdbinit" > /root/.config/gdb/gdbinit
RUN echo "add-auto-load-safe-path /usr/local/bin/php" >> /root/.config/gdb/gdbinit
# A bunch of packages, from actions/apt-x64/action.yml
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y autoconf gcc make curl \
unzip bison re2c locales ldap-utils openssl slapd libgmp-dev libicu-dev \
libtidy-dev libenchant-2-dev libbz2-dev libsasl2-dev libxpm-dev libzip-dev \
libsqlite3-dev libsqlite3-mod-spatialite libwebp-dev libavif-dev \
libonig-dev libcurl4-openssl-dev libxml2-dev libxslt1-dev libpq-dev \
libedit-dev libldap2-dev libsodium-dev libargon2-dev libmm-dev libsnmp-dev \
postgresql postgresql-contrib snmpd freetds-dev unixodbc-dev llvm clang \
dovecot-core dovecot-pop3d dovecot-imapd sendmail firebird-dev liblmdb-dev \
libtokyocabinet-dev libdb-dev libqdbm-dev libjpeg-dev libpng-dev \
libfreetype6-dev
# For some extra extensions/flags
# --with-readline
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y libreadline-dev
# # For some extensions
# # libssl-dev per https://github.com/sfackler/rust-openssl/issues/763
# RUN apt-get install -y --no-install-recommends openssl libssl-dev
# # zlib
# RUN apt-get install -y --no-install-recommends zlib1g zlib1g-dev
# # for bz2
# RUN apt-get install -y --no-install-recommends bzip2 libbz2-dev
# # for curl
# RUN apt-get install -y --no-install-recommends libcurl4-openssl-dev
# # for enchant
# RUN apt-get install -y --no-install-recommends libenchant-2-dev
# # for gd
# RUN apt-get install -y --no-install-recommends libpng-dev
# # for gmp
# RUN apt-get install -y --no-install-recommends libgmp-dev
# # for ldap
# RUN apt-get install -y --no-install-recommends libldap2-dev
# # for mbstring
# RUN apt-get install -y --no-install-recommends libonig-dev
# # for PDO
# RUN apt-get install -y --no-install-recommends firebird-dev
# # for ODBC
# RUN apt-get install -y --no-install-recommends unixodbc-dev
# # for sodium
# RUN apt-get install -y --no-install-recommends libsodium-dev
# # for openssl
# RUN apt-get install -y --no-install-recommends libargon2-dev
# # for tidy
# RUN apt-get install -y --no-install-recommends libtidy-dev
# # for xsl
# RUN apt-get install -y --no-install-recommends libxslt1-dev
# # for zip
# RUn apt-get install -y --no-install-recommends libzip-dev
# For documentation
RUN pip install rstfmt Sphinx sphinx-design sphinxawesome-theme --break-system-packages
# For reference
RUN apt-get install lsb-release |
Windows being stupid 🤦 - switch from CRLF to LF and that part works:
Based on that, also did
and another Can I suggest that we add |
I wouldn't claim that Windows is stupid in this regard. If you've ever used a typewriter, you know that LF without CR rarely works as intended. :) Anyway, I have:
Never had any issues with that (usually working on Windows directly). |
Sounds good to me, I suppose it's the |
I'd rather suggest |
* PHP-8.3: Fix GH-17836: zend_vm_gen.php shouldn't break on Windows line endings
* PHP-8.4: Fix GH-17836: zend_vm_gen.php shouldn't break on Windows line endings
Description
6ccb35ec9444ecf43378c8eeb23ae3266aaa4d41
with clean git statusmake clean
make distclean
./buildconf
./configure --enable-debug
(config.log copied in/var/www/html/20250216-config.log
in case any of the contents would be useful)make install > /var/www/html/install.log
(normally I would use-j16
but wanted to make sure none of the errors were caused by splitting up the jobs)Noted in the standard output (line 598):
ERROR (/usr/src/php/Zend/zend_vm_def.h:26): Invalid ZEND_VM_HELPER definition.
Standard error:
But I expected this output instead:
Also,
ext/pcre/
also has a weird entry:Environment
I am running in a docker image (
php:8.3.9-apache
with some extra packages installed)PHP Version
6ccb35e
Operating System
No response
The text was updated successfully, but these errors were encountered: