]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Fix duplicate LC_RPATH error on MacOS 4370/head 4371/head
authorEtienne Cordonnier <ecordonnier@snap.com>
Fri, 18 Apr 2025 12:37:50 +0000 (14:37 +0200)
committerEtienne Cordonnier <ecordonnier@snap.com>
Fri, 18 Apr 2025 13:59:06 +0000 (15:59 +0200)
After the update to MacOS 15.4, the dynamic loader dyld treats duplicated LC_RPATH as an error.
The `FLAGS` variable already contains `LDFLAGS`, thus using both `FLAGS` and `LDFLAGS`
duplicates all `LDFLAGS`, including `-Wl,rpath` parameters.

The duplicate LC_RPATH causes this kind of errors:

```
dyld[29361]: Library not loaded: @loader_path/../lib/libzstd.1.dylib
      Referenced from: <7131C877-3CF0-33AC-AA05-257BA4FDD770> /Users/foobar/...
      Reason: tried: '/Users/foobar/..../lib/libzstd.1.dylib' (duplicate LC_RPATH '/usr/mypath.../lib')
```

Closes https://github.com/facebook/zstd/issues/4369

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
lib/Makefile

index a6a0eb09d821823487d89512e042859d5a6d1b95..e9a50a8f7c342e43e37991f0178698d32f8894bb 100644 (file)
@@ -166,7 +166,7 @@ $(ZSTD_DYNLIB): $(ZSTD_DYNLIB_OBJ)
        $(if $(filter -DZSTD_MULTITHREAD,$(CPPFLAGS)),\
     @echo compiling multi-threaded dynamic library $(LIBVER),\
     @echo compiling single-threaded dynamic library $(LIBVER))
-       $(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@
+       $(CC) $(FLAGS) $^ $(SONAME_FLAGS) -o $@
        @echo creating versioned links
        ln -sf $@ libzstd.$(SHARED_EXT_MAJOR)
        ln -sf $@ libzstd.$(SHARED_EXT)
@@ -255,7 +255,7 @@ libzstd-nomt: $(ZSTD_NOMT_FILES)
         echo "Error: Found zstdmt in list."; \
         exit 1; \
     fi
-       $(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@
+       $(CC) $(FLAGS) $^ $(SONAME_FLAGS) -o $@
 
 .PHONY: clean
 clean: