faq1Add my vote for this tag create new tag
, view all tags


I can't get the user registration to work. I running the latest cygwin with all packages updated (Jun 2002), and running cygwin/apache (not Windows native). I get the following error when I try to register a new user:

Can't locate Digest/SHA1.pm in @INC (@INC contains: ...
I have launched CPAN and tried to install Digest::SHA1?. It dies with a compile error:
dllwrap: no export definition file provided
dllwrap: creating one, but that may not be what you want
dlltool: Unable to open object file: and
dllwrap: dlltool exited with status 1
perlld: *** system() failed to execute 
I know I've cross-posted this (apologies), and I haven't added it as a bug because it's not really Twiki, it's Perl. can I just copy a compiled Digest::SHA1 module from someone else using cygwin?

any assistance appreciated.

-- ChrisWolske - 07 Jun 2002


Not an answer, but moved this question from the Codev web to the Support web.

-- PeterThoeny - 07 Jun 2002

First, check that you have gcc and make installed as per the cookbook, and that you have latest version of Perl. The CPAN installer does need to build some binaries for SHA1, it turns out.

Assuming you have, I've attached a dump of my Digest directories (includes SHA1 and MD5) - you should be able to untar using tar xzvf. Make sure you are in / when you do this. No guarantees of course, but I do have a working installation using Cygwin Apache, just re-tested registration and it works OK.

If this doesn't work, I suggest backing up any important files, then re-installing Cygwin from scratch.

I'm away for a few days, so perhaps someone else can follow this up if needed.

-- RichardDonkin - 08 Jun 2002

Not quite an answer either, but perhaps helpful with a similar problem. When building the SHA1 package, I got the following:

dllwrap: no export definition file provided
dllwrap: creating one, but that may not be what you want
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/../../../../i686-pc-cygwin/bin/ld: cann
ot find -luser32
collect2: ld returned 1 exit status
dllwrap: gcc exited with status 1

This was solved by installing the w32api module in Cygwin install.

-- RossC - 17 June 2002

I have w32api installed, but I may try re-installing it. I've untarred Richards Digest files, and it -- it just finished registering and got past the SHA1 error. Now it's complaining about the method "mail" in Twiki/Net.pm... I'll look into that later.

thanks for the help, looks like this can be resolved pretty easy.

-- ChrisWolske - 17 Jun 2002

I think the solution for the original problem is to avoid using the default TEMP directory on Windows 2000, which is c:\Documents and Settings\rdonkin\Local Settings\temp, for user rdonkin - this is why dlltool says dlltool: Unable to open object file: and, because of the spaces in the name of this temp directory, which is used by dllwrap. See this message from the Cygwin email list for more information.

The solution is to set the TEMP environment variable to something more sensible (by default it points to the 'Documents and Settings' subdirectory) - either create c:/temp and then set the TEMP variable to /c/temp in Cygwin (using the .profile file and something like export TEMP=/c/temp), or just point TEMP to the Cygwin built-in /tmp directory.

I've updated WindowsInstallCookbook to avoid this issue.

-- RichardDonkin - 20 Nov 2002

I'm encountering a similar problem on Win2000 -- also with Digest::SHA1. I can 'make' Digest::SHA1 fine, but on the 'make test' part. I get an error making t:

 t.badfile ........ Can't load 'blib/arch/auto/Digest/SHA1/SHA1.dll' for module Digest::SHA1: dlopen: Win32 error 
998 at /usr/lib/perl5/5.6.1/cygwin-multi/Dynaloader.pm line 206. 

... and similarly for all the other tests.

Haven't found a resolution yet .... all permissions look fine and the SHA1.dll exists, so I can't see why this won't work.

-- IanGraham - 25 Jan 2004

Haven't seen this before, but this email thread may help - could also be lack of execute permissions on the DLL, though you've checked this already.

You might also want to try the files in the attachment to see if they help, see above for more details.

BTW it's best to start a completely new question for this, as per SupportGuidelines, and just link to InstallDigestSHA1Fails.

-- RichardDonkin - 26 Jan 2004

I've got exactly the same error and problem as IanGraham. The error also pops up for other Perl modules where a dll must be built, e.g. Storable. So far I've tried the following to solve the problem:

  • Checking that the permissions are okay, i.e. executable flag is set:
-rwxr-xr-x    1 Simon    None        19456 Feb  6 10:49 ./blib/arch/auto/Digest/SHA1/SHA1.dll
  • Tried various different user/group combinations using chown.
  • Tried using TEMP environment variable pointing to windows folder or cygwin folder.
  • Tried using with and without export CYGWIN=ntsec.
  • Trying to recompile with older cygwin versions of gcc and/or w32api.
  • Reading all related pages I can find in twiki.org or google...

I also had a look at the digest file of RichardDonkin. Mysteriously his SHA1.dll file is a lot smaller, e.g. 12-15 kb.

Now I'm giving up frown Unless somebody posts a new idea here...

-- SimonHardyFrancis - 06 Feb 2004

Very strange... Perhaps this is a Perl/compilation issue that was introduced in a recent version of Perl on Cygwin? 5.6.1 may work better if you can install that. You could also just use ActivePerl, which works pretty well with WindowsInstallCookbook with some minor variations in setup (flagged in TWiki.cfg).

As always, asking a new question as per SupportGuidelines is useful to get the relevant info (versions, testenv output, etc).

-- RichardDonkin - 08 Feb 2004

The good news (for me) is that because of this problem it was decided to install a new Linux server (instead of waste more fiddling around on Windows). The bad news (for this thread) is that I don't have time to fiddle around trying older versions... frown

IanGraham told me via e-mail that he solved the problem by using the attached digest files. Unfortunately this wouldn't work for me because I need to compile other Perl modules such as Storable.

-- SimonHardyFrancis - 09 Feb 2004

The issue still exists. I tried all the different suggestions provided to resolve this issue but nothing works.

I cannot make the registration portion of the twiki work.

I always get the following error:

Can't load 'blib/arch/auto/Digest/SHA1/SHA1.dll' for module Digest::SHA1: dlopen: Win32 error 998 at /usr/lib/perl5/5.6.1/cygwin-multi/Dynaloader.pm line 206.

-- ShirazQureshi - 22 Mar 2004

I just did a cpan -i Digest::SHA1 on Perl 5.8.0 (installed via Cygwin setup.exe some time ago) and it worked fine. I'm not using ntsec or anything unusual. As always, it's best to read the SupportGuidelines and log a new call, linking to this one - without the details provided by testenv (Perl version, Windows version, etc) it's hard to see if there are any patterns in the various instances of this issue...

IanGraham switched the topic of this page half way through, so it would be best to refactor the second part into OpenDLLFailsOnDigestSHA1.

Another option may be to use ActivePerl, which is well supported on Windows and may avoid this type of issue. The setup is not that different to Cygwin Perl and is mostly covered by WindowsInstallCookbook.

-- RichardDonkin - 22 Mar 2004

I thought Perl 5.8.0 is not fully supported.

I also used the SHA1 files provided in this email thread. I figured out the problem was that the unzip procedure placed the files in the /usr/lib/... while the SHA1 needed to placed in /lib/... for the cyqwin installation I had. It works now smile

I am new at the twiki stuff, so I do not know how to get to OpenDLLFailsOnDigestSHA1. I got here through a google search.

-- ShirazQureshi - 22 Mar 2004

Glad it's working. Perl 5.8.0 does have some issues with TWiki (see IssuesWithPerl5dot8) but the attachment one can be fixed by upgrading CPAN:CGI (CGI.pm) and the other one may not matter to people. I suspect there are quite a few people with TWiki working on Windows with Perl 5.8.0, though I haven't tried that combination myself. I do have TWiki working on Perl 5.8.3 on Linux, so I think any problems should be reasonably solveable.

As for OpenDLLFailsOnDigestSHA1 - the highlighting and '?' at end indicates it's a non-existent topic that you can create by clicking on that link. See the TWikiDocumentation for details - leaving a 'dangling link' like this is a sort of encouragement to refactor a page smile

-- RichardDonkin - 23 Mar 2004

I had this same problem as reported. Like some others, I was able to solve my problem by installing the attached DigestSHA file. Notes:

  1. Despite the name, it is not a gzipp'ed tar file. It is just a tar file.
  2. cd / and the untar. It was created with full relative paths.
  3. My previous Digest-SHA1 cpan install 'worked' correctly and test correctly. I was also able to use it successfully via a standalone perl program. [5.6.1-2].

Many thanks for suggestions and patch.

-- JimGreer - 19 Apr 2004

Glad it's now working. Re the tar.gz file, it may be that SourceForge or perhaps Winzip on your PC is un-gzipping the file automatically - when I downloaded it just now it came over as a tar.gz file.

-- RichardDonkin - 20 Apr 2004


I have just completed the TWiki install and run into a problem registering users. The error message when submitting the user registration form is a follows:
Software error: Can't load '/usr/lib/perl5/site_perl/5.6.1/cygwin-multi/auto/Digest/SHA1/SHA1.dll' for module Digest::SHA1: dlopen: Win32 error 998 at /usr/lib/perl5/5.6.1/cygwin-multi/DynaLoader.pm line 206. at c:\twiki\bin\register line 35

For help, please send mail to the webmaster (frank.roeser@gmxPLEASENOSPAM.net), giving this error message and the time and date of the error. Content-type: text/html

Software error: [Fri Apr 30 00:05:35 2004] c:\twiki\bin\register: Can't load '/usr/lib/perl5/site_perl/5.6.1/cygwin-multi/auto/Digest/SHA1/SHA1.dll' for module Digest::SHA1: dlopen: Win32 error 998 at /usr/lib/perl5/5.6.1/cygwin-multi/DynaLoader.pm line 206. [Fri Apr 30 00:05:35 2004] c:\twiki\bin\register: at c:\twiki\bin\register line 35 Compilation failed in require at c:\twiki\bin\register line 35.

I have tried to reinstall Digest::SHA1 and Mime::Base64, again using cpan, despite both being installed already. I verified the path for the Digest, and it actually is /c/cygwin/lib/perl5/site_perl/5.6.1/cygwin-multi/auto/Digest/SHA1, not what the system seems to be looking for according to the error messages.

Any help would b greatly appreciated.

Thanks, Frank

-- FrankRoeser - 30 Apr 2004

Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatgz Digest-files.tar.gz r1 manage 46.0 K 2002-06-08 - 07:05 RichardDonkin Perl Digest files (MD5 and SHA1), Cygwin 1.3.10
Edit | Attach | Watch | Print version | History: r21 < r20 < r19 < r18 < r17 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r21 - 2004-07-03 - PeterThoeny
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.