[Bug 471298] New: all Debian builds should have implicit Build-Depends: dependancy of build-essential
![](https://seccdn.libravatar.org/avatar/3035b38ff33cf86f480bb169b8500b80.jpg?s=120&d=mm&r=g)
https://bugzilla.novell.com/show_bug.cgi?id=471298 Summary: all Debian builds should have implicit Build-Depends: dependancy of build-essential Classification: openSUSE Product: openSUSE.org Version: unspecified Platform: All OS/Version: Linux Status: NEW Severity: Normal Priority: P5 - None Component: BuildService AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: pelliott@io.com QAContact: adrian@novell.com Found By: --- User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.7 (like Gecko) SUSE the peless project fails to build because of ambiguity for the version of libstdc++-dev to use: have choice for libstdc++-dev needed by libboost-dev: libstdc++2.10-dev libstdc++6-4.1-dev libstdc++6-dev libstdc++5-3.3-dev, have choice for libstdc++-dev needed by libsigc++-2.0-dev: libstdc++2.10-dev libstdc++6-4.1-dev libstdc++6-dev libstdc++5-3.3-dev This error goes away if I add build-essential to the Build-Depends: line. However, the requirement to add this build dependancy should not be required in the control/.dsc file. The Debian Policy Manual clearly states: http://www.debian.org/doc/debian-policy/ch-source.html#s-pkg-relations It is not necessary to explicitly specify build-time relationships on a minimal set of packages that are always needed to compile, link and put in a Debian package a standard "Hello World!" program written in C or C++. The required packages are called build-essential, and an informational list can be found in /usr/share/doc/build-essential/list (which is contained in the build-essential package).[12] This means that all the dependencies of build-essential should not be required on the Build-Depends line. The BuildService should act as if build-essential were on the Build-Depends line, even though it is not explicitly there. This will bring the BuildService into line with the Debian Policy Manual mentioned above. The reason that peless fails with ambiguity rather than because a important componet is missing (libstdc++-dev) is because other dependencies of peless happen to depend on libstdc++-dev ambiguously. If this had not been the case, the build of peless would have failed because of lack of this componet. Debian projects starting from the Debian world rely on the Debian Policy Manual's statement that build-essential dependencies do not have to be stated. These projects should not have to be especially tweeked to build on the BuildService. Reproducible: Always Steps to Reproduce: 1.Create C++ project that uses libstdc++, leave build-essential, g++ ect. off the Build-Depends line. build will fail because of ambiguity or lack of the componet libstdc++-dev. 2.add build-essential to Build-Depends: line. Error goes away. But this should not be necessary. 3. Actual Results: failure because of non existence, or ambiguity in libstdc++-dev. Expected Results: should build successfully w/o build-essential in Build-Depends: line. Debian Policy Manual : http://www.debian.org/doc/debian-policy/ch-source.html#s-pkg-relations Package: build-essential (11.3) http://packages.debian.org/etch/build-essential -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/3035b38ff33cf86f480bb169b8500b80.jpg?s=120&d=mm&r=g)
https://bugzilla.novell.com/show_bug.cgi?id=471298
Cyril Hrubis
participants (1)
-
bugzilla_noreply@novell.com