Bug 90269 - fail to build due to insufficiant target dependencies
Summary: fail to build due to insufficiant target dependencies
Status: RESOLVED FIXED
Alias: None
Product: ModemManager
Classification: Unclassified
Component: general (show other bugs)
Version: 1.4
Hardware: Other All
: medium normal
Assignee: ModemManager bug user
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-01 14:39 UTC by Gilles Dartiguelongue
Modified: 2015-05-04 07:31 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
modemmanager-1.4.8-build.log (24.63 KB, text/plain)
2015-05-01 14:39 UTC, Gilles Dartiguelongue
Details

Description Gilles Dartiguelongue 2015-05-01 14:39:42 UTC
Created attachment 115500 [details]
modemmanager-1.4.8-build.log

While updating modemmanager from 1.4.4 to 1.4.8, I hit this problem:

[...]
  CC       ModemManager-mm-device.o
  CC       ModemManager-mm-plugin-manager.o
  CC       ModemManager-mm-base-sim.o
  GEN      mm-daemon-enums-types.h
  CC       ModemManager-mm-broadband-bearer.o
mm-broadband-bearer.c:37:33: fatal error: mm-port-enums-types.h: No such file or directory
 #include "mm-port-enums-types.h"
                                 ^
compilation terminated.
Makefile:1209: recipe for target 'ModemManager-mm-broadband-bearer.o' failed

The issue appears to be that mm-broadband-bearer.c and a couple of other files which are in ModemManager_SOURCES do include mm-port-enums-types.h but that file is only generated while building libport (nodist/noinst).

The header should be added to ModemManager_SOURCES to ensure it is generated before building the target.
Comment 1 Gilles Dartiguelongue 2015-05-01 14:50:45 UTC
Err, I believe this is actually a problem of libtool badly handling multiples libraries being built in the same directory.
Comment 2 Aleksander Morgado 2015-05-01 17:31:52 UTC
That is weird; mm-port-enums-types.h is generated during build, through glib-mkenums, and it should be generated BEFORE anything else tries to use it, as it's in BUILT_SOURCES.

Can you get me a full output log with "make V=99" starting off from a clean extracted tarball?
Comment 3 Gilles Dartiguelongue 2015-05-01 21:31:53 UTC
Another user posted a full build.log with V=1 in our bugtracker at https://504496.bugs.gentoo.org/attachment.cgi?id=401998.

Please note that this is only happening with parallel builds (I forgot to mention it in summary).
Comment 4 Aleksander Morgado 2015-05-04 07:31:34 UTC
I was wrong, the enum files generation wasn't in BUILT_SOURCES, and the explicit dependency rules were not enough. I've now fixed this in git master and the mm-1-4 branch, see:

http://cgit.freedesktop.org/ModemManager/ModemManager/commit/src?id=4fcae938fc93415857fd1eb6dfdbcac34848ec5e


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.