본문 바로가기
카테고리 없음

[superset] ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: cannot allocate memory in static TLS block 오류

by hs_seo 2023. 11. 8.

슈퍼셋을 처음 설치하고 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 환경변수는 프로세스를 실행하는 과정에서 라이브러리를 로딩할 때 지정한 위치의 라이브러리를 우선 적으로 로딩하여 사용하게 해주는 변수입니다

반응형