I'm creating a Debian package using DebHelper, under the latest stable version of Debian.
The "debian/control" file comprises these lines:
Depends:
${shlibs:Depends},
${misc:Depends}
The dependencies are thus automatically set in the created package. However, the version required of libstdc++ is too strict. The package requires libstdc++6 ( >= 4.9 ) and I want it to be set as libstdc++6 ( >= 4.8 ).
For this purpose and at the reading of this page and this page , I edited the "debian/rules" file which now looks like:
#!/usr/bin/make -f
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
%:
dh $@
override_dh_makeshlibs:
dh_makeshlibs -V 'libstdc++6 (>= 4.8)'
The last two lines however did not make the job. Has anyone already did this kind of customization on a Debian package?
Thanks
In general, debhelper does a very good job at detecting dependencies.
If it says that your packages requires libstdc++6 (>= 4.9)
, than your package most likely does require this specific version and will fail with eg libstdc++6-4.8
. (If you don't believe me, try it out; force-install your package on a system that has only libstdc++6-4.8 installed, and see whether everything works)
If some people claim that it can be build with libstd++6-4.8
(or rather gcc-4.8
), then I see to possibilities:
Most likely the second point is the case.
This can have numerous reasons, eg: - your package automatically enables features if it detects libstdc++6-4.9 - some implementation detail in libstdc++6 has changed which makes the resulting binaries incompatible (or at least: not backwards compatible)
If you want a package that can be used with libstdc++6 == 4.8, than you should use libstdc++6-4.8
(or most likely: the entire g++4.8 toolchain) for building the package.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.