[Gstreamer-bugs] [Bug 96592] Changed - 'make install' fails initially

bugzilla-daemon at widget.gnome.org bugzilla-daemon at widget.gnome.org
Sat Oct 26 02:25:23 PDT 2002


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=96592

Changed by rbultje at ronald.bitfreak.net.

--- shadow/96592	Wed Oct 23 08:13:10 2002
+++ shadow/96592.tmp.23852	Sat Oct 26 05:25:23 2002
@@ -76,6 +76,41 @@
 make[2]: Leaving directory `/home/jan/cvs/gstreamer/gstreamer/gst/parse'
 make[1]: *** [install-recursive] Error 1
 make[1]: Leaving directory `/home/jan/cvs/gstreamer/gstreamer/gst'
 make: *** [install-recursive] Error 1
 
 Seems to work if I do a 'make; make install'
+
+------- Additional Comments From rbultje at ronald.bitfreak.net  2002-10-26 05:25 -------
+This is normal. gstmarshal.[ch] are built when doing make in gst/,
+before going into the subdirectories. After having gone into all the
+subdirectories, all the c files will get compile. So you have:
+
+all: build-source-files, all-subdirs, compile-all
+
+Where build-source-files creates gstmarshal.[ch], all-subdirs builds
+(do "make") in all the subdirectories ("for i in SUDIRS; do make -C $i
+all; done"), and compile-all compiles all the source files in this
+directory. This isn't the full story, but will suffice for the
+explanation.
+
+The point here is that gstmarshal.[ch] have been created before going
+into the subdirectory parse/, so gst/gstmarshal.h exists.
+
+Now, let's do make install. This basically goes into each of the
+subdirectories to do make install there, and then does make install in
+the own directory. make install in the local directory requires all
+source files to be build, so 'all' is called before actually
+installing stuff:
+
+install: install-all-subdirs, all, install-all
+
+The problem is that we go into the subdirs before calling 'all' in
+this directory, so we do make install in parse/ before creating
+gstmarshal.[ch]. make install in parse/ calls make, which requires
+gstmarshal.h which hasn't been created yet.
+
+The solution is to call build-source-files before doing
+install-all-subdirs, but that's basically just a hacky solution -
+probably more problems will pop up. this is just an inherent problem
+with the build design. I think the solution is to just follow the docs
+and do 'make; make install' instead of 'make install' directly.





More information about the Gstreamer-bugs mailing list