Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I obtain tools to build Perl modules on Windows?

I need to install a few modules required my Perl program on Windows. It looks like I need a 64-bit nmake to build those modules. I found nmake15 online, but it does not work on my system.

How can I build those Perl modules on Windows?

Screenshot of my download directory

like image 384
Oleksandr Kovtunenko Avatar asked Jan 08 '23 19:01

Oleksandr Kovtunenko


1 Answers

Visual Studio 2013 Community Edition is freely available under certain conditions:

Q: Who can use Visual Studio Community?

A: Here’s how individual developers can use Visual Studio Community:

Any individual developer can use Visual Studio Community to create their own free or paid apps.

Here’s how Visual Studio Community can be used in organizations:

An unlimited number of users within an organization can use Visual Studio Community for the following scenarios: in a classroom learning environment, for academic research, or for contributing to open source projects.

For all other usage scenarios: In non-enterprise organizations, up to 5 users can use Visual Studio Community. In enterprise organizations (meaning those with >250 PCs or > $1MM in annual revenue), no use is permitted beyond the open source, academic research, and classroom learning environment scenarios described above.

Now, if you are going to use Visual Studio tools to build your Perl modules, you are going to have to build your perl using those tools as well.

If you have one of the major Perl distributions such as StrawberryPerl or ActivePerl, and you are getting a message about needing a make tool, then you have a configuration issue.

Strawberry Perl already comes with bundled build tools using the MinGW toolchain. ActiveState provides a MinGW package which you can install using PPM.

From your screenshot, I can see that you are rather confused. You have downloaded ActivePerl and StrawberryPerl distributions, and several copies of an ancient 32-bit nmake.

For the time being, you must choose one among the following and stick with it.

  • ActivePerl or
  • StrawberryPerl or
  • Self-compiled perl

If you are careful with your %PATH%, and know what you are doing, multiple distributions can co-exist on your system, but, until then, stick with one and become comfortable using it.

ActivePerl gives you the benefit of pre-packaged CPAN libraries which you can just install from a decent but not stellar package management system called ppm. For any module you need, first see if ppm install Name::of::Module works. If not, you can use perl Makefile.PL, dmake test, dmake install to build and install them in most cases. Make sure the MinGW package I mention above is installed via ppm.

If you choose StrawberryPerl, make sure you have set the paths correctly in your command prompt. It comes pre-packaged with many essential C libraries and Perl modules, and provides the environment to build others you might need. StrawberryPerl also uses dmake as its build tool.

If you decide to build your own perl, you can use VS 2013 CE if Microsoft's terms apply to your situation. Keep in mind that if you choose that route, you are pretty much going to have to compile every C library needed for any modules you are going to use such as OpenSSL, libexpat, sqlite, zlib, libpng etc etc.

like image 183
Sinan Ünür Avatar answered Jan 19 '23 06:01

Sinan Ünür