Bug#677139: gcc-4.6: unresolved symbol __aeabi_unwind_cpp_pr1@GCC_3.5
Package: gcc-4.6
Version: 4.6.2-6
Some large number of packages (I'd guess around 700 +/- 200 source packages)
generates on armel and armhf the warning:
dpkg-shlibdeps: warning: symbol __aeabi_unwind_cpp_pr1@GCC_3.5 used [...] found in none of the libraries.
(or some variant).
While is ome cases it could be a missing libgcc there are some other
examples:
First case (libtool, with -nostdlib and -lgcc_s):
Build log for alglib (2.6.0-6) on armhf:
Versions used:
g++-4.6_4.6.3-1 gcc-4.6_4.6.3-1 libc6-dev_2.13-27 libstdc++6_4.6.3-1 libstdc++6-4.6-dev_4.6.3-1 libgcc1_1:4.6.3-1
The link commands:
/bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -release 2.6.0 -o libalglib.la -rpath /usr/lib ablas.lo ablasf.lo airyf.lo ap.lo apserv.lo autogk.lo bdss.lo bdsvd.lo bessel.lo betaf.lo binomialdistr.lo blas.lo chebyshev.lo chisquaredistr.lo conv.lo corr.lo correlation.lo correlationtests.lo creflections.lo dawson.lo densesolver.lo descriptivestatistics.lo dforest.lo elliptic.lo estnorm.lo evd.lo expintegrals.lo fdistr.lo fft.lo fht.lo fresnel.lo ftbase.lo gammafunc.lo gkq.lo gq.lo hblas.lo hermite.lo hqrnd.lo hsschur.lo ialglib.lo ibetaf.lo idwint.lo igammaf.lo inverseupdate.lo jacobianelliptic.lo jarquebera.lo kmeans.lo laguerre.lo lda.lo ldlt.lo legendre.lo linmin.lo linreg.lo logit.lo lsfit.lo mannwhitneyu.lo matdet.lo matgen.lo matinv.lo minasa.lo mincg.lo minlbfgs.lo minlm.lo mlpbase.lo mlpe.lo mlptrain.lo nearestneighbor.lo nearunityunit.lo normaldistr.lo odesolver.lo ortfac.lo pca.lo poissondistr.lo polint.lo psif.lo pspline.lo ratint.lo ratinterpolation.lo rcond.lo reflections.lo rotations.lo safesolve.lo sblas.lo schur.lo sdet.lo sinverse.lo spdgevd.lo spline1d.lo spline2d.lo spline3.lo srcond.lo ssolve.lo stest.lo studenttdistr.lo studentttests.lo svd.lo trfac.lo trigintegrals.lo trlinsolve.lo tsort.lo variancetests.lo wsr.lo xblas.lo
libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../arm-linux-gnueabihf/crti.o /usr/lib/gcc/arm-linux-gnueabihf/4.6/crtbeginS.o .libs/ablas.o .libs/ablasf.o .libs/airyf.o .libs/ap.o .libs/apserv.o .libs/autogk.o .libs/bdss.o .libs/bdsvd.o .libs/bessel.o .libs/betaf.o .libs/binomialdistr.o .libs/blas.o .libs/chebyshev.o .libs/chisquaredistr.o .libs/conv.o .libs/corr.o .libs/correlation.o .libs/correlationtests.o .libs/creflections.o .libs/dawson.o .libs/densesolver.o .libs/descriptivestatistics.o .libs/dforest.o .libs/elliptic.o .libs/estnorm.o .libs/evd.o .libs/expintegrals.o .libs/fdistr.o .libs/fft.o .libs/fht.o .libs/fresnel.o .libs/ftbase.o .libs/gammafunc.o .libs/gkq.o .libs/gq.o .libs/hblas.o .libs/hermite.o .libs/hqrnd.o .libs/hsschur.o .libs/ialglib.o .libs/ibetaf.o .libs/idwint.o .libs/igammaf.o .libs/inverseupdate.o .libs/jacobianelliptic.o .libs/jarquebera.o .libs/kmeans.o .libs/laguerre.o .libs/lda.o .libs/ldlt.o .libs/legendre.o .libs/linmin.o .libs/linreg.o .libs/logit.o .libs/lsfit.o .libs/mannwhitneyu.o .libs/matdet.o .libs/matgen.o .libs/matinv.o .libs/minasa.o .libs/mincg.o .libs/minlbfgs.o .libs/minlm.o .libs/mlpbase.o .libs/mlpe.o .libs/mlptrain.o .libs/nearestneighbor.o .libs/nearunityunit.o .libs/normaldistr.o .libs/odesolver.o .libs/ortfac.o .libs/pca.o .libs/poissondistr.o .libs/polint.o .libs/psif.o .libs/pspline.o .libs/ratint.o .libs/ratinterpolation.o .libs/rcond.o .libs/reflections.o .libs/rotations.o .libs/safesolve.o .libs/sblas.o .libs/schur.o .libs/sdet.o .libs/sinverse.o .libs/spdgevd.o .libs/spline1d.o .libs/spline2d.o .libs/spline3.o .libs/srcond.o .libs/ssolve.o .libs/stest.o .libs/studenttdistr.o .libs/studentttests.o .libs/svd.o .libs/trfac.o .libs/trigintegrals.o .libs/trlinsolve.o .libs/tsort.o .libs/variancetests.o .libs/wsr.o .libs/xblas.o -L/usr/lib/gcc/arm-linux-gnueabihf/4.6 -L/usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../arm-linux-gnueabihf -L/usr/lib/gcc/arm-linux-gnueabihf/4.6/../../.. -L/lib/arm-linux-gnueabihf -L/usr/lib/arm-linux-gnueabihf -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/arm-linux-gnueabihf/4.6/crtendS.o /usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../arm-linux-gnueabihf/crtn.o -O2 -Wl,-soname -Wl,libalglib-2.6.0.so -o .libs/libalglib-2.6.0.so
dpkg-shlibdeps: warning: symbol __aeabi_unwind_cpp_pr1@GCC_3.5 used by debian/libalglib-2.6.0/usr/lib/libalglib-2.6.0.so found in none of the libraries.
Second case (just gcc --shared:)
Build log for apron (0.9.10-5.2) on armhf
g++-4.6_4.6.2-7 gcc-4.6_4.6.2-7 libc6-dev_2.13-23 libstdc++6_4.6.2-7 libstdc++6-4.6-dev_4.6.2-7 libgcc1_1:4.6.2-7
+ /usr/bin/ocamlc -a -o gmp.cma mpz.cmo mpzf.cmo mpq.cmo mpqf.cmo mpf.cmo mpfr.cmo mpfrf.cmo gmp_random.cmo -dllib -lgmp_caml -cclib -lgmp_caml -ccopt -L/usr/lib -ccopt -L/usr/lib -ccopt -L/usr/lib/ocaml -cclib -lmpfr -cclib -lgmp -cclib -lcamlidl
gcc -Wcast-qual -Wswitch -Werror-implicit-function-declaration -Wall -Wextra -Wundef -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wno-unused -std=c99 -U__STRICT_ANSI__ -fPIC -O3 -DNDEBUG -shared -o libgmp_caml.so gmp_caml.o mpz_caml.o mpq_caml.o mpf_caml.o mpfr_caml.o gmp_random_caml.o -L/usr/lib -lmpfr -L/usr/lib -lgmp -L/usr/lib/ocaml -lcamlidl
With only -shared and no -nostdlib or the like, it should be gcc's
responsibility to link the needed system libs, shouldn't it?
dpkg-shlibdeps: warning: symbol __aeabi_unwind_cpp_pr1@GCC_3.5 used by debian/libapron/usr/lib/libap_ppl.so.0 found in none of the libraries.
Some third example:
Build log for attica (0.2.0-1) on armhf
g++-4.6_4.6.2-6 gcc-4.6_4.6.2-6 libc6-dev_2.13-22 libstdc++6_4.6.2-6 libstdc++6-4.6-dev_4.6.2-6 libgcc1_1:4.6.2-6
/usr/bin/c++ -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -shared -Wl,-soname,libattica.so.0 -o libattica.so.0.2.0 CMakeFiles/attica.dir/accountbalance.cpp.o CMakeFiles/attica.dir/accountbalanceparser.cpp.o CMakeFiles/attica.dir/activity.cpp.o CMakeFiles/attica.dir/activityparser.cpp.o CMakeFiles/attica.dir/atticabasejob.cpp.o CMakeFiles/attica.dir/atticautils.cpp.o CMakeFiles/attica.dir/privatedata.cpp.o CMakeFiles/attica.dir/privatedataparser.cpp.o CMakeFiles/attica.dir/category.cpp.o CMakeFiles/attica.dir/categoryparser.cpp.o CMakeFiles/attica.dir/comment.cpp.o CMakeFiles/attica.dir/commentparser.cpp.o CMakeFiles/attica.dir/content.cpp.o CMakeFiles/attica.dir/contentparser.cpp.o CMakeFiles/attica.dir/distribution.cpp.o CMakeFiles/attica.dir/distributionparser.cpp.o CMakeFiles/attica.dir/downloaddescription.cpp.o CMakeFiles/attica.dir/downloaditem.cpp.o CMakeFiles/attica.dir/downloaditemparser.cpp.o CMakeFiles/attica.dir/event.cpp.o CMakeFiles/attica.dir/eventparser.cpp.o CMakeFiles/attica.dir/folder.cpp.o CMakeFiles/attica.dir/folderparser.cpp.o CMakeFiles/attica.dir/getjob.cpp.o CMakeFiles/attica.dir/homepageentry.cpp.o CMakeFiles/attica.dir/homepagetype.cpp.o CMakeFiles/attica.dir/homepagetypeparser.cpp.o CMakeFiles/attica.dir/icon.cpp.o CMakeFiles/attica.dir/itemjob.cpp.o CMakeFiles/attica.dir/knowledgebaseentry.cpp.o CMakeFiles/attica.dir/knowledgebaseentryparser.cpp.o CMakeFiles/attica.dir/license.cpp.o CMakeFiles/attica.dir/licenseparser.cpp.o CMakeFiles/attica.dir/listjob_inst.cpp.o CMakeFiles/attica.dir/message.cpp.o CMakeFiles/attica.dir/messageparser.cpp.o CMakeFiles/attica.dir/metadata.cpp.o CMakeFiles/attica.dir/parser.cpp.o CMakeFiles/attica.dir/person.cpp.o CMakeFiles/attica.dir/personparser.cpp.o CMakeFiles/attica.dir/postfiledata.cpp.o CMakeFiles/attica.dir/postjob.cpp.o CMakeFiles/attica.dir/provider.cpp.o CMakeFiles/attica.dir/providermanager.cpp.o CMakeFiles/attica.dir/qtplatformdependent.cpp.o -lQtCore -lQtNetwork
dpkg-shlibdeps: warning: symbol __aeabi_unwind_cpp_pr1@GCC_3.5 used by debian/libattica0/usr/lib/libattica.so.0.2.0 found in none of the libraries.
Is this a bug in gcc/libgcc or something else (libc?, ld?).
Or should dpkg-shlibs just ignore this particular symbol?
Thanks in advance,
Bernhard R. Link
Reply to: