일반적으로 컴파일 하면 Firefox같이 샌드박스 사용하는 프로그램들이 실행되지 않았음.
$ firefox
XPCOMGlueLoad error for file /usr/lib/firefox/libmozgtk.so:
libiwasm.so.2: cannot enable executable stack as shared object requires: Invalid argument
Couldn't load XPCOM.
아래의 내용은 제미나이가 추천한 원인 파악 및 해결책
readelf -l /usr/lib/libiwasm.so.2 | grep -A1 GNU_STACK
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RWE 0x10
여기서 RWE의 "E" execution이 보안 정책 위반으로 문제의 원인이라고 함.
ELFUtils가 있으면 execstack 또는 eu-stack를 다음과 같이 실행.
sudo execstack -c /usr/lib/libiwasm.so.2
다음과 같이 옵션을 추가해서 해결함.
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_ASM_FLAGS="-Wa,--noexecstack" \
-DCMAKE_C_FLAGS="-z noexecstack"