-
Notifications
You must be signed in to change notification settings - Fork 559
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
Perl 5.40: error: invalid preprocessing directive #PERL_LC_ALL_CATEGORY_POSITIONS_INIT in make on Solaris 10 #22728
Comments
Three suggestions/questions:
|
@jkeenan |
Did |
@mauke |
Is this |
@jkeenan |
Thanks. Were you successful building earlier versions of perl (e.g., 5.38) on this platform with the same configuration switches? If so, would you be able to bisect to identify the "breaking" commit? |
@jkeenan |
As far as I can tell, this is a bug in |
@mauke |
I'm not sure either. Any fix or override probably involves patching At the line where it says $echo "Failed to compile lc_all probe" >&4 (which I think is line 17836 in your copy), you could add the lines d_perl_lc_all_uses_name_value_pairs="$undef"
d_perl_lc_all_separator="$undef"
perl_lc_all_separator=
d_perl_lc_all_category_positions_init="$undef"
perl_lc_all_category_positions_init= ... which I think is a safe default. A real fix involves figuring out why the probe doesn't compile and change the code. You can make it output the compiler invocation it's trying to run by adding echo "$cc -o try $optimize $ccflags $ldflags try.c $libs" The code for cp try.c ../lc_all_probe.c Then you could manually run the compiler on the probe file and see why it's failing. |
@mauke |
looks like 538 doesn't have the error. Interesting. |
This was changed for 5.40; so don't waste your time on 5.38 or bisecting. I'll look at Configure and give you a patch |
@khwilliamson |
But it would be useful to us for you to do as @mauke suggested at #22728 (comment) and post the results |
once we get a decent editor on this thing, we shall |
right, that seemed to work right up until |
I think you must hae taken @mauke's suggestion to add some defaults, and that got you past this issue, and onto the stack one, which is outside my expertise. It would be helpful to us if you did this to Configure
as mauke suggested and then try compiling it to see why it's failing. We need to patch Configure to take action when this doesn't compile; but it would be better to understand why it's not compiling as well. I'd be interested to see what would happen in your case if you didn't patch Configure, but instead called it with the additional parameter |
honestly we're about out of energy for fucking arouund with this |
Also hit this error when trying to compile Perl 5.40.0 for WebAssembly :( |
Adding @khwilliamson if you give me a patch command for Configure (release 5.40.0), I can try it out... but yeah, even if lc_all probe cannot compile, it should not produce a broken config.h More complete error:
|
Adding this changed something helped. Now fighting some other related errors...
Maybe need to somehow adjust those lines... Likely, we need to set |
@Here-Be-Saoirse as a follow-up, the patch in #22793 likely fixes the locale portions of this issue |
(But also, the default there in Configure probably should be fixed too - to at least not produce broken C code...) |
Module:
Description
Perl 5.40 will fail to build on Solaris 10. Using GCC 9.5.0, and the configure line
./Configure -Duse64bitint -Dusethreads -Dprefix=/opt/FSYS/packages/ -des
, reporting the following errors:Steps to Reproduce
On Solaris 10 SPARC do: ./Configure -Duse64bitint -Dusethreads -Dprefix=/opt/FSYS/packages/ -- note: This may not be reproduceable on others' systems, since gcc9.5 isn't available in OpenCSW or other sources for Solaris 10, we are using our own build
Expected behavior
We expected it to at least start to build. It immediately fails
Perl configuration
OS: SunOS 5.10 SPARC Solaris 10
Compiler: GCC 9.5.0
Linker: ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.1522
The text was updated successfully, but these errors were encountered: