Win32::FindFile

Started by Jom, March 19, 2020, 03:04:41 AM

Previous topic - Next topic

Phil Harvey

It doesn't matter.  The "make install" step will put it where it needs to go.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Jom

Thanks for the answers, but I don't understand anything already. I do everything as you had wrote, but there is no result. Am I doing something wrong? Or is it just because of Windows... I understand, probably, not worth hoping for a solution, but if someone has any thoughts, thank you.

PS E:\_\Win32-FindFile-0.15> perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a gmake-style Makefile
Writing Makefile for Win32::FindFile
Writing MYMETA.yml and MYMETA.json
PS E:\_\Win32-FindFile-0.15> make install
Microsoft Windows [Version 10.0.18362.720]
(c) 2019 Microsoft Corporation. All rights reserved.

E:\_\Win32-FindFile-0.15>exiftool -ver -v5
ExifTool version 11.91
Perl version 5.030002 (-C0)
Platform: MSWin32
Optional libraries:
  Archive::Zip                 1.68
  Compress::Zlib               2.093
  Digest::MD5                  2.55
  Digest::SHA                  6.02
  IO::Compress::Bzip2          2.093
  Time::Piece                  1.34
  Unicode::LineBreak           2019.001
  IO::Compress::RawDeflate     2.093
  IO::Uncompress::RawInflate   2.093
  Win32::API                   0.84
  Win32::FindFile              (not installed)
  Win32API::File               0.1203
Include directories:
  E:\software\ExifTool/lib
  C:/Strawberry/perl/site/lib/MSWin32-x64-multi-thread
  C:/Strawberry/perl/site/lib
  C:/Strawberry/perl/vendor/lib
  C:/Strawberry/perl/lib

Phil Harvey

Odd.  I'm sure this is how I installed this on my virtual Windows 10 machine.  I used "nmake", but that shouldn't make a difference.  I would have also run "nmake" before "nmake install", but I thought this wasn't necessary.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Jom

Quote from: obetz on March 20, 2020, 06:14:51 AM
Would you mind to check the logs which error kept Win32::FindFile from installing?

Thanks, Oliver.  Log is attached.

Quote from: obetz on March 20, 2020, 06:14:51 AM
After all, you can use my Strawberry Perl based package containing also Win32::FindFile.

Thank you, but I want to understand this by myself also.
But I'm interested, had you made this Strawberry Perl based package for your own personal purposes? Why had you made this package? What is it package?

Jom

From README for Win32-FindFile

INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install



Probably, all is bad.

Microsoft Windows [Version 10.0.18362.720]
(c) 2019 Microsoft Corporation. All rights reserved.

e:\_\Win32-FindFile-0.15>perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a gmake-style Makefile
Writing Makefile for Win32::FindFile
Writing MYMETA.yml and MYMETA.json

e:\_\Win32-FindFile-0.15>make
Microsoft Windows [Version 10.0.18362.720]
(c) 2019 Microsoft Corporation. All rights reserved.

e:\_\Win32-FindFile-0.15>make test
make[1]: Entering directory `/e/_/Win32-FindFile-0.15'
Microsoft Windows [Version 10.0.18362.720]
(c) 2019 Microsoft Corporation. All rights reserved.

e:\_\Win32-FindFile-0.15>make install
make[2]: Entering directory `/e/_/Win32-FindFile-0.15'
Microsoft Windows [Version 10.0.18362.720]
(c) 2019 Microsoft Corporation. All rights reserved.

e:\_\Win32-FindFile-0.15>make install -force
make[3]: Entering directory `/e/_/Win32-FindFile-0.15'
make[3]: orce: No such file or directory
make[3]: *** No rule to make target `orce'.  Stop.
make[3]: Leaving directory `/e/_/Win32-FindFile-0.15'

obetz

Quote from: Andrei Korzhyts on March 20, 2020, 10:56:25 AM
Thanks, Oliver.  Log is attached.

this is not the DST error I mentioned. It doesn't even compile as far as I see.

Maybe you are using the wrong make.exe: Strawberry Perl comes with a gmake.exe, but you typed "make" instead.

What says "make --version" on your system?

Did you set the path correctly, e.g. by running portableshell.bat?

I see references to c:\mingw in your logfile. Strawberry Perl comes with it's own compiler in the strawberry Perl directory tree, so an external mingw seems to be wrong.

Quote from: Andrei Korzhyts on March 20, 2020, 10:56:25 AM
But I'm interested, had you made this Strawberry Perl based package for your own personal purposes? Why had you made this package? What is it package?

I hope I described this in detail on https://oliverbetz.de/pages/Artikel/ExifTool-for-Windows and https://oliverbetz.de/pages/Artikel/Portable-Perl-Applications

tl;dr: Make a clean, robust and liberally licensed ExifTool for Windows.

Oliver

P.S.: I was able to install Win32::File with 5.30.2.1 here.

Jom

QuoteWhat says "make --version" on your system?

f:\>make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i686-pc-msys

obetz

that's not the version shipped with Strawberry Perl (but it should work).

I suggest to check your path settings. Be sure to use compiler and tools from the Strawberry Perl distribution.

Look at portableshell.bat

Jom

QuoteLook at portableshell.bat

What it is file?

obetz

for some reason I don't remember, I supposed you are using the portable edition of Strawberry Perl which comes with portableshell.bat setting the path variable:


[...]
set PATH=%~dp0perl\site\bin;%~dp0perl\bin;%~dp0c\bin;%PATH%
[...]


Having multiple compilers in the path variable gives unpredictable results.

Jom

Thank you all for your help.

It was the compiler. I used the MinGW compiler (I had it over Strawberry Perl in the environment variable) and so it ran.

I deleted MinGW,
reinstalled Strawberry Perl,
and placed the path to the gmake.exe compiler is higher than other program paths.

Everything turned out as in the instructions, but I wrote gmake instead of make.

What different between gmake and make?


QuoteHaving multiple compilers in the path variable gives unpredictable results.
This is if you don 't know that you have in your environment variable "Path".
Will starting the compiler that is the first in the string of "Path".
I like to control it manually.

obetz

Quote from: Andrei Korzhyts on March 24, 2020, 08:56:59 AM
I deleted MinGW,
reinstalled Strawberry Perl,
and placed the path to the gmake.exe compiler is higher than other program paths.

deleting /resinstalling was not necessary just to modify the path variable.

Quote from: Andrei Korzhyts on March 24, 2020, 08:56:59 AM
What different between gmake and make?

the name.

Quote from: Andrei Korzhyts on March 24, 2020, 08:56:59 AM
QuoteHaving multiple compilers in the path variable gives unpredictable results.
This is if you don 't know that you have in your environment variable "Path".

Using Perl and Mingw is not trivial.