I recently upgraded to GCC 5.1 on my ~amd64 machine. I recompiled the entire world, as gcc5.1 was a major upgrade. I had an issue with a few packages, but because of the --keep-going flag I set on emerge, it was no problem, I simply looked at the emerge log to find out which packages failed. I managed to get most of them to compile later, but I have been stuck trying to compile media-gfx/iscan. The emerge keeps failing. Please see attachment. This is my first but report, tell me if I need to do something else or if this bug is in the wrong section. Reproducible: Always Steps to Reproduce: 1.Upgrade to gcc-5.1 2.emerge -av media-gfz/iscan 3.Fails Actual Results: The emerge fails, and the program stays at its previous version Expected Results: The program (media-gfx/iscan) should have successfully emerged.
Created attachment 403592 [details] Emerge command
Created attachment 403594 [details] output of emerge --info
Created attachment 403596 [details] output of emerge --info '=media-gfx/iscan-2.29.1.5::gentoo'
Created attachment 403598 [details] output of emerge -pqv '=media-gfx/iscan-2.29.1.5::gentoo'
Created attachment 403600 [details] /var/tmp/portage/media-gfx/iscan-2.29.1.5/temp/environment
Created attachment 403602 [details] /var/tmp/portage/media-gfx/iscan-2.29.1.5/temp/build.log
Can anyone tell me if I provided sufficient info?
@maintainer: I'm not sure this is gcc5 related. If it is, please block bug 536984.
@Mike Do you mean you are able to compile or that I simply need to check with the other gcc? If the second, then I did, and it worked.
It's due to this garbage: configure.ac: 65 # Transitionary check for the C++ ABI while we are switching provided 66 # binaries from gcc-3.[23] to gcc-3.4 or later. Currently gcc-3.[23] 67 # is still the official compiler version to use, but experimental bi- 68 # naries are released with a ".c2" suffix. 69 # The CXX_ABI for gcc-3.[23] is 102, btw. 70 # Note that the PACKAGE_RELEASE for the gcc-3.4 or later packages has 71 # to be larger than that for the gcc-3.[23] packages (as long as both 72 # are distributed) for smooth upgrade paths. 73 74 if test "$GXX" = "yes"; then 75 AC_MSG_CHECKING([C++ ABI version]) 76 CXX_ABI="`$CXX -E -dM - < /dev/null | $AWK '/GXX_ABI/ { print $3 }'`" 77 AC_MSG_RESULT([$CXX_ABI]) 78 if test x"$CXX_ABI" = x1002; then 79 PACKAGE_CXX_ABI=".c2" 80 else 81 PACKAGE_CXX_ABI="" 82 fi 83 AC_SUBST(PACKAGE_CXX_ABI) 84 fi $ g++-5.1.0 -E -dM - < /dev/null | grep GXX #define __GXX_ABI_VERSION 1008 and only the .c2 version of the libesmod lib is provided for x86_64.
Created attachment 404344 [details, diff] iscan-2.29.1-fix-g++-test.patch
Please runtime test this before applying. Since this is a prebuilt binary it may not work correctly with the new C++ ABI.
(In reply to Ryan Hill from comment #12) > Please runtime test this before applying. Since this is a prebuilt binary > it may not work correctly with the new C++ ABI. Thanks rhill, nice work. Awaiting test run by aditya3098 and/or maintainer who is notable in his absence.
The g++ patch is included in the 2.30.1.1 version bump (498524).