I want to install doomsday to play doom, doom2 and so on
I type yaourt -S doomsday and installation works correctly, but then this appears:
-- Build files have been written to: /tmp/yaourt-tmp-ignacio/aur-doomsday/src/deng-1.9.0-beta6.9/doomsday/build Scanning dependencies of target Generate.pk3 File "./packres.py", line 9 print "Usage: %s pk3-target-dir" % sys.argv ^ SyntaxError: invalid syntax make: *** [CMakeFiles/Generate.pk3] Error 1 make: *** [CMakeFiles/Generate.pk3.dir/all] Error 2 make: *** [all] Error 2 ==> ERROR: Se produjo un error en build(). Cancelando... ==> ERROR: Makepkg was unable to build doomsday.
I've all base-devel packages in my system.
I thought it might be either a problem with yahourt or with python3, so I tried with makepkg and also adding "#!/usr/bin/env python2" or "#!/usr/bin/python2" at the top of packres.py, but it didn't change the error message.
(BTW it's also better to use -j1 in the MAKEFLAGS or the script builds a bunch of stuff after the error message...)
However (I don't know much about python but) after searching a bit more it definitely looks like the script(s) were made for python2 : http://www.python.org/dev/peps/pep-3105/ discusses the deprecation of the "print" statement...
Try comparing it with doomsday-1.8 and doomsday-git.
You're right about your guess regarding python2. You can indeed identify it looking at the print command, as it has become a function in Python 3: http://docs.python.org/release/3.0.1/whatsnew/3.0.html
I recommend to
ln -s /usr/bin/python2 /usr/bin/python
then build your package, and then
ln -s /usr/bin/python3 /usr/bin/python
back. Dirty, but works.
Intel(R) Celeron(R) CPU E3400 @ 2.60GHz, 1878 MB, XFCE 4.12, x86_64. AURs.
“No one without the knowledge of geometry may enter.“ Plato.
I had the same problem, did what GordonGR said, and it worked, but now I'm getting this:
[ 41%] Building C object CMakeFiles/doomsday.dir/external/lzss/unix/src/lzss.o Linking C executable doomsday /usr/bin/ld: CMakeFiles/doomsday.dir/engine/portable/src/ui_main.o: undefined reference to symbol 'sin@@GLIBC_2.0' /usr/bin/ld: note: 'sin@@GLIBC_2.0' is defined in DSO /lib/libm.so.6 so try adding it to the linker command line /lib/libm.so.6: could not read symbols: Invalid operation collect2: ld devolvi? el estado de salida 1 make: *** [doomsday] Error 1 make: *** [CMakeFiles/doomsday.dir/all] Error 2 make: *** [all] Error 2