Compiling Digest-MD5-2.33 problem
mikeps
created: 2004-06-15 13:33:04
(UPDATED)

When I attempt to create the makefile for this package, this is what I receive:
Perl's config says that U32 access must be aligned.

If I attempt to continue with "make" I get this:
Makefile:85: *** missing separator. Stop.


Is this a common problem? What can I do to resolve this? I am running perl 5.8.0.
gcc 3.2.3
red hat enterprise 3
Mike
Re: Compiling Digest-MD5-2.33 problem
created: 2004-06-15 13:47:38
Hmmm. works fine for me:
> perl Makefile.PL
Perl's config says that U32 access must not be aligned.
Writing Makefile for Digest::MD5
> make
cc -c   -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3   -DVERSION=\"2.33\" -DXS_VERSION=\"2.33\" -fPIC "-I/usr/lib/perl/5.8/CORE"   MD5.c
Running Mkbootstrap for Digest::MD5 ()
chmod 644 MD5.bs
rm -f blib/arch/auto/Digest/MD5/MD5.so
LD_RUN_PATH="" cc  -shared -L/usr/local/lib MD5.o  -o blib/arch/auto/Digest/MD5/MD5.so
chmod 755 blib/arch/auto/Digest/MD5/MD5.so
cp MD5.bs blib/arch/auto/Digest/MD5/MD5.bs
chmod 644 blib/arch/auto/Digest/MD5/MD5.bs
Manifying blib/man3/Digest::MD5.3pm

All the tests run fine.

I'm using perl, v5.8.3 built for i386-linux-thread-multi with GCC 3.3.3 (Debian 20040422) and GNU Make 3.80.

[id://149675|"What should it profit a man, if he should win a flame war, yet lose his cool?"]
Re: Compiling Digest-MD5-2.33 problem
created: 2004-06-15 14:20:41

perl 5.8.0. OS? Compiler? are also important issues when comiling. Works fine on Win32 (just tested) and I know it compiles on RH Linux 7.3 with gcc 2.96 as well. The missing separator issue is one you see on Cygwin for example if you try to use make rather than nmake.

Administrator@JAMES /cygdrive/c/Digest-MD5-2.33
$ perl Makefile.PL
Assumes that MSWin32 implies free alignment for U32 access.
Writing Makefile for Digest::MD5

Administrator@JAMES /cygdrive/c/Digest-MD5-2.33
$ make
Makefile:768: *** missing separator.  Stop.

Administrator@JAMES /cygdrive/c/Digest-MD5-2.33
$ nmake

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

        cl -c  -nologo -O1 -MD -Zi -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DP
ERL_MSVCRT_READFIX -O1 -MD -Zi -DNDEBUG    -DVERSION=\"2.33\"  -DXS_VERSION=\"2.33\"  -ID:\Perl\lib\CORE  MD5.c
cl : Command line warning D4029 : optimization is not available in the standard edition compiler
MD5.c
"Running Mkbootstrap for Digest::MD5 ()"
        D:\Perl\bin\perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::Command -e chmod 644 MD5.bs
        link -out:blib\arch\auto\Digest\MD5\MD5.dll -dll -nologo -nodefaultlib -debug -opt:ref,icf  -libpath:"D:\Perl\lib\CORE"  -machine:x8
6 MD5.obj   D:\Perl\lib\CORE\perl56.lib oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  comdlg32.lib advapi32.lib shell32.lib o
le32.lib oleaut32.lib  netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib msvcrt.lib -def:MD5.def
   Creating library blib\arch\auto\Digest\MD5\MD5.lib and object blib\arch\auto\Digest\MD5\MD5.exp
        D:\Perl\bin\perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::Command -e chmod 755 blib\arch\auto\Digest\MD5\MD5.dll
        D:\Perl\bin\perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::Command -e cp MD5.bs blib\arch\auto\Digest\MD5\MD5.bs
        D:\Perl\bin\perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::Command -e chmod 644 blib\arch\auto\Digest\MD5\MD5.bs

Administrator@JAMES /cygdrive/c/Digest-MD5-2.33
$






C:\Digest-MD5-2.33>perl Makefile.PL
Assumes that MSWin32 implies free alignment for U32 access.
Writing Makefile for Digest::MD5

C:\Digest-MD5-2.33>nmake

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

cp MD5.pm blib\lib\Digest\MD5.pm
        D:\Perl\bin\perl.exe -ID:\Perl\lib -ID:\Perl\lib D:\Perl\lib\ExtUtils/xsubpp  -typemap D:\Perl\lib\ExtUtils\typemap -typemap typemap
 MD5.xs > MD5.xsc && D:\Perl\bin\perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::Command -e mv MD5.xsc MD5.c
        cl -c  -nologo -O1 -MD -Zi -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DP
ERL_MSVCRT_READFIX -O1 -MD -Zi -DNDEBUG    -DVERSION=\"2.33\"  -DXS_VERSION=\"2.33\"  -ID:\Perl\lib\CORE  MD5.c
"Running Mkbootstrap for Digest::MD5 ()"
        D:\Perl\bin\perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::Command -e chmod 644 MD5.bs
        D:\Perl\bin\perl.exe "-ID:\Perl\lib" "-ID:\Perl\lib" -MExtUtils::Mksymlists  -e "Mksymlists('NAME' => 'Digest::MD5', 'DLBASE' => 'MD
5', 'DL_FUNCS' => {  }, 'FUNCLIST' => [], 'IMPORTS' => {  }, 'DL_VARS' => []);"
        link -out:blib\arch\auto\Digest\MD5\MD5.dll -dll -nologo -nodefaultlib -debug -opt:ref,icf  -libpath:"D:\Perl\lib\CORE"  -machine:x8
6 MD5.obj   D:\Perl\lib\CORE\perl56.lib oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  comdlg32.lib advapi32.lib shell32.lib o
le32.lib oleaut32.lib  netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib msvcrt.lib -def:MD5.def
   Creating library blib\arch\auto\Digest\MD5\MD5.lib and object blib\arch\auto\Digest\MD5\MD5.exp
        D:\Perl\bin\perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::Command -e chmod 755 blib\arch\auto\Digest\MD5\MD5.dll
        D:\Perl\bin\perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::Command -e cp MD5.bs blib\arch\auto\Digest\MD5\MD5.bs
        D:\Perl\bin\perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::Command -e chmod 644 blib\arch\auto\Digest\MD5\MD5.bs

C:\Digest-MD5-2.33>nmake test

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

        D:\Perl\bin\perl.exe -Mblib -ID:\Perl\lib -ID:\Perl\lib -e "use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;" t
\align.t t\badfile.t t\bits.t t\clone.t t\files.t t\md5-aaa.t t\utf8.t
Using C:/Digest-MD5-2.33/blib
t\align.............ok
t\badfile...........ok
t\bits..............ok
t\clone.............ok
t\files.............ok
t\md5-aaa...........ok
t\utf8..............ok
All tests successful.
Files=7, Tests=275,  0 wallclock secs ( 0.00 cusr +  0.00 csys =  0.00 CPU)

C:\Digest-MD5-2.33>

cheers

tachyon

Re: Compiling Digest-MD5-2.33 problem
created: 2004-06-16 13:44:18
RHEL 3 may have the bug with compiling Perl modules with UTF-8 locale that Red Hat 9 had. The bug in Perl 5.8.0 uses the locale to determine if stdout is Unicode and Red Hat set the default locale to include UTF-8 (en_US.UTF-8). Unluckily, this causes corrupt Makefiles when installing modules.

The solution is to set the locale before installing Perl modules. You could set this for root by default, or just before running Perl installs.

export LANG=C
Re^2: Compiling Digest-MD5-2.33 problem
created: 2004-06-16 18:11:04
I got the same result after changing that value.
Re^3: Compiling Digest-MD5-2.33 problem
created: 2004-06-17 12:43:38
You need to start the install for the beginning after changing LANG. The Makefile is probably corrupt. It simplest just to remove the directory and unpack from the archive.

perlmonks.org content © perlmonks.org and iburrell, Joost, mikeps, tachyon

prlmnks.org © 2006 edmund von der burg (eccles & toad)

v 0.03