SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
Compiling OpenSSL For Windows
Introduction
In order to support more advanced features planned in future releases, ClamAV has switched to
using OpenSSL for hashing. The ClamAV Visual Studio project included with ClamAV’s
source code requires the OpenSSL distributables to be placed in a specific directory. This article will
teach you how to compile OpenSSL on a Microsoft Windows system and how to link ClamAV against
OpenSSL.
This blog article is based on another article.
Prerequisites
You will need ActiveState ActivePerl installed. OpenSSL uses Perl-based Makefiles. You will also
need Visual Studio 2010 or later.
Download OpenSSL
You can find OpenSSL’s source here. Download the latest version. When this article was first
authored, the latest version of OpenSSL was 1.0.1h. This article will reference that version
throughout.
We will be using separate build and installation directories for 32bit and 64bit compilations.
We’ll extract the source code twice, to C:openssl-src-32 and C:openss-src-64. We’ll
then create two directories to hold the OpenSSL installation: C:openssl-build-32 and C:openssl-
build-64.
Compiling OpenSSL
We will first build the 32bit libraries. You will need to open a Visual Studio 32bit command prompt.
Please note that you cannot build OpenSSL 64bit from a 32bit Visual Studio command prompt and
vice-versa.
We’ll run these commands in the command prompt:
C:
cd openssl-src-32
perl Configure VC-WIN32—prefix=C:openssl-build-32
msdo_ms
nmake -f msntdll.mak
nmake -f msntdll.mak install
Once those commands have run, you’ll need to create the 64bit OpenSSL distributables in a
Visual Studio x64 comamnd prompt:
C:
cd openssl-src-64
perl Configure VC-WIN64A—prefix=C:openssl-build-64
msdo_win64a
nmake -f msntdll.mak
nmake -f msntdll.mak install
You now have both the 32bit and 64bit builds of OpenSSL compiled and installed in their respective
build directories.
ClamAV Dependencies Directory
Now that you have distributables for both 32bit and 64bit, we’ll now need to create the
directories where the ClamAV Visual Studio project expects the OpenSSL dependencies to be.
Create these directories:
C:clamdeps
C:clamdepswin32
C:clamdepswin32openssl
C:clamdepswin32openssllib
C:clamdepswin64
C:clamdepswin64openssl
C:clamdepswin64openssllib
Copy the 32bit directories and files over:
C:openssl-build-32include to C:clamdepswin32openssl
C:openssl-build-32liblibeay32.lib to C:clamdepswin32openssllib
C:openssl-build-32libssleay32.lib to C:clamdepswin32openssllib
C:openssl-build-32binlibeay32.dll to C:clamdepswin32openssllib
C:openssl-build-32binssleay32.dll to C:clamdepswin32openssllib
Now copy the 64bit directories and files over:
C:openssl-build-64include to C:clamdepswin64openssl
C:openssl-build-64liblibeay32.lib to C:clamdepswin64openssllib
C:openssl-build-64libssleay32.lib to C:clamdepswin64openssllib
C:openssl-build-64binlibeay32.dll to C:clamdepswin64openssllib
C:openssl-build-64binssleay32.dll to C:clamdepswin64openssllib
Conclusion
We’ve now built the OpenSSL libraries that ClamAV now depends on. ClamAV requires them
to be in C:clamdepswin32,64openssl.

Más contenido relacionado

La actualidad más candente

Docker on Windows - 101 to Production (half-day workshop)
Docker on Windows - 101 to Production (half-day workshop)Docker on Windows - 101 to Production (half-day workshop)
Docker on Windows - 101 to Production (half-day workshop)Elton Stoneman
 
WinOps 2017 - Docker on Windows, the Beginner's Guide
WinOps 2017 - Docker on Windows, the Beginner's GuideWinOps 2017 - Docker on Windows, the Beginner's Guide
WinOps 2017 - Docker on Windows, the Beginner's GuideElton Stoneman
 
ContainerSched 2017: Why Containers Will Take Over the World
ContainerSched 2017: Why Containers Will Take Over the WorldContainerSched 2017: Why Containers Will Take Over the World
ContainerSched 2017: Why Containers Will Take Over the WorldElton Stoneman
 
DockerCon EU 2017 - Docker on Windows workshop
DockerCon EU 2017 - Docker on Windows workshopDockerCon EU 2017 - Docker on Windows workshop
DockerCon EU 2017 - Docker on Windows workshopElton Stoneman
 
Ch2.setup.node.and.npm
Ch2.setup.node.and.npmCh2.setup.node.and.npm
Ch2.setup.node.and.npmRick Chang
 
Café com Arquitetura - Hello Docker Captain
Café com Arquitetura - Hello Docker CaptainCafé com Arquitetura - Hello Docker Captain
Café com Arquitetura - Hello Docker CaptainMurilo Beltrame
 
Tomcat Maven Plugin
Tomcat Maven PluginTomcat Maven Plugin
Tomcat Maven PluginOlivier Lamy
 
How do I update the crawford slackware box so that it is running the most up ...
How do I update the crawford slackware box so that it is running the most up ...How do I update the crawford slackware box so that it is running the most up ...
How do I update the crawford slackware box so that it is running the most up ...Paul Prawdzik
 
SFO15-TR6: Server Ecosystem Day (Part 6A)
SFO15-TR6: Server Ecosystem Day (Part 6A) SFO15-TR6: Server Ecosystem Day (Part 6A)
SFO15-TR6: Server Ecosystem Day (Part 6A) Linaro
 
Advanced microservices with .Net
Advanced microservices with .NetAdvanced microservices with .Net
Advanced microservices with .NetDon Schenck
 
Cloonix Overview
Cloonix OverviewCloonix Overview
Cloonix Overviewaterranova
 
Ordina SOFTC Presentation - TFS and JAVA, better together
Ordina SOFTC Presentation - TFS and JAVA, better togetherOrdina SOFTC Presentation - TFS and JAVA, better together
Ordina SOFTC Presentation - TFS and JAVA, better togetherOrdina Belgium
 
Xpirit MeetUp: Docker Windows Workshop
Xpirit MeetUp: Docker Windows WorkshopXpirit MeetUp: Docker Windows Workshop
Xpirit MeetUp: Docker Windows WorkshopElton Stoneman
 
Glassfish Web Stack Launch Jyri Virkki V2
Glassfish Web Stack Launch Jyri Virkki V2Glassfish Web Stack Launch Jyri Virkki V2
Glassfish Web Stack Launch Jyri Virkki V2Eduardo Pelegri-Llopart
 
Installation guide
Installation guideInstallation guide
Installation guidelaonap166
 
How do i update the crawford slackware box so that it is running the most up ...
How do i update the crawford slackware box so that it is running the most up ...How do i update the crawford slackware box so that it is running the most up ...
How do i update the crawford slackware box so that it is running the most up ...Paul Prawdzik
 

La actualidad más candente (20)

Docker on Windows - 101 to Production (half-day workshop)
Docker on Windows - 101 to Production (half-day workshop)Docker on Windows - 101 to Production (half-day workshop)
Docker on Windows - 101 to Production (half-day workshop)
 
WinOps 2017 - Docker on Windows, the Beginner's Guide
WinOps 2017 - Docker on Windows, the Beginner's GuideWinOps 2017 - Docker on Windows, the Beginner's Guide
WinOps 2017 - Docker on Windows, the Beginner's Guide
 
ContainerSched 2017: Why Containers Will Take Over the World
ContainerSched 2017: Why Containers Will Take Over the WorldContainerSched 2017: Why Containers Will Take Over the World
ContainerSched 2017: Why Containers Will Take Over the World
 
Installation instructions for R
Installation instructions for RInstallation instructions for R
Installation instructions for R
 
DockerCon EU 2017 - Docker on Windows workshop
DockerCon EU 2017 - Docker on Windows workshopDockerCon EU 2017 - Docker on Windows workshop
DockerCon EU 2017 - Docker on Windows workshop
 
Ch2.setup.node.and.npm
Ch2.setup.node.and.npmCh2.setup.node.and.npm
Ch2.setup.node.and.npm
 
Café com Arquitetura - Hello Docker Captain
Café com Arquitetura - Hello Docker CaptainCafé com Arquitetura - Hello Docker Captain
Café com Arquitetura - Hello Docker Captain
 
Tomcat Maven Plugin
Tomcat Maven PluginTomcat Maven Plugin
Tomcat Maven Plugin
 
How do I update the crawford slackware box so that it is running the most up ...
How do I update the crawford slackware box so that it is running the most up ...How do I update the crawford slackware box so that it is running the most up ...
How do I update the crawford slackware box so that it is running the most up ...
 
SFO15-TR6: Server Ecosystem Day (Part 6A)
SFO15-TR6: Server Ecosystem Day (Part 6A) SFO15-TR6: Server Ecosystem Day (Part 6A)
SFO15-TR6: Server Ecosystem Day (Part 6A)
 
Advanced microservices with .Net
Advanced microservices with .NetAdvanced microservices with .Net
Advanced microservices with .Net
 
Cloonix Overview
Cloonix OverviewCloonix Overview
Cloonix Overview
 
Building ovs
Building ovsBuilding ovs
Building ovs
 
Ordina SOFTC Presentation - TFS and JAVA, better together
Ordina SOFTC Presentation - TFS and JAVA, better togetherOrdina SOFTC Presentation - TFS and JAVA, better together
Ordina SOFTC Presentation - TFS and JAVA, better together
 
Xpirit MeetUp: Docker Windows Workshop
Xpirit MeetUp: Docker Windows WorkshopXpirit MeetUp: Docker Windows Workshop
Xpirit MeetUp: Docker Windows Workshop
 
CI-CD WITH GITLAB WORKFLOW
CI-CD WITH GITLAB WORKFLOWCI-CD WITH GITLAB WORKFLOW
CI-CD WITH GITLAB WORKFLOW
 
Docker at Flux7
Docker at Flux7Docker at Flux7
Docker at Flux7
 
Glassfish Web Stack Launch Jyri Virkki V2
Glassfish Web Stack Launch Jyri Virkki V2Glassfish Web Stack Launch Jyri Virkki V2
Glassfish Web Stack Launch Jyri Virkki V2
 
Installation guide
Installation guideInstallation guide
Installation guide
 
How do i update the crawford slackware box so that it is running the most up ...
How do i update the crawford slackware box so that it is running the most up ...How do i update the crawford slackware box so that it is running the most up ...
How do i update the crawford slackware box so that it is running the most up ...
 

Destacado

A família instituida por deus parte 6
A família instituida por deus   parte 6A família instituida por deus   parte 6
A família instituida por deus parte 6Nagel Servo
 
Po lcuaderno3 lagestiondecentrosinterculturales
Po lcuaderno3 lagestiondecentrosinterculturalesPo lcuaderno3 lagestiondecentrosinterculturales
Po lcuaderno3 lagestiondecentrosinterculturalesRossyPalmaM Palma M
 
A família instituida por deus parte 3
A família instituida por deus   parte 3A família instituida por deus   parte 3
A família instituida por deus parte 3Nagel Servo
 
A família instituida por deus parte 2
A família instituida por deus   parte 2A família instituida por deus   parte 2
A família instituida por deus parte 2Nagel Servo
 
Teori Organisasi Umum 2 - Kepemimpinan
Teori Organisasi Umum 2 - KepemimpinanTeori Organisasi Umum 2 - Kepemimpinan
Teori Organisasi Umum 2 - KepemimpinanSilmi Kaffah
 
Nguy hiểm Thoái hóa khớp gối
Nguy hiểm Thoái hóa khớp gốiNguy hiểm Thoái hóa khớp gối
Nguy hiểm Thoái hóa khớp gốiannette494
 
A família instituida por deus parte 5
A família instituida por deus   parte 5A família instituida por deus   parte 5
A família instituida por deus parte 5Nagel Servo
 
Jewelry Organizers That Are Ideal for Big Selections
Jewelry Organizers That Are Ideal for Big SelectionsJewelry Organizers That Are Ideal for Big Selections
Jewelry Organizers That Are Ideal for Big Selectionsjewelryorganiser44
 
7 must haves every girl should have
7 must haves every girl should have7 must haves every girl should have
7 must haves every girl should haveShen Holmes
 
Strategi Mendapatkan Beasiswa pendidikan
Strategi Mendapatkan Beasiswa pendidikanStrategi Mendapatkan Beasiswa pendidikan
Strategi Mendapatkan Beasiswa pendidikanMuhammad Singgih Z.A
 
Đừng để bệnh khớp tàn phá sức khỏe, tinh thần, cuộc sốn của bạn
Đừng để bệnh khớp tàn phá sức khỏe, tinh thần, cuộc sốn của bạnĐừng để bệnh khớp tàn phá sức khỏe, tinh thần, cuộc sốn của bạn
Đừng để bệnh khớp tàn phá sức khỏe, tinh thần, cuộc sốn của bạnmeagan781
 
Infracciones y-sanciones-de-los-estudiantes-lia-loayza
Infracciones y-sanciones-de-los-estudiantes-lia-loayzaInfracciones y-sanciones-de-los-estudiantes-lia-loayza
Infracciones y-sanciones-de-los-estudiantes-lia-loayzalia loayza
 

Destacado (20)

A família instituida por deus parte 6
A família instituida por deus   parte 6A família instituida por deus   parte 6
A família instituida por deus parte 6
 
Po lcuaderno3 lagestiondecentrosinterculturales
Po lcuaderno3 lagestiondecentrosinterculturalesPo lcuaderno3 lagestiondecentrosinterculturales
Po lcuaderno3 lagestiondecentrosinterculturales
 
A família instituida por deus parte 3
A família instituida por deus   parte 3A família instituida por deus   parte 3
A família instituida por deus parte 3
 
Examples
ExamplesExamples
Examples
 
A família instituida por deus parte 2
A família instituida por deus   parte 2A família instituida por deus   parte 2
A família instituida por deus parte 2
 
Common Framework and Integration
Common Framework and IntegrationCommon Framework and Integration
Common Framework and Integration
 
Po lcuaderno4 ensenaraconvivir.
Po lcuaderno4 ensenaraconvivir.Po lcuaderno4 ensenaraconvivir.
Po lcuaderno4 ensenaraconvivir.
 
Strategi pembelajaran
Strategi pembelajaranStrategi pembelajaran
Strategi pembelajaran
 
Teori Organisasi Umum 2 - Kepemimpinan
Teori Organisasi Umum 2 - KepemimpinanTeori Organisasi Umum 2 - Kepemimpinan
Teori Organisasi Umum 2 - Kepemimpinan
 
Nguy hiểm Thoái hóa khớp gối
Nguy hiểm Thoái hóa khớp gốiNguy hiểm Thoái hóa khớp gối
Nguy hiểm Thoái hóa khớp gối
 
Who I am
Who I amWho I am
Who I am
 
A família instituida por deus parte 5
A família instituida por deus   parte 5A família instituida por deus   parte 5
A família instituida por deus parte 5
 
Jewelry Organizers That Are Ideal for Big Selections
Jewelry Organizers That Are Ideal for Big SelectionsJewelry Organizers That Are Ideal for Big Selections
Jewelry Organizers That Are Ideal for Big Selections
 
Meu velho
Meu velhoMeu velho
Meu velho
 
Group work on integrating the learning into the regional flagships
Group work on integrating the learning into the regional flagshipsGroup work on integrating the learning into the regional flagships
Group work on integrating the learning into the regional flagships
 
7 must haves every girl should have
7 must haves every girl should have7 must haves every girl should have
7 must haves every girl should have
 
Vues d'un ulm
Vues d'un ulm Vues d'un ulm
Vues d'un ulm
 
Strategi Mendapatkan Beasiswa pendidikan
Strategi Mendapatkan Beasiswa pendidikanStrategi Mendapatkan Beasiswa pendidikan
Strategi Mendapatkan Beasiswa pendidikan
 
Đừng để bệnh khớp tàn phá sức khỏe, tinh thần, cuộc sốn của bạn
Đừng để bệnh khớp tàn phá sức khỏe, tinh thần, cuộc sốn của bạnĐừng để bệnh khớp tàn phá sức khỏe, tinh thần, cuộc sốn của bạn
Đừng để bệnh khớp tàn phá sức khỏe, tinh thần, cuộc sốn của bạn
 
Infracciones y-sanciones-de-los-estudiantes-lia-loayza
Infracciones y-sanciones-de-los-estudiantes-lia-loayzaInfracciones y-sanciones-de-los-estudiantes-lia-loayza
Infracciones y-sanciones-de-los-estudiantes-lia-loayza
 

Similar a Compiling OpenSSL For Windows

Percona Live 2022 - MySQL Shell for Visual Studio Code
Percona Live 2022 - MySQL Shell for Visual Studio CodePercona Live 2022 - MySQL Shell for Visual Studio Code
Percona Live 2022 - MySQL Shell for Visual Studio CodeFrederic Descamps
 
DataDrivenMtl 20170906 - SQL Server 2017 on Linux
DataDrivenMtl 20170906 - SQL Server 2017 on LinuxDataDrivenMtl 20170906 - SQL Server 2017 on Linux
DataDrivenMtl 20170906 - SQL Server 2017 on LinuxMichael Albo, MSc IT, MBA
 
OpenCV installation in windows visual studio
OpenCV installation in windows visual studioOpenCV installation in windows visual studio
OpenCV installation in windows visual studioPeter Jose
 
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOps
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOpsPVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOps
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOpsAndrey Karpov
 
Adding System Call to Kernel
Adding System Call to KernelAdding System Call to Kernel
Adding System Call to KernelMuhammad Bilal
 
BLCN532 Lab 1Set up your development environmentV2.0.docx
BLCN532 Lab 1Set up your development environmentV2.0.docxBLCN532 Lab 1Set up your development environmentV2.0.docx
BLCN532 Lab 1Set up your development environmentV2.0.docxmoirarandell
 
Microservices Server - MSS Workshop
Microservices Server - MSS WorkshopMicroservices Server - MSS Workshop
Microservices Server - MSS WorkshopWSO2
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Ben Hall
 
Compile open cpn on windows
Compile open cpn on windowsCompile open cpn on windows
Compile open cpn on windowsrandikaucsc
 
Network Automation Tools
Network Automation ToolsNetwork Automation Tools
Network Automation ToolsEdwin Beekman
 
Docker4Drupal 2.1 for Development
Docker4Drupal 2.1 for DevelopmentDocker4Drupal 2.1 for Development
Docker4Drupal 2.1 for DevelopmentWebsolutions Agency
 
Start tracking your ruby infrastructure
Start tracking your ruby infrastructureStart tracking your ruby infrastructure
Start tracking your ruby infrastructureSergiy Kukunin
 
Workshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaWorkshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaEdgar Silva
 
OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)Jooho Lee
 
Deploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows ContainersDeploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows ContainersBen Hall
 

Similar a Compiling OpenSSL For Windows (20)

Percona Live 2022 - MySQL Shell for Visual Studio Code
Percona Live 2022 - MySQL Shell for Visual Studio CodePercona Live 2022 - MySQL Shell for Visual Studio Code
Percona Live 2022 - MySQL Shell for Visual Studio Code
 
DataDrivenMtl 20170906 - SQL Server 2017 on Linux
DataDrivenMtl 20170906 - SQL Server 2017 on LinuxDataDrivenMtl 20170906 - SQL Server 2017 on Linux
DataDrivenMtl 20170906 - SQL Server 2017 on Linux
 
OpenCV installation in windows visual studio
OpenCV installation in windows visual studioOpenCV installation in windows visual studio
OpenCV installation in windows visual studio
 
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOps
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOpsPVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOps
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOps
 
Adding System Call to Kernel
Adding System Call to KernelAdding System Call to Kernel
Adding System Call to Kernel
 
Final Report - Spark
Final Report - SparkFinal Report - Spark
Final Report - Spark
 
BLCN532 Lab 1Set up your development environmentV2.0.docx
BLCN532 Lab 1Set up your development environmentV2.0.docxBLCN532 Lab 1Set up your development environmentV2.0.docx
BLCN532 Lab 1Set up your development environmentV2.0.docx
 
Microservices Server - MSS Workshop
Microservices Server - MSS WorkshopMicroservices Server - MSS Workshop
Microservices Server - MSS Workshop
 
Docker for a .NET web developer
Docker for a .NET web developerDocker for a .NET web developer
Docker for a .NET web developer
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016
 
Composer
ComposerComposer
Composer
 
Compile open cpn on windows
Compile open cpn on windowsCompile open cpn on windows
Compile open cpn on windows
 
Network Automation Tools
Network Automation ToolsNetwork Automation Tools
Network Automation Tools
 
Docker4Drupal 2.1 for Development
Docker4Drupal 2.1 for DevelopmentDocker4Drupal 2.1 for Development
Docker4Drupal 2.1 for Development
 
Docker containers on Windows
Docker containers on WindowsDocker containers on Windows
Docker containers on Windows
 
Start tracking your ruby infrastructure
Start tracking your ruby infrastructureStart tracking your ruby infrastructure
Start tracking your ruby infrastructure
 
Workshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaWorkshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and Java
 
.Net Core
.Net Core.Net Core
.Net Core
 
OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)
 
Deploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows ContainersDeploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows Containers
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Último (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Compiling OpenSSL For Windows

  • 1. Compiling OpenSSL For Windows Introduction In order to support more advanced features planned in future releases, ClamAV has switched to using OpenSSL for hashing. The ClamAV Visual Studio project included with ClamAV’s source code requires the OpenSSL distributables to be placed in a specific directory. This article will teach you how to compile OpenSSL on a Microsoft Windows system and how to link ClamAV against OpenSSL. This blog article is based on another article. Prerequisites You will need ActiveState ActivePerl installed. OpenSSL uses Perl-based Makefiles. You will also need Visual Studio 2010 or later. Download OpenSSL You can find OpenSSL’s source here. Download the latest version. When this article was first authored, the latest version of OpenSSL was 1.0.1h. This article will reference that version throughout. We will be using separate build and installation directories for 32bit and 64bit compilations. We’ll extract the source code twice, to C:openssl-src-32 and C:openss-src-64. We’ll then create two directories to hold the OpenSSL installation: C:openssl-build-32 and C:openssl- build-64. Compiling OpenSSL
  • 2. We will first build the 32bit libraries. You will need to open a Visual Studio 32bit command prompt. Please note that you cannot build OpenSSL 64bit from a 32bit Visual Studio command prompt and vice-versa. We’ll run these commands in the command prompt: C: cd openssl-src-32 perl Configure VC-WIN32—prefix=C:openssl-build-32 msdo_ms nmake -f msntdll.mak nmake -f msntdll.mak install Once those commands have run, you’ll need to create the 64bit OpenSSL distributables in a Visual Studio x64 comamnd prompt: C: cd openssl-src-64 perl Configure VC-WIN64A—prefix=C:openssl-build-64 msdo_win64a nmake -f msntdll.mak nmake -f msntdll.mak install You now have both the 32bit and 64bit builds of OpenSSL compiled and installed in their respective build directories. ClamAV Dependencies Directory Now that you have distributables for both 32bit and 64bit, we’ll now need to create the directories where the ClamAV Visual Studio project expects the OpenSSL dependencies to be. Create these directories: C:clamdeps C:clamdepswin32 C:clamdepswin32openssl C:clamdepswin32openssllib
  • 3. C:clamdepswin64 C:clamdepswin64openssl C:clamdepswin64openssllib Copy the 32bit directories and files over: C:openssl-build-32include to C:clamdepswin32openssl C:openssl-build-32liblibeay32.lib to C:clamdepswin32openssllib C:openssl-build-32libssleay32.lib to C:clamdepswin32openssllib C:openssl-build-32binlibeay32.dll to C:clamdepswin32openssllib C:openssl-build-32binssleay32.dll to C:clamdepswin32openssllib Now copy the 64bit directories and files over: C:openssl-build-64include to C:clamdepswin64openssl C:openssl-build-64liblibeay32.lib to C:clamdepswin64openssllib C:openssl-build-64libssleay32.lib to C:clamdepswin64openssllib C:openssl-build-64binlibeay32.dll to C:clamdepswin64openssllib C:openssl-build-64binssleay32.dll to C:clamdepswin64openssllib Conclusion We’ve now built the OpenSSL libraries that ClamAV now depends on. ClamAV requires them to be in C:clamdepswin32,64openssl.