Comments (14)
Maybe the minimum glibc version has been increased. That would in that case be a documentation issue and this would be a wontfix. I'll need to check.
TODO: if this turns out to be the case, look into adding a minimum glibc check in build.yml if it's simple to do so.
CentOS 7.x is so widely used as a production system that I don't think it's time to give up on supporting it
from neovim.
I'm facing the same issue and I've tracked down the commit from where it started failing to compile.
The commit is as below
commit c37695a (HEAD)
Author: James [email protected]
Date: Tue Jun 11 22:40:24 2024 +0700
refactor: use S_LEN(s) instead of s, n (#29219)
from neovim.
Which version of glibc are you using?
from neovim.
Which version of glibc are you using?
GNU C Library (GNU libc) stable release version 2.17
from neovim.
Maybe the minimum glibc version has been increased. That would in that case be a documentation issue and this would be a wontfix. I'll need to check.
TODO: if this turns out to be the case, look into adding a minimum glibc check in build.yml if it's simple to do so.
from neovim.
CentOS 7.x is so widely used as a production system that I don't think it's time to give up on supporting it
So is Neovim 0.9. If you run a legacy version of an OS, you should expect to have to run legacy versions of applications as well. We don't drop support at a whim; we try to keep things running on as many platforms as possible. But at the same time, we will not refrain from making necessary or useful changes just for the sake of legacy platforms. (Again, you can keep using older versions; it's not like they are removed from the internet...)
In this specific case, we are talking about a nightly build for a version that will be released in months -- long after CentOS 7's end of life (June 30, 2024).
from neovim.
This discussion is premature. I have no idea yet if the problem is in fact that minimum glibc has been increased. I probably shouldn't have brought up the possibility of "wontfix" before confirming it.
@hardboydu can you bisect the commit where building breaks for you? make distclean
may help here in case the build breaks for unrelated reasons.
from neovim.
from neovim.
S_LEN macro doesn't work when passed as an argument to another macro. That's why I didn't use it for the STRNICMP macros, only functions.
from neovim.
Yes, obviously. Can you fix this so it works on all supported platforms, or should we revert that commit?
from neovim.
Yes, obviously. Can you fix this so it works on all supported platforms, or should we revert that commit?
Just revert it.
from neovim.
Is this something we can test for in CI? Otherwise how we will know if any use of S_LEN
is safe? (Unless we make a rule: "never use S_LEN in stdlib functions because those could secretly be macros").
from neovim.
Not without containers. (But I believe this sort of "macro wrappers for gcc" in glibc can be researched; It will take some effort, though.)
from neovim.
Is this something we can test for in CI? Otherwise how we will know if any use of
S_LEN
is safe? (Unless we make a rule: "never use S_LEN in stdlib functions because those could secretly be macros").
I don't see how we could. Even if we start testing centos specifically it won't account for other distros. We could start testing a slew of popular distros (centos, debian, fedora, arch, manjaro, etc etc) but that is going to be expensive CI-wise.
from neovim.
Related Issues (20)
- show listchars only for current (cursor) line HOT 1
- Revamp option scopes
- commenting: add 'inner comment' text object
- Terminal sets `wrap` window-scoped instead of locally
- MAX macro redefined HOT 2
- Neovim v0.10.0 removes trailing whitespace on save HOT 8
- can't detect python provider in Windows 10 HOT 5
- Treesitter queries specified in the "inherits:" modeline are always merged, even if there is an overridden query
- Any key return messy codes HOT 1
- Weird tab chars when setting `listchars` only to `trail:.` HOT 2
- neovim-qt with Nvim v0.11.0 shows many "no notification handler registered" warnings HOT 4
- "focusable" for non-floating (split) windows
- Percent sign (%) for jumping to matching parenthesis doesn't regard comments and work properly HOT 1
- vim.loader luac cache file names gets too long on ecryptfs HOT 2
- cmdheight=0: NULL dereference in grid_del_lines() HOT 5
- nvim ... --remote-expr execute("tabs") does not work anymore HOT 6
- Error while showing diagnostics open_float HOT 3
- "Unhandled Token" in neovim documentation search bar & headings HOT 2
- Mouse clicks causing crashes when `number`/`relativenumber` is used with a custom `statuscolumn` HOT 3
- :messages API HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from neovim.