[asterisk-dev] [Code Review] Re-work building of pjproject

wdoekes reviewboard at asterisk.org
Fri Feb 1 05:43:30 CST 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2292/#review7788
-----------------------------------------------------------


(1) I can still manage to mess the build up by hitting ^C during build at the wrong time.

Right now the `-include build.mak` will have `make` continue even if it cannot be found/generated. This finally culminates in a failure to build res_rtp_asterisk:

aconfigure: error: in `/usr/src/asterisk-11.x/res/pjproject':
aconfigure: error: C compiler cannot create executables
See `config.log' for more details.
   [CC] res_rtp_asterisk.c -> res_rtp_asterisk.o
res_rtp_asterisk.c:53:19: fatal error: pjlib.h: No such file or directory
compilation terminated.


And after a svn-revert, make distclean, patch, I get this:

$ ./configure --enable-dev-mode
$ make -j 7 
$ make 2>&1 | egrep 'error|success'
aconfigure: error: in `/usr/src/asterisk-11.x/res/pjproject':
aconfigure: error: C compiler cannot create executables
 + Asterisk has successfully been built, and +

Did aconfigure fail? Why did things build? What's going on?


Tzafrir wrote:
> I wonder if it's possible for the top-level configure script to call the
> pjproject configure script recursively (autoconf supports that).

I think that might be the way forward.


(2) distclean now stays working, so that's good.

Tzafrir wrote:
> Building a deb package involvs running 'clean', and only then 'build'
> which means distclean before configure.

You might want to add this to clarify:

--- Makefile.orig	2013-02-01 12:32:48.061100545 +0100
+++ Makefile	2013-02-01 12:33:22.243889685 +0100
@@ -328,6 +328,8 @@
 _full: makeopts $(SUBDIRS) doc/full-en_US.xml $(ADDL_TARGETS)
 
 makeopts: configure
+	@# Due to the -include above, this may fail once without consequences.
+	@# Hence we see this before running distclean on a clean directory.
 	@echo "****"
 	@echo "**** The configure script must be executed before running '$(MAKE)'."
 	@echo "****               Please run \"./configure\"."



- wdoekes


On Jan. 31, 2013, 3:51 p.m., Jason Parker wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/2292/
> -----------------------------------------------------------
> 
> (Updated Jan. 31, 2013, 3:51 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> This review depends on the changes from https://reviewboard.asterisk.org/r/2291/
> 
> 
> This changes the way we build pjproject.  We no longer need to execute the top-level 'all' target.  We can build individual libraries instead.
> 
> We should now be much more tolerant of build failures along the way.
> 
> Incidentally, in order to properly fix one of the major issues people were facing, I had to change our top-level Makefile to clean our own broken dependencies.  Targets that need configure to have been run should now actually require configure to have been run.
> 
> Also removes a few weird workarounds that got added along the way.
> 
> 
> This addresses bug ASTERISK-20815.
>     https://issues.asterisk.org/jira/browse/ASTERISK-20815
> 
> 
> Diffs
> -----
> 
>   /branches/11/Makefile 380737 
>   /branches/11/res/Makefile 380737 
>   /branches/11/res/pjproject/aconfigure 380737 
>   /branches/11/res/pjproject/aconfigure.ac 380737 
>   /branches/11/res/pjproject/build/common.mak 380737 
>   /branches/11/res/pjproject/build/os-auto.mak.in 380737 
> 
> Diff: https://reviewboard.asterisk.org/r/2292/diff
> 
> 
> Testing
> -------
> 
> Many, many builds, in varying states of completeness and cleanliness.
> 
> 
> Thanks,
> 
> Jason
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20130201/d2fcca46/attachment-0001.htm>


More information about the asterisk-dev mailing list