-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Support direct compilation: ARM and other platforms, for ARM, armv8, aarch64, etc. #1282
Comments
I think the core dump is caused by setjmp incompability between state-threads and the modern glibc, which encrypts some pointers in jmp_buf, especially SP. The solution is to provide built-in setjmp. I have written some code to solve this problem on arm and arm64 and will upload it later. |
i used cpu is arm64, instruction is v8. root@NanoPC-T4:/home/pi/workspace/srs/trunk# gdb objs/srs core warning: exec file is newer than core file. |
Here is the patch. Replace the file trunk/3rdparty/patches/1.st.arm.patch with the attachment. Just try it. |
very good!
|
Awesome !! |
Thank you so much! It worked flawless!! |
https://github.com/ossrs/state-threads/tree/srs#branch-srs Merge from michaeltalyansky and xzh3836598, support ARM.
Thank you for your great work, and could you please merge your patch to https://github.com/ossrs/state-threads/tree/srs#branch-srs ? |
Just in case other folks get stuck here like I did!
srs runs now
|
It seems aarch64 is not the same thing as arm |
@neonxin Thank you very much, I have merged this patch to ST ossrs/state-threads#9 and patched SRS3 by ea8111c and 84f6f3d |
Also fixed in #1537 |
Build on ARM Server
You can compile directly, just like an x86 server.
Build in aarch64 Docker
If you want to compile ARM binaries and run them on an ARM server, you can use ARM Docker for compilation. Please refer to aarch64 for more information.
For aarch64
If the system does not define
__aarch64__
, you can use the following command for compilation:For general ARM servers, specific macros such as
__arm__
or__aarch64__
are usually defined, so you can directly use./configure && make
.Note: In general, you can compile directly and should not use cross-compilation. If you need to cross-compile, please refer to #1547.
TRANS_BY_GPT3
The text was updated successfully, but these errors were encountered: