GCC 4.2 introduces strict enforcement preventing direct function pointer conversions between incompatible types by generating a runtime abort[i]. This does a great job of breaking openssl[ii]. This patch allows openssl to build and work, but is a temporary fix until things are decided upstream[iii]. GCC 4.2 also breaks building with -g* in CFLAGS, but that's another bug. [i] http://gcc.gnu.org/ml/gcc/2006-07/msg00037.html [ii] http://www.mail-archive.com/openssl-dev@openssl.org/msg21938.html [iii] http://www.mail-archive.com/openssl-dev@openssl.org/msg21945.html
Created attachment 104173 [details, diff] openssl-0.9.8d-gcc42.patch
bug me when something actually gets merged upstream ... i'm not terribly warm to the idea of maintaining a patch in something like openssl that is full of hacks (by design) when it hasnt been accepted in the upstream repo, especially when the only benefiter here are gcc-4.2 users so when it hits openssl's CVS, re-open the bug with that patch and i'll happily merge it
good call, it looks like they're going another way. http://cvs.openssl.org/chngview?cn=15660
Comment on attachment 104173 [details, diff] openssl-0.9.8d-gcc42.patch this breaks kdelibs.
that link refers to a patch from 0.9.8e to 0.9.9 , portage seems still at 8d. Since this seems to have been dealt with upstream is this what you were waiting for fix this bug? ?(later==now) thx.
ftp://ftp.openssl.org/snapshot/openssl-0.9.8-stable-SNAP-20070201.tar.gz a hacky bit of renaming and I build this release and it fixed the invalid conversion void (*) stuff . I was able to emerge lftp and htdig that where failing before on a 4.2 build system. would be good to have a 4.2/4.3 usable ebuild in the tree.
we're not putting snapshots in the tree anymore, use the overlay
(In reply to comment #5) > Since this seems to have been dealt with upstream is this what you were waiting > for fix this bug? > > ?(later==now) i was under the impression that wouldn't be the final solution and wanted to wait until there was one. plus i've just been busy with other stuff.
I have this problem on macos, with gcc-4.1.2. It's so weird that I have this problem, but this patch fixes it. Might consider adding it.
it isnt weird if you reviewed the full history of the bug ... the patch is not what went into upstream thus it's not going into Gentoo
It's weird that I have a problem with gcc-4.1.2 that is supposed to happen for gcc-4.2 and higher.
so if i hadnt misread your comment then it'd make more sense ;) i dont think it's that weird to be honest ... the OS X gcc branch has always been known to be more than just the equivalent mainline gcc version ...
You couldn't know this, but I'm using mainline gcc here. Not apple's gcc variant. But it doesn't matter, this patch has been added to openssl cvs, so in a few weeks there will be a release with the fix. :) Sorry for the spam.
Just to clarify, this patch is _not_ what went into CVS and will break stuff. At this point I'm just going to wait for upstream to make a release as i feel nowhere near confident enough in backporting these changes in something as essential as openssl.
Created attachment 119315 [details, diff] openssl-0.9.8e-gcc42.patch This is the patch I'm currently testing, credit PLD Linux. vapier: i agree, we probably don't want to maintain this. i'm just posting it here to refer people to.
*** Bug 179600 has been marked as a duplicate of this bug. ***
ive added the PLD patch for gcc-4.2 users only pending a real fix from upstream thanks Ryan