[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