http://www.perlmonks.org?node_id=905518

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

I have a newly installed Fedora 14 system that I'd like to install various perls on to test different modules. I've got 5.8.9 already and was trying to get 5.10: perlbrew install perl-5.10.1 That hums along until it fails with the following error:
Making all in ext/ODBM_File make all PERL_CORE=1 LIBPERL_A=libperl.a make[1]: Entering directory `/home/mpeters/perl5/perlbrew/build/perl-5 +.10.1/ext/ODBM_File' cc -c -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/incl +ude -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.07 +\" -DXS_VERSION=\"1.07\" -fPIC "-I../.." ODBM_File.c ODBM_File.xs:16:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribut +e__’ before ‘fetch’ ODBM_File.xs:17:17: error: expected ‘)’ before ‘key’ ODBM_File.xs:18:18: error: expected ‘)’ before ‘key’ ODBM_File.xs:19:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribut +e__’ before ‘firstkey’ ODBM_File.xs:20:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribut +e__’ before ‘nextkey’ ODBM_File.xs:50:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribu +te__’ before ‘datum_key’ ODBM_File.xs:51:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribu +te__’ before ‘datum_key_copy’ ODBM_File.xs:52:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribu +te__’ before ‘datum_value’
Any thoughts about what I might be missing?

-- More people are killed every year by pigs than by sharks, which shows you how good we are at evaluating risk. -- Bruce Schneier

Replies are listed 'Best First'.
Re: Failure to build Perl 5.10.1 on Fedora 14 under perlbrew
by ikegami (Patriarch) on May 18, 2011 at 17:38 UTC
    I've gotten that error when trying to compile C++ with a C compiler (or was it the other way around). Don't have time to look into it more right now.
      That doesn't really seem likely unless ODBM_File.xs is a C++ file, which I doubt it is.

        First of all, it's ODBM_File.c being compiled, not ODBM_File.xs. And yes, it's a C file, not a file C++.

        It wouldn't make much sense to use a C++ compiler to compile it (cause it would give you the errors you see), but that doesn't have anything to do with the likeliness of it happening.

        Did you check what compiler is being used?