You are not logged in.

#1 2015-03-03 17:30:13

SwitchDhole
Member
Registered: 2015-02-01
Posts: 51

[SOLVED] Recipie for target all-recursive failed

Hello Arch Forums! I'm compiling prboom and alephone. Both give me the same error,

Makefile:285: recipe for target 'install-recursive' failed

I've done some searching and still haven't found a solution. What is all-recursive, and how can I continue installation?

Here's the full report:

make  all-recursive
make[1]: Entering directory '/home/switch/Downloads/prboom-2.5.0'
Making all in doc
make[2]: Entering directory '/home/switch/Downloads/prboom-2.5.0/doc'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/switch/Downloads/prboom-2.5.0/doc'
Making all in data
make[2]: Entering directory '/home/switch/Downloads/prboom-2.5.0/data'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/switch/Downloads/prboom-2.5.0/data'
Making all in src
make[2]: Entering directory '/home/switch/Downloads/prboom-2.5.0/src'
Making all in SDL
make[3]: Entering directory '/home/switch/Downloads/prboom-2.5.0/src/SDL'
gcc -DHAVE_CONFIG_H -I. -I../..     -g -O2 -Wall -Wno-unused -Wno-switch -march=native -Wextra -Wno-missing-field-initializers -Winline -Wwrite-strings -Wundef -Wbad-function-cast -Wcast-align -Wcast-qual -Wdeclaration-after-statement -ffast-math -O2 -fomit-frame-pointer -I../../src -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT i_sshot.o -MD -MP -MF .deps/i_sshot.Tpo -c -o i_sshot.o i_sshot.c
i_sshot.c: In function ‘I_ScreenShot’:
i_sshot.c:234:32: error: ‘png_error_ptr_NULL’ undeclared (first use in this function)
         PNG_LIBPNG_VER_STRING, png_error_ptr_NULL, error_fn, warning_fn);
                                ^
i_sshot.c:234:32: note: each undeclared identifier is reported only once for each function it appears in
i_sshot.c:282:43: error: ‘png_infopp_NULL’ undeclared (first use in this function)
       png_destroy_write_struct(&png_ptr,  png_infopp_NULL);
                                           ^
Makefile:242: recipe for target 'i_sshot.o' failed
make[3]: *** [i_sshot.o] Error 1
make[3]: Leaving directory '/home/switch/Downloads/prboom-2.5.0/src/SDL'
Makefile:460: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/switch/Downloads/prboom-2.5.0/src'
Makefile:285: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/switch/Downloads/prboom-2.5.0'
Makefile:205: recipe for target 'all' failed
make: *** [all] Error 2

Last edited by SwitchDhole (2015-03-04 05:59:45)

Offline

#2 2015-03-03 17:56:33

EscapedNull
Member
Registered: 2013-12-04
Posts: 129

Re: [SOLVED] Recipie for target all-recursive failed

This sounds like a problem that is specific to the package or the code itself. I'm don't use either of those, but I can give you some general recommendations.

`pacman -Syu` has been known to fix compilation errors when a package depends on a header file that is owned by another package. Unfortunately this works the other way around, too: the packages you're trying to install might depend on an older header file that has been upgraded by pacman. The latter is usually a result of outdated code and is much harder to fix.

`grep png_error_ptr_NULL -R /usr/include` will show you which header files the identifier appears in (if any). One of them should contain the declaration, so make sure that file is #include'd in i_sshot.c

For best results, I recommend contacting the package maintainer, posting a comment on the AUR package page, or contacting upstream directly. Those users are likely to be more knowledgeable about this software than the rest of us on the forum.

Offline

#3 2015-03-03 19:00:24

SwitchDhole
Member
Registered: 2015-02-01
Posts: 51

Re: [SOLVED] Recipie for target all-recursive failed

It probably is due to outdated code. I'll use the AUR version then. These are emulators for DOOM and Marathon, so they're bound to be dated.

What's the difference between using the AUR and compiling the package from the website, anyway?

I thought the website package would be more 'pure', as in not using anything Arch specific and less likely to contain malicious code.

Last edited by SwitchDhole (2015-03-03 19:09:34)

Offline

#4 2015-03-03 19:34:51

frank604
Member
From: BC, Canada
Registered: 2011-04-20
Posts: 1,212

Re: [SOLVED] Recipie for target all-recursive failed

AUR package prboom compiles correctly.  Looking at the prboom pkgbuild it does two things you are probably not doing

  # path fix
  sed "s|/games|/bin|g" -i src/Makefile.in
  # allow building with newer libpng
  patch -p1 < ../libpng-1.4.patch

Looking at your make error, I see

 i_sshot.c:234:32: error: ‘png_error_ptr_NULL’ undeclared (first use in this function)
         PNG_LIBPNG_VER_STRING, png_error_ptr_NULL, error_fn, warning_fn);

The libpng version needs to be updated from upstream package.

Offline

#5 2015-03-03 19:35:42

runical
Member
From: The Netherlands
Registered: 2012-03-03
Posts: 896

Re: [SOLVED] Recipie for target all-recursive failed

Using a pkgbuild means that pacman can manage all of the files, making it easier to remove the software and/or manage updates. Just make sure that the pkgbuild doesn't do any weird stuff and the AUR will prove to be rather useful for installing software.

Last edited by runical (2015-03-03 19:36:09)

Offline

Board footer

Powered by FluxBB