[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