Ld.bfd: невозможно найти -lz: такого файла или каталога нет.Linux

Ответить
Anonymous
 Ld.bfd: невозможно найти -lz: такого файла или каталога нет.

Сообщение Anonymous »

Я получаю эту ошибку, когда пытаюсь скомпилировать собственную библиотеку C# в Ubuntu 22.04.3 LTS (Jammy Jellyfish), ее не было в 20.4.
Использованная команда ;

Код: Выделить всё

dotnet publish -r linux-x64 -c Release -p:PublishAot=true
Ошибка;

/usr/bin/ld.bfd: невозможно найти -lz: Нет такой файл или каталог


collect2: ошибка: ld вернул 1 статус выхода [test.csproj]
/root /.nuget/packages/microsoft.dotnet.ilcompiler/8.0.2/build/Microsoft.NETCore.Native.targets(367,5):
ошибка MSB3073: команда ""gcc" "test.o" - o "test.so"
-Wl,--version-script=obj/Release/net8.0/linux-x64/native/test.exports -Wl,--export-dynamic -gz=zlib -fuse -ld=bfd libf.a /root/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/8.0.2/sdk/libbootstrapperdll.o
/root/.nuget/packages/runtime. linux-x64.microsoft.dotnet.ilcompiler/8.0.2/sdk/libRuntime.WorkstationGC.a
/root/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/8.0.2/sdk /libeventpipe-disabled.a
/root/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/8.0.2/sdk/libstdc++compat.a
/root/. nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/8.0.2/framework/libSystem.Native.a
/root/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler /8.0.2/framework/libSystem.Globalization.Native.a
/root/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/8.0.2/framework/libSystem.IO.Compression. Native.a
/root/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/8.0.2/framework/libSystem.Net.Security.Native.a
/root/. nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/8.0.2/framework/libSystem.Security.Cryptography.Native.OpenSsl.a
-g -Wl,-rpath,'$ORIGIN' - Wl,--build-id=sha1 -Wl,--as-needed -Wl,-e0x0 -pthread -ldl -lz -lrt -lm -shared -Wl,-z,relro -Wl,-z,now -Wl ,--eh-frame-hdr -Wl,--discard-all -Wl,--gc-sections" завершился с кодом 1.

Также если я перейду в /usr/bin и попробую ld.bfd -lz, я снова получу следующую ошибку;

Код: Выделить всё

ld.bfd: cannot find -lz: No such file or directory
Хотя, если я запущу то же самое на машине, которая компилирует библиотеку без ошибок, я получу следующее:

Код: Выделить всё

ld.bfd: warning: cannot find entry symbol _start; not setting start address 
Это заставляет меня думать, что в Ubuntu отсутствует какая-то библиотека или компонент, с которым я получаю сообщение об ошибке.
Есть ли у кого-нибудь идеи по этому поводу? что это может быть?

Подробнее здесь: https://stackoverflow.com/questions/786 ... -directory
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»