mikeps has asked for the wisdom of the Perl Monks concerning the following question:

(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

Replies are listed 'Best First'.
Re: Compiling Digest-MD5-2.33 problem
by tachyon (Chancellor) on Jun 15, 2004 at 18:20 UTC

    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.

Re: Compiling Digest-MD5-2.33 problem
by Joost (Canon) on Jun 15, 2004 at 17:47 UTC
    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-s +trict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSE +T_BITS=64 -O3 -DVERSION=\"2.33\" -DXS_VERSION=\"2.33\" -fPIC "-I/us +r/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/D +igest/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.

Re: Compiling Digest-MD5-2.33 problem
by iburrell (Chaplain) on Jun 16, 2004 at 17:44 UTC
    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
      I got the same result after changing that value.
        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.