Epiphany 0.7.0 won't link -- it complains that "snprintf" is implicitly declared. Note that like Epiphany 0.6.1, all "-O#" optimization flags must be removed from CFLAGS/CXXFLAGS in order for the compile to succeed. (See bug #21314) I use gcc-2.95.3-r8 and glibc-2.2.5-r8 -- I wonder if Epiphany requires gcc-3. Reproducible: Always Steps to Reproduce:
i guess this is kinda associated with this: http://bugzilla.gnome.org/show_bug.cgi?id=114696 can you attach a build log please?
Created attachment 13016 [details] Build log for Epiphany 0.7.0 with -O?
Created attachment 13017 [details] Build log for Epiphany 0.7.0 _without_ -O?
Created attachment 13018 [details] My system's "emerge info"
*** Bug 21314 has been marked as a duplicate of this bug. ***
This is definitely a problem with gcc 2.95. I was also having similar trouble with the ebuild until upgrading. epiphany inherits CFLAGS from gnome and debug by default, which adds the -Werror flag, which is how the build dies (arithmatic warnings on void pointers). Previously, emptying the CFLAGS would work (did for 0.6.1), but 0.7 still seems broken. I'm guessing this should be reported upstream to the epiphany maintainers. -cluon
note: by upgrading i mean i recently upgraded from gcc 2.95 to gcc 3.
well, the seeming workaround would be to add : G2CONF="--enable-compile-warnings=no" we've enabled debug in our ebuilds which epiphany takes as enabling all warnings. it seems their code is not totally gcc 2.95 compilant.
http://bugzilla.gnome.org/show_bug.cgi?id=114696 they've fixed the snprintf bug in the original comment and comment #3 is in cvs, but the second problem (comment #2) with the pointer arithmetic is not related to this, and seems unreported. i'll forward it upstream.
Sourav, can you try again with epiphany-0.7.3?
Epiphany 0.7.3 won't compile. Again, I have to remove "-O#" from the compiler flags, and now instead of "snprintf," the build complains about "va_copy". I will attach the build log.
Created attachment 14296 [details] build log for epiphany-0.7.3 without -O#
Hi, I got it to compile, and it works fine. I just made up a definition for "va_copy" (well, in my CFLAGS I forcibly include "/usr/include/graphviz/ast_common.h", which has a crude preprocessor macro for it). Is this a glibc problem? I'll try -r1, which mandates Mozilla 1.4 instead of 1.3. I still have to remove the "-O#" optimization. Sourav
epiphany-0.7.3-r1 (with Mozilla 1.4) works fine, again by removing the "-O#" optimizations and by injecting a macro for "va_copy".
Epiphany 0.8.0 builds fine as long as I remove the "-O#" optimizations; no macro hacks are needed. The "-O#" optimizations incite void pointer warnings, which causes the build to fail with "-Werror" (which converts warnings to errors).
so this is a gcc2 only problem with all systems ? i can probably add a statement that filters -O* with gcc .
Looks like it. I get the "void *" warnings on other apps compiling with gcc2, but they don't specify "-Werror" in the CFLAGS, so the builds succeed. Certainly, when using gcc2, it'd be good to either filter out "-O?" or somehow coerce the Epiphany build environment to not include "-Werror" in the CFLAGS.
i added a few lines that should remove -Werror in 0.8.0 , could you please test the ebuild and confirm it works ?
Works like a dream -- thanks!
foser: the workaround in comment #8 from liquidx is much simpler and cleaner and does the same.
It seems that this problem is now fixed upstream in 0.8.2. I just compiled it without problems. Foser, you can bump the ebuild and remove the workaround.
hmmmdidum.. still enabled it.. my brain is fried anyway 0.8.2 is in, warnings disabled all the way. Will remove it next release :)