슈퍼셋을 처음 설치하고 mysql을 연동하는 과정에서 다음과 같은 오류가 발생하였습니다.
File "/home/ubuntu/superset/lib/python3.10/site-packages/sqlalchemy/util/deprecations.py", line 309, in warned
return fn(*args, **kwargs)
File "/home/ubuntu/superset/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 560, in create_engine
dbapi = dialect_cls.dbapi(**dbapi_args)
File "/home/ubuntu/superset/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 163, in dbapi
return __import__("MySQLdb")
File "/home/ubuntu/superset/lib/python3.10/site-packages/MySQLdb/__init__.py", line 17, in <module>
from . import _mysql
ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: cannot allocate memory in static TLS block
정확한 원인은 알 수 없지만 버그로 추정됩니다.
libmysqlclient21 라이브러리의 버전을 올리면 된다는 이야기도 있었는데 저는 최신 버전이라 더 이상 업그레이드 할 수 없었습니다.
저는 다음과 같이 설정값을 export 해서 해결 할 수 있있습니다
export LD_PRELOAD=/lib/x86_64-linux-gnu/libstdc++.so.6:$LD_PRELOAD
LD_PRELOAD 환경변수는 프로세스를 실행하는 과정에서 라이브러리를 로딩할 때 지정한 위치의 라이브러리를 우선 적으로 로딩하여 사용하게 해주는 변수입니다
반응형