The attribute plugin is not available, 2fa disabled

Odpravljanje težav

Tukaj boste našli rešitve za pogoste težave pri gradnji OpenSSL.


Napake pri gradnji

"stdlib.h not found" ali "windows.h not found"

Simptom:

fatal error C1083: Cannot open include file: 'stdlib.h': No such file or directory

Vzrok: Windows SDK ni nameščen ali ni v poti.

Rešitev:

# Možnost 1: Namestitev Windows SDK
winget install Microsoft.WindowsSDK.10.0.22621
 
# Možnost 2: V Visual Studio Installer
# → "Posamezne komponente" → izberite "Windows 10 SDK"

Nato: Ponovno naložite okolje Visual Studio:

call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"

"perl is not recognized"

Simptom:

'perl' is not recognized as an internal or external command

Vzrok: Perl ni nameščen ali ni v PATH.

Rešitev:

# Namestitev Perl
winget install StrawberryPerl.StrawberryPerl
 
# Ročna nastavitev PATH (če po ponovnem zagonu še vedno ni najden)
set PATH=C:\Strawberry\perl\bin;%PATH%

"NASM not found"

Simptom:

NASM not found - please read INSTALL.md

Vzrok: NASM ni nameščen ali ni v PATH.

Rešitev A: Namestitev NASM (priporočeno)

winget install NASM.NASM
 
# Nastavitev PATH (pot se lahko razlikuje!)
set PATH=%LOCALAPPDATA%\bin\NASM;%PATH%
 
# Preverjanje
nasm -v

Rešitev B: Gradnja brez NASM (počasneje)

perl Configure VC-WIN64A no-asm --prefix=D:\Projects\openssl-3.6.0\bin

Brez NASM sta AES in SHA znatno počasnejša!


"cl.exe not found"

Simptom:

'cl' is not recognized as an internal or external command

Vzrok: Okolje Visual Studio ni naloženo.

Rešitev:

call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"

Namig: Vedno začnite z „Developer Command Prompt for VS 2022“ iz menija Start - tam je okolje že naloženo.


"nmake se obesi pri 'nmake clean'"

Simptom: nmake clean se ne odziva ali prekine z napako.

Vzrok: Znana težava pri prejšnjih neuspelih gradnjah.

Rešitev:

# Ročno izbrišite Makefile
del makefile
 
# Ponovno konfigurirajte
perl Configure VC-WIN64A --prefix=D:\Projects\openssl-3.6.0\bin
 
# Ponovno zgradite
nmake

"LNK1181: cannot open input file '*.obj'"

Simptom:

LINK : fatal error LNK1181: cannot open input file 'crypto\aes\aes-x86_64.obj'

Vzrok: Prejšnja gradnja ni uspela, objektne datoteke manjkajo.

Rešitev:

# Izbrišite vse in začnite znova
del makefile
nmake clean 2>nul
perl Configure VC-WIN64A --prefix=D:\Projects\openssl-3.6.0\bin
nmake

Težave s PowerShell

"cl.exe povzroča napako kljub uspehu"

Simptom: PowerShell skripta se prekine, čeprav cl.exe deluje.

Vzrok: cl.exe piše informacije o različici v stderr, kar se pri $ErrorActionPreference = „Stop“ interpretira kot napaka.

Rešitev v skripti:

# Pravilno obravnavanje izpisa cl.exe
try {
    $clOutput = & cl 2>&1 | Out-String
    Write-Host "cl.exe najden"
} catch {
    Write-Host "cl.exe najden (stderr prezrt)"
}

"Execution Policy preprečuje izvajanje skripte"

Simptom:

File D:\...\build_openssl.ps1 cannot be loaded because running scripts is disabled

Rešitev:

# Možnost 1: Dovoli za to sejo
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
 
# Možnost 2: Obidi ob klicu
powershell.exe -ExecutionPolicy Bypass -File "build_openssl.ps1"

Težave med izvajanjem

"DLL not found" ob zagonu programa

Simptom:

The program can't start because libcrypto-3-x64.dll is missing

Rešitev:

1. Kopirajte DLL-je v mapo aplikacije:

copy D:\Projects\openssl-3.6.0\bin\bin\libcrypto-3-x64.dll .\
copy D:\Projects\openssl-3.6.0\bin\bin\libssl-3-x64.dll .\

2. Ali samodejno kopirajte v .csproj:

<ItemGroup>
  <None Update="libcrypto-3-x64.dll">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
  <None Update="libssl-3-x64.dll">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>

"ML-DSA/ML-KEM ni na voljo"

Simptom:

openssl list -signature-algorithms | findstr mldsa
# Brez izpisa

Možni vzroki:

1. Napačna različica OpenSSL - Potrebna je 3.6.0 ali novejša

openssl version
# Mora biti: OpenSSL 3.6.0 ali višja

2. Provider ni naložen

openssl list -providers
# Prikazati bi moralo "default" in morda "oqsprovider"

"FIPS provider not available"

Simptom:

openssl list -providers
# Ne prikazuje "fips"

Rešitev:

1. Ali je bilo grajeno z enable-fips?

perl Configure VC-WIN64A enable-fips --prefix=...
nmake
nmake install_sw install_fips

2. Ali je openssl.cnf pravilno konfiguriran?

# V openssl.cnf:
[openssl_init]
providers = provider_sect
 
[provider_sect]
fips = fips_sect
base = base_sect
 
[fips_sect]
activate = 1
 
[base_sect]
activate = 1

Omrežne težave

"Git clone ne uspe"

Simptom: Časovna omejitev ali napaka povezave pri git clone.

Rešitev za korporativni proxy:

# Konfiguracija proxyja
git config --global http.proxy http://proxy.podjetje.si:8080
git config --global https.proxy http://proxy.podjetje.si:8080

Rešitev za napako SSL certifikata:

# Začasno onemogočite preverjanje SSL (samo za prenos!)
git config --global http.sslVerify false
 
# Po prenosu ponovno omogočite
git config --global http.sslVerify true

Dodatna pomoč

Če vaše težave tukaj ni navedene:


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional

Zuletzt geändert: dne 15.12.2025 ob 21:13