Menu

#593 2.4.11 and 2.4.12 fail to compile on GNU/Linux

v2.4.x
closed-fixed
nobody
None
Linux
2016-02-27
2015-01-02
No

When I run the configure script and then run "make" to compile VICE, compilation fails with a cryptic error message. (Possibly there's a stray comma somewhere in the generated makefile...?) I can reproduce the problem with VICE 2.4.11 or 2.4.12 on 64-bit openSUSE 11.4 and openSUSE 13.2. VICE 2.4.10 and earlier don't have this problem.

Reproducibility: Always

Steps to reproduce:

$ ./configure
$ make

Observed behaviour:

Making all in po
config.status: creating po/Makefile.in
config.status: executing depfiles commands
config.status: executing default-1 commands
', needed by 'vice.pot'. Stop.rget '../
Makefile:468: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

Expected behaviour:

VICE should have compiled without errors.

Discussion

  • Greg King

    Greg King - 2015-01-02

    ', needed by 'vice.pot'. Stop.rget '../

    That line actually says:

    make: *** No rule to make target '../<CR>', needed by 'vice.pot'. Stop.

    There might be a stray Carriage-Return in your "po/POTFILES.in" file. Or maybe, that file has MS-DOS (Windows) line-endings; but, the SED program expects to see only Unix line-endings.

     
  • Tristan Miller

    Tristan Miller - 2015-01-02

    If there's a carriage return in any file, it must have been in the source tarball I originally downloaded from SourceForge, since I didn't modify any files after unpacking them.

     
  • Greg King

    Greg King - 2015-01-03

    YES! I looked at the 2.4.13 source tarball. It has many files -- including "POTFILES.in" -- that have MS-DOS line breaks!

     
  • Niklas Ramsberg

    Niklas Ramsberg - 2015-01-03

    Same problem here with 2.4.13. Any easy fix to this?

     
  • Tristan Miller

    Tristan Miller - 2015-01-04

    Assuming you have dos2unix installed (which most distributions package, or which you can download yourself from http://waterlan.home.xs4all.nl/dos2unix.html), the following will fix the problem for VICE 2.4.11 and 2.4.12:

    $ find . -iname '.[ch]' -exec dos2unix {} \;
    $ find . -iname '
    .in' -exec dos2unix {} \;

    However, this isn't sufficient to fix VICE 2.4.13, which has additional bugs preventing compilation.

     
  • Tristan Miller

    Tristan Miller - 2015-01-04

    Oh, my bad -- the fix in the previous comment does work for 2.4.13 as well. Just make sure you run it before running configure for the first time.

     
  • Niklas Ramsberg

    Niklas Ramsberg - 2015-01-07

    Thanks for the tip. Unfortunately it didn't work for me. No big deal, I'll continue using 2.4.10 until the bug is sorted out.

     
  • Tristan Miller

    Tristan Miller - 2015-01-07

    Hm… Rereading those shell commands, I see there's a * missing after the first apostrophe in each line. I think Sourceforge's commenting system mistook them as italics markup and gobbled them. Let me try again:

    $ find . -iname '*.[ch]' -exec dos2unix {} \;
    $ find . -iname '*.in' -exec dos2unix {} \;
    
     
  • Greg King

    Greg King - 2015-01-11

    $ find . -iname '*.[ch]' -exec dos2unix {} \;
    $ find . -iname '*.in' -exec dos2unix {} \;

    Those commands can be combined and turned around:

    dos2unix `find . -name '*.in' -or -iname '*.[ch]'`
    
     
  • gpz

    gpz - 2015-01-24

    i can not reproduce this with current trunk - can you try again?

     
  • Greg King

    Greg King - 2015-01-24

    Marco fixed it in revision 28979.

     
  • gpz

    gpz - 2015-01-24
    • status: open --> pending-fixed
     
  • gpz

    gpz - 2015-01-24

    ok, closing

     
  • Marco van den Heuvel

    • status: pending-fixed --> closed-fixed
     

Log in to post a comment.