build: enable sse4.2 and ssse3 in zlib#36693
build: enable sse4.2 and ssse3 in zlib#36693RaisinTen wants to merge 5 commits intonodejs:masterfrom
Conversation
|
This is a vendored dependency and we should avoid patching it directly. That said, I'm not sure there's anything to do on our side. In #36678 (comment), compilation is using unsupported GCC 4.8.5 headers, unless I'm misundestanding the directory structure. |
That sort of thing ( |
@mscdex This is not “that sort of thing”. |
Yeah, I think that might be good, as @targos mentioned we don’t want to keep floating patches unless we can avoid it. |
2f74dd5 to
23873bf
Compare
|
@d-mozulyov can you confirm whether this patch works on your system? |
| #if defined(CRC32_SIMD_SSE42_PCLMUL) | ||
| /* Required to make MSVC bot build pass. */ | ||
| // TODO(raisinten): When https://github.com/nodejs/node/pull/33044 lands, | ||
| // remove the next line and add `-msse4.2` to the command line options. |
There was a problem hiding this comment.
Assuming this lands before #33044, a commit should be added to that PR that resolves this TODO.
There was a problem hiding this comment.
CC @richardlau
Please consider adding these options in your PR if you haven't added them already. :)
|
Hello everyone @RaisinTen, |
|
@d-mozulyov I enabled |
|
|
@d-mozulyov how about now? |
Maybe there are some automated tests so that I don't start the build manually? |
|
I don't think there is any way to automatically test it out currently because there is no official support for |
|
I added the change for this file, does it build now? |
|
I would like to clarify a few points
P.S. Build error:
|
|
Hmm, that's interesting. What does |
It looks like a rebuild is not being called. An error is displayed immediately: |
That's where the problem is. Symlinking it to
Perhaps run a |
|
Thank you very much for helping to draw attention to the cc symlink. But now the following error is thrown (original master branch). I don't know yet what to do about it. |
It can't find the shared standard C++ library. What does |
|
ls -l $(g++ -print-file-name=libstdc++.so)Does this print a symlink pointing to |
|
|
Did you add this earlier in your LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATHThe gcc documentation mentions it here: https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths |
|
@d-mozulyov is the problem solved? |
Yep |
|
@d-mozulyov awesome! 🎉 |
|
I the problem is solved, we don't need this change, do we ? |
|
@targos I'm not really sure about that. @d-mozulyov could you please confirm that the master branch builds successfully on your machine or is my patch necessary for building Node.js on your tool chain? |
|
@targos @RaisinTen |
|
@d-mozulyov Thanks for confirming. :) |
Fixes: #36678
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes