Problem compiling nr-filter-slot.cpp
I'm getting this error when compiling under Windows XP SP3:
Make error line 289: problem compiling: src/display/nr-filter-slot.cpp: In constructor 'Inkscape::Filters::FilterSlot::FilterSlot(Inkscape::DrawingItem*, Inkscape::DrawingContext*, Inkscape::DrawingContext&, const Inkscape::Filters::FilterUnits&)': src/display/nr-filter-slot.cpp:38: internal compiler error: in add_phi_arg, at tree-phinodes.c:391 Please submit a full bug report, with preprocessed source if appropriate. See http://www.tdragon.net/recentgcc/bugs.php for instructions.
Please, can anyone tell me what to do to fix this problem? I don't know where to start from. Thanks. Luca
On 1/9/11 14:32, LucaDC wrote:
I'm getting this error when compiling under Windows XP SP3:
Make error line 289: problem compiling: src/display/nr-filter-slot.cpp: In constructor 'Inkscape::Filters::FilterSlot::FilterSlot(Inkscape::DrawingItem*, Inkscape::DrawingContext*, Inkscape::DrawingContext&, const Inkscape::Filters::FilterUnits&)': src/display/nr-filter-slot.cpp:38: internal compiler error: in add_phi_arg, at tree-phinodes.c:391 Please submit a full bug report, with preprocessed source if appropriate. See http://www.tdragon.net/recentgcc/bugs.php for instructions.
Please, can anyone tell me what to do to fix this problem? I don't know where to start from.
The same error had been reported yesterday by cafuego on irc with some of his automated nightly builds (Ubuntu Maverick i386, with gcc 4.4 - Ubuntu Maverick amd64 otoh build ok):
https://launchpad.net/~cafuego/+archive/inkscape/+packages, e.g. https://launchpadlibrarian.net/78597962/buildlog_ubuntu-maverick-i386.inkscape_0.49~devel%2B10607%2B5~maverick1_FAILEDTOBUILD.txt.gz
Possibly related to a (known) bug in your gcc version (I found the bug report for gcc via google based on the error message - not that I understand what happens and how the issue could be avoided with your specific version of GCC):
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45709
Based on the logs of cafuego's packages, the relevant change seems to have been between r10578 (built ok) and r10582 (failure on i386) -> most likely due to the merge of the caching branch in r10579
~suv
De : ~suv <suv-sf@...58...> Possibly related to a (known) bug in your gcc version (I found the bug report for gcc via google based on the error message - not that I understand what happens and how the issue could be avoided with your specific version of GCC):
I've had the same issue on Ubuntu 10.10, gcc 4.4. But now on 11.04 (gcc 4.5) everything compiles correctly. Regards, -- Nicolas
De : Nicolas Dufour <nicoduf@...48...> I've had the same issue on Ubuntu 10.10, gcc 4.4. But now on 11.04 (gcc 4.5) everything compiles correctly.
And on Windows XP, TDM-GCC 4.5.2 (from http://tdm-gcc.tdragon.net/download) compiles with no error. -- Nicolas
Nicolas Dufour-5 wrote:
De : Nicolas Dufour <nicoduf@...48...> I've had the same issue on Ubuntu 10.10, gcc 4.4. But now on 11.04 (gcc 4.5) everything compiles correctly.
And on Windows XP, TDM-GCC 4.5.2 (from http://tdm-gcc.tdragon.net/download) compiles with no error.
Thanks for the suggestion. I downloaded TDM-GCC 4.5.2 and installed with default options under c:\mingw. Now nr-filter-slot.cpp compiles but I get this new error:
Make error line 440: LINK problem: c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot find -lgomp collect2: ld returned 1 exit status
Is this problem specific to my system? If so, I can't understand why as I haven't had recent changes on it. If not, is there a clear way to compile under Windows? Why aren't tdm-mingw and btool no more enough? Thanks for your help. Luca
De : Nicolas Dufour <nicoduf@...48...>
And on Windows XP, TDM-GCC 4.5.2 (from http://tdm-gcc.tdragon.net/download) compiles with no error.
Thanks for the suggestion. I downloaded TDM-GCC 4.5.2 and installed with default options under c:\mingw. Now nr-filter-slot.cpp compiles but I get this new error:
Make error line 440: LINK problem: c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot find -lgomp
Did you run btool clean first? I've had the same issue after upgrading to 4.5.2 because all the files before the error were built with 4.4. Starting from a clean status solved the problem.
Regards, -- Nicolas
I have this build issue also and I am not willing to install packages that are not in the main repositories of my distro. Is there anything we can do to refactor the code so that it will build in old versions of gcc ?
Felipe Sanches
On Fri, Sep 2, 2011 at 6:37 PM, Nicolas Dufour <nicoduf@...48...> wrote:
De : Nicolas Dufour <nicoduf@...48...>
And on Windows XP, TDM-GCC 4.5.2 (from http://tdm-gcc.tdragon.net/download) compiles with no error.
Thanks for the suggestion. I downloaded TDM-GCC 4.5.2 and installed with default options under c:\mingw. Now nr-filter-slot.cpp compiles but I get this new error:
Make error line 440: LINK problem: c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot
find -lgomp
Did you run btool clean first? I've had the same issue after upgrading to 4.5.2 because all the files before the error were built with 4.4. Starting from a clean status solved the problem.
Regards,
Nicolas
Special Offer -- Download ArcSight Logger for FREE! Finally, a world-class log management solution at an even better price-free! And you'll get a free "Love Thy Logs" t-shirt when you download Logger. Secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsisghtdev2dev _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
2011/9/4 Felipe Sanches <juca@...2270...>:
I have this build issue also and I am not willing to install packages that are not in the main repositories of my distro. Is there anything we can do to refactor the code so that it will build in old versions of gcc ?
This is a GCC bug. I don't know what causes it. You might try moving the contents of the conditional statements in initializers to the body of the constructor, maybe 4.4 doesn't like some of them.
Regards, Krzysztof
Krzysztof Kosiński wrote:
2011/9/4 Felipe Sanches <juca@...2270...>:
I have this build issue also and I am not willing to install packages that are not in the main repositories of my distro. Is there anything we can do to refactor the code so that it will build in old versions of gcc ?
This is a GCC bug. I don't know what causes it. You might try moving the contents of the conditional statements in initializers to the body of the constructor, maybe 4.4 doesn't like some of them.
Well, I don't really mind where this bug comes from: I just need the right way of getting out of it. Moving to TDM-GCC 4.5.2 solved the compiling problem but caused another one when linking: -lgomp is one of the many options passed to the compiler (isn't it recognized in the new version?). To make it simple: just tell me how to compile Inkscape under Windows XP, please. I've always followed indications so I don't have knowledge of the process and am not able of fixing its problems alone. Thanks a lot for your help. Luca
LucaDC wrote:
Well, I don't really mind where this bug comes from: I just need the right way of getting out of it. Moving to TDM-GCC 4.5.2 solved the compiling problem but caused another one when linking: -lgomp is one of the many options passed to the compiler (isn't it recognized in the new version?).
- have you run btool clean?
Alvin Penner wrote:
- have you run btool clean?
Yes, I did. Sorry for not replying but I find this quite obvious (and I don't mean that it wasn't worth asking...).
So here is the solution (you manage having me thinking about it, eventually): the "openmp" option of TDM-GCC must be selected too. The -lgomp option asks for it.
Here is how I installed the new version of TDM-GCC 4.5.2: - Edition: MinGW/TDM (32-bit); - Installation directory: C:\mingw (I suppose that some scripts have to be updated if the default one is kept); - Download Mirror: SourceForge Default; - Components: starting from "TDM-GCC Recommended, C/C++", add "openmp" under "gcc (TDM-GCC Current: 4.5.2-tdm-1)"; I've also unchecked "Start Menu items" and "Add to PATH" options. Of course, the complete installation works too, but I like minimal installs and I don't plan writing in Fortran or Ada... At least until some developer will use them in Inkscape :)
So, who did use OpenMP without asking? ;)
Thanks anyway. Luca
yes, here is a comment from the installation instruictions at:
http://wiki.inkscape.org/wiki/index.php/Win32Port
the comment is:
During the installation, enable the "openmp support" checkbox from the components list or choose to install all packages (option "TDM-GCC recommended, All Packages" in the TDM-GCC 4.5.1 installer).
2011/9/5 LucaDC <dicappello@...2144...>:
So, who did use OpenMP without asking? ;)
It was in use since at least 0.48 stable, which has OpenMP multithreading for Gaussian blur, and since the merge of Cairo rendering early this summer OpenMP is used in all filters.
Regards, Krzysztof
W dniu 5 września 2011 17:49 użytkownik Krzysztof Kosiński <tweenk.pl@...400...> napisał:
2011/9/5 LucaDC <dicappello@...2144...>:
So, who did use OpenMP without asking? ;)
It was in use since at least 0.48 stable, which has OpenMP multithreading for Gaussian blur, and since the merge of Cairo rendering early this summer OpenMP is used in all filters.
Oops, forot to add: probably it was included in the default installation before TDM 4.5.
Regards, Krzysztof
Krzysztof Kosiński wrote:
2011/9/5 LucaDC <dicappello@...2144...>: So, who did use OpenMP without asking? ;)
It was in use since at least 0.48 stable, which has OpenMP multithreading for Gaussian blur, and since the merge of Cairo rendering early this summer OpenMP is used in all filters.
Oops, forot to add: probably it was included in the default installation before TDM 4.5.
In fact I've never had problems with OpenMP before and I was using TDM 4.4. Anyway, instructions on the Wiki are clear enough on this. Pity I hadn't read them before. Luca
On 2/9/11 17:42, LucaDC wrote:
Nicolas Dufour-5 wrote:
De : Nicolas Dufour <nicoduf@...48...> I've had the same issue on Ubuntu 10.10, gcc 4.4. But now on 11.04 (gcc 4.5) everything compiles correctly.
And on Windows XP, TDM-GCC 4.5.2 (from http://tdm-gcc.tdragon.net/download) compiles with no error.
Thanks for the suggestion. I downloaded TDM-GCC 4.5.2 and installed with default options under c:\mingw. Now nr-filter-slot.cpp compiles but I get this new error:
Maybe 'default options' is not sufficient when installing TDM-GCC 4.5.2? This thread http://thread.gmane.org/gmane.comp.graphics.inkscape.devel/36877/focus=36898 mentions to choose "option "TDM-GCC recommended, All Packages" in the TDM-GCC 4.5.1 installer".
Make error line 440: LINK problem: c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot find -lgomp collect2: ld returned 1 exit status
Is this problem specific to my system? If so, I can't understand why as I haven't had recent changes on it. If not, is there a clear way to compile under Windows? Why aren't tdm-mingw and btool no more enough? Thanks for your help.
~suv
participants (6)
-
Alvin Penner
-
Felipe Sanches
-
Krzysztof Kosiński
-
LucaDC
-
Nicolas Dufour
-
~suv