Skip to content

train error #4

@LandCruiser666

Description

@LandCruiser666

Issue Summary:

ImportError when running train.py inside Apptainer container due to GLIBC dependency issue with nocturne_cpp module and OpenGL.

Detailed Description:

I am encountering an ImportError when running python train.py inside an Apptainer container. The error message is:

Traceback (most recent call last):
File "/home/design/ctrl-sim/train.py", line 3, in
from models.ctrl_sim import CtRLSim
File "/home/design/ctrl-sim/models/init.py", line 1, in
from models.ctrl_sim import CtRLSim
File "/home/design/ctrl-sim/models/ctrl_sim.py", line 5, in
from modules.encoder import Encoder
File "/home/design/ctrl-sim/modules/init.py", line 1, in
from modules.map_encoder import MapEncoder
File "/home/design/ctrl-sim/modules/map_encoder.py", line 4, in
from utils.train_utils import weight_init
File "/home/design/ctrl-sim/utils/init.py", line 17, in
from utils.sim import get_sim
File "/home/design/ctrl-sim/utils/sim.py", line 3, in
import nocturne
File "/home/design/ctrl-sim/nocturne/init.py", line 6, in
from nocturne_cpp import (Action, CollisionType, ObjectType, Object, RoadLine,
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /.singularity.d/libs/libGLdispatch.so.0)

This error originates from the nocturne_cpp module, which appears to depend on OpenGL and requires GLIBC 2.34 or a later version. The issue arises specifically when importing the nocturne module, which in turn imports nocturne_cpp.

The nocturne module is part of a larger project, and I am attempting to train a model using the train.py script.

Problem:

The nocturne.sif Apptainer image I am using does not provide a GLIBC version compatible with the libGLdispatch.so.0 library required by nocturne_cpp.

Potential Solutions (and questions):

GPU Dependency: Is the nocturne module (and therefore nocturne_cpp) strictly required for model training? If not, is there a way to disable the OpenGL dependency or provide a CPU-only alternative?

Host Driver Compatibility: If the nocturne module is required, is it a driver issue?

Building a New Image: I understand that I can create a new Apptainer image with a more recent GLIBC version and the necessary dependencies.

Request for Assistance:

Could you confirm if the OpenGL dependency in nocturne_cpp is necessary for all training scenarios, or if there is a CPU-only option?

If OpenGL is necessary, what is the recommended way to ensure GLIBC compatibility within the Apptainer container? Should I use a specific base image, or are there other configuration steps required?

Any suggestions or a sample Singularity.def file to build a compatible Apptainer image would be greatly appreciated.

This focuses more directly on the core problem, which is the nocturne_cpp dependency and the GLIBC version conflict. It also frames the issue as a question of whether the OpenGL dependency is strictly required for training.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions