2

Here's the last few lines from the output of running "make install" at root level /home/gm/TEST/:

make[3]: Leaving directory `/home/gm/TEST/tppf/tm/ipmgt'
ld  ipfac.o ipfacV.o ipfac_rset.o ipfac_args.o ipfac_d2a.o ipfac_a2d.o ipfac_modr.o ipfac_mod.o ipfac_read.o ipfac_add.o ipfac_del.o ipfac_list.o ipfac_unlk.o ipfac_lock.o ipfac_util.o ipfac_lkid.o -r -o /home/gm/TEST/tppf/lib/ipfac_tppf.o
make[3]: Leaving directory `/home/gm/TEST/tppf/tm/ipfac'
make[2]: Leaving directory `/home/gm/TEST/tppf/tm'
make[1]: *** [i_tm] Error 2
make[1]: Leaving directory `/home/gm/TEST/tppf'
make: *** [i_tppf] Error 2

And the Makefile under /home/gm/TEST/tppf/tm/ipfac contains this rule:

install: ipfac.h $(TPPLIB)/ipfac_tppf.o

$(TPPLIB)/ipfac_tppf.o: $(PROPOBJS)
    ld  $(PROPOBJS) -r -o $(TPPLIB)/ipfac_tppf.o

Is there something wrong with the linking process? Make should've told me what the error actually is, but it didn't.

BTW, I think /home/gm/TEST/tppf/lib/ipfac_tppf. O was linked and created successfully, or at least it was there in directory /home/gm/TEST/tppf/lib/ after make failed and exited.

Braiam
  • 1
  • 11
  • 47
  • 78
testadizzy
  • 71
  • 1
  • 7

1 Answers1

7

That line is not the error line. You can tell that it succeeded because there was no error message there, for building the target /home/gm/TEST/tppf/lib/ipfac_tppf.o.

The error is here:

make[1]: *** [i_tm] Error 2

The [1] means that it was the first level of makefile (note the recipe you are quoting here was in the 3rd level of makefile) and the [i_tm] means that the build of the target i_tm failed. You need to look back up further in the output of make, earlier than what you've shown us, and find the *** error line for building the i_tm target and see what errors were generated there.

MadScientist
  • 92,819
  • 9
  • 109
  • 136
  • Thank you so much. I'm just a rookie in makefile realm and i always thought the error message would show in the very end. – testadizzy Jun 08 '16 at 15:38