diff --git a/internal/rpicamera/exe/Makefile b/internal/rpicamera/exe/Makefile index ef3344e6..c2833fb8 100644 --- a/internal/rpicamera/exe/Makefile +++ b/internal/rpicamera/exe/Makefile @@ -40,5 +40,5 @@ all: exe exe: $(OBJS) $(CXX) $^ $(LDFLAGS) -o $@ - patchelf --replace-needed libcamera.so.0.0.2 libcamera.so.x.x.x $@ - patchelf --replace-needed libcamera-base.so.0.0.2 libcamera-base.so.x.x.x $@ + patchelf --replace-needed $$(basename /usr/lib/*-linux-*/libcamera.so.0*) libcamera.so.x.x.x $@ + patchelf --replace-needed $$(basename /usr/lib/*-linux-*/libcamera-base.so.0*) libcamera-base.so.x.x.x $@ diff --git a/internal/rpicamera/rpicamera.go b/internal/rpicamera/rpicamera.go index c57afeb5..01802caa 100644 --- a/internal/rpicamera/rpicamera.go +++ b/internal/rpicamera/rpicamera.go @@ -176,6 +176,7 @@ func New( if err != nil { return nil, err } + defer removeSymlinks() c := &RPICamera{ onData: onData, @@ -200,14 +201,11 @@ func New( c.cmd, err = startEmbeddedExe(exeContent, env) if err != nil { - removeSymlinks() c.pipeConf.close() c.pipeVideo.close() return nil, err } - removeSymlinks() - c.pipeConf.write(append([]byte{'c'}, serializeParams(params)...)) c.waitDone = make(chan error)