c# dllimport undefined symbol 오류
아 .. 닷넷이 사실 좀 dllimport 하자가 많은데요.
C# - 리눅스 환경에서 DllImport 대신 라이브러리 동적 로드처리 글쓴이가 올린 것 처럼 지독하게도 많은 문제가 있어요.
도커 컨테이너에서는 시스템 설정을 건드려도 호스트 운영체제에 문제가 생기지 않으므로 도커 파일에 그냥 ENV LD_PRELOAD "${LD_PRELOAD}:/usr/local/lib/libphp.so" 이렇게 넣어줄래요. 이러면 닷넷이 아무리 트롤링을 한다고 하더라도 운영체제에서 라이브러리를 읽을 것이어서 흥 입니다. 정말 이상해서 10번 넘게 .. 밤새도록 100번 넘게 빌드 한 것 같은데 모든 라이브러리를 다시 빌드해보았고 .. 분명 닷넷 버그 같은데 결국 참지 못하고 gcc로 코드를 그대로 옮겨서 실행한 것은 그저 잘 될 뿐이고 ..
[17-Jun-2023 20:18:14 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: /app/lib/php-ext/curl (/app/lib/php-ext/curl: cannot open shared object file: No such file or directory), /app/lib/php-ext/curl.so (/app/lib/php-ext/curl.so: undefined symbol: core_globals_offset)) in Unknown on line 0
[17-Jun-2023 20:18:14 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /app/lib/php-ext/pdo_mysql (/app/lib/php-ext/pdo_mysql: cannot open shared object file: No such file or directory), /app/lib/php-ext/pdo_mysql.so (/app/lib/php-ext/pdo_mysql.so: undefined symbol: OnUpdateStringUnempty)) in Unknown on line 0
[17-Jun-2023 20:18:14 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_pgsql' (tried: /app/lib/php-ext/pdo_pgsql (/app/lib/php-ext/pdo_pgsql: cannot open shared object file: No such file or directory), /app/lib/php-ext/pdo_pgsql.so (/app/lib/php-ext/pdo_pgsql.so: undefined symbol: file_globals_id)) in Unknown on line 0
[17-Jun-2023 20:18:14 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /app/lib/php-ext/pdo_sqlite (/app/lib/php-ext/pdo_sqlite: cannot open shared object file: No such file or directory), /app/lib/php-ext/pdo_sqlite.so (/app/lib/php-ext/pdo_sqlite.so: undefined symbol: core_globals_offset)) in Unknown on line 0openlitespeed에 들어있는 php-curl 모듈에 http3가 빠져있는 것이 불편해 보였는데 이번엔 http3 활성화 까지 メ컷メ.
원인을 찾고 보니 명백한 나의 실수였습니다.
php embed에 콜백 함수를 등록해주는데 생성한 동적 콜백 객체를 C++ 라이브러리에 넘겨주고 함수를 리턴 해버리는데 이렇게 하면 동적 콜백 객체의 레퍼런스가 걸려있는 곳이 없어서 GC(가비지 컬렉터)가 이 객체를 해제합니다. 이렇게 되면 콜백 함수를 사용할 때 이와 같은 제어되지 않은 오류가 발생하게 됩니다.
별 것 아닌 문제여서 정말 .. 항마력이 간당간당하게 남아서 페이스가 깨질 것 같아요.
