Hi Holger,
I added libosmocore commit 7c942ba1475a366cc7c8a129fbdd335166ce21c6 during the camp as at the simtrace/osmocombb/openbsc workshop, several participants could not build the respective software packages.
This behavior was observed by Kevin and me, and adding subdir-objects resolved the problem. Due to the hectic nature of a workshop where everyone is waiting for the build to succeed on the system of all participants we did not have time to record the specific distribution versions at that time.
On Debian unstable with autoconf 2.50 / automake 1.15, the build generates the following warnings: =============== src/gsm/Makefile.am:15: warning: source file 'milenage/aes-encblock.c' is in a subdirectory, src/gsm/Makefile.am:15: but option 'subdir-objects' is disabled automake: warning: possible forward-incompatibility. automake: At least a source file is in a subdirectory, but the 'subdir-objects' automake: automake option hasn't been enabled. For now, the corresponding output automake: object file(s) will be placed in the top-level directory. However, automake: this behaviour will change in future Automake versions: they will automake: unconditionally cause object files to be placed in the same subdirectory automake: of the corresponding sources. automake: You are advised to start using 'subdir-objects' option throughout your automake: project, to avoid future incompatibilities. ===============
The project still builds afterwards on this Debian system, so indeed it is just a warning. However, the warning quite clearly indicates that the use of subdir-objects is not optional in the future!
So I'm not sure your revert of the assciated commit is the right way to proceed.
The point seems to be that 'make distclean' wants to remove the generated objects for the tests, but the latter only are compiled when 'make check' is used, but not in the default build.
Any ideas?
On 18 Aug 2015, at 19:30, Harald Welte laforge@gnumonks.org wrote:
Hi Holger,
Hi,
This behavior was observed by Kevin and me, and adding subdir-objects resolved the problem. Due to the hectic nature of a workshop where everyone is waiting for the build to succeed on the system of all participants we did not have time to record the specific distribution versions at that time.
The point seems to be that 'make distclean' wants to remove the generated objects for the tests, but the latter only are compiled when 'make check' is used, but not in the default build.
Any ideas?
The CI has been broken since the 15th of August and the easiest way to get it building again was to revert. Now that some versions have broken subdir-objects and some versions (it would be good to know which one) actually require it to work we have some options:
* Contact automake/automake-ng folks and ask for support * Require the minimum version for automake that has a working subdir-objects * Don’t use make distcheck in the CI and enable subdir-objects * Don’t have a recursive make
holger
Hi,
I pushed a tnt/subdir-objects branch to libosmocore.
Here I now have both subdir-objects and make distcheck working. If people want to give it a shot ...
http://git.osmocom.org/libosmocore/log/?h=tnt/subdir-objects
Cheers,
Sylvain
On 19 Aug 2015, at 11:18, Sylvain Munaut 246tnt@gmail.com wrote:
Hi,
I pushed a tnt/subdir-objects branch to libosmocore.
Here I now have both subdir-objects and make distcheck working. If people want to give it a shot ...
http://git.osmocom.org/libosmocore/log/?h=tnt/subdir-objects
thank you! feel free to push it to master and we can see what the old automake/gcc/etc. is going to say about that :)
I pushed a tnt/subdir-objects branch to libosmocore.
Here I now have both subdir-objects and make distcheck working. If people want to give it a shot ...
http://git.osmocom.org/libosmocore/log/?h=tnt/subdir-objects
thank you! feel free to push it to master and we can see what the old automake/gcc/etc. is going to say about that :)
Ok, seemed to work.
Cheers,
Sylvain