Stefan Weil <s...@weilnetz.de> writes: > Am 23.01.2014 05:54, schrieb Stewart Smith: >> diff --git a/configure b/configure >> index 3782a6a..87303f6 100755 >> --- a/configure >> +++ b/configure >> @@ -1532,7 +1532,9 @@ EOF >> : >> else >> error_exit "zlib check failed" \ >> - "Make sure to have the zlib libs and headers installed." >> + "Make sure to have the zlib libs and headers installed." \ >> + "Debian/Ubuntu: zlib1g-dev" \ >> + "Fedora/RHEL: zlib-devel" >> fi >> fi > > Removing that zlib check is on my private todo list since QEMU uses > glib2, because glib2 already depends on zlib.
It may have some value existing as (at least on Fedora) glib2-devel depends on libz.so.1 (i.e. zlib) but *not* on zlib-devel, so if we just checked for glib2 we'd get the lib but not the headers for zlib, thus having a failing build. >> @@ -2656,6 +2662,8 @@ EOF >> # have neither and want - prompt for system/submodule install >> error_exit "DTC not present. Your options:" \ >> " (1) Preferred: Install the DTC devel package" \ >> + " Ubuntu/Debian: libfdt-dev" \ > > The previous line uses a tab character. Replace it by blanks. ack. Will do. > Here a small hint might by useful because searching for 'DTC' packages > will usually fail. What about writing "DTC (libfdt) devel package"? ack, will do. >> + " Fedora/RHEL: libfdt-devel" \ >> " (2) Fetch the DTC submodule, using:" \ >> " git submodule update --init dtc" >> else >> > > I'm not sure whether the file 'configure' is the right place for the > precise package information. Here are some thoughts: It's possibly not the ideal place, but I've never found an ideal place. In other projects I've had the list of package names bitrot in: - configure output - README - HACKING - INSTALL - some other documentation that ends up on a web site Pretty much the only place it hasn't bitrotted is puppet manifests and modules for setting up build machines... which isn't the *ideal* form of documentation :) That being said, I've found the package names outputted by configure to be useful, even if not always perfect. > * Those help messages are only useful for Debian / Fedore based Linux > distributions, but not for OpenSuSE and definitely not for other > hosts (Mac OS X, Windows, BSD). My guess is that for OSX, Windows and BSD the git submodule option may be taken more often? I'll happily add in the OpenSuSE packages.. I'm just a bit less experienced with OpenSuSE (maybe it's time for a VM though). > * They only cover a very limited set of packages. For a really useful > QEMU, lots of more packages are needed. That was to be my next patch: fleshing out the list and thinking of somewhere to put the optional package names so that they're easily discoverable. > * Package names are not really good interfaces because they tend to > change over time. Yep, they do - but this is relatively rare, and usually it's a version number bump, and the old name usually gives you something to search for that only gives a couple of results (rather than dozens). > My personal impression is that the current hints in configure are > sufficient (with the one exception DTC) and that the QEMU wiki is a > better place to document build dependencies for the different platforms. I'd vote for and rather than or, simply because I'm not good enough to read all the Wiki docs before typing "./configure && make" and I suspect I'm not the only one in the world :)