Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make all errors when trying to install Artemis. #128

Open
MartinRogalla opened this issue Dec 29, 2015 · 3 comments
Open

Make all errors when trying to install Artemis. #128

MartinRogalla opened this issue Dec 29, 2015 · 3 comments

Comments

@MartinRogalla
Copy link

I tried to install Artemis on Ubuntu 15.10. Following the INSTALL instructions, I executed the make fetch-apt command successfully. I was unable to execute make fetch-qt, since the referenced gitorious repository is not longer existent. Instead I installed qt via sudo apt-get install qt-sdk.

I then configured the environment variables and ran make all. It runs correctly for a while, but then reports the following problems:

In file included from ../../../../Source/WTF/wtf/DateMath.cpp:78:0:
../../../../Source/WTF/wtf/MathExtras.h:282:12: error: ‘constexpr bool std::isinf(double)’ conflicts with a previous declaration
 using std::isinf;
            ^
In file included from /usr/include/features.h:364:0,
                 from /usr/include/inttypes.h:25,
                 from ../../../../Source/WTF/wtf/Assertions.h:50,
                 from ../../../../Source/WTF/wtf/PossiblyNull.h:29,
                 from ../../../../Source/WTF/wtf/FastMalloc.h:25,
                 from ../../../../Source/WTF/config.h:62,
                 from ../../../../Source/WTF/wtf/DateMath.cpp:72:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:201:1: note: previous declaration ‘int isinf(double)’
 __MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
 ^
In file included from ../../../../Source/WTF/wtf/DateMath.cpp:78:0:
../../../../Source/WTF/wtf/MathExtras.h:283:12: error: ‘constexpr bool std::isnan(double)’ conflicts with a previous declaration
 using std::isnan;
            ^
In file included from /usr/include/features.h:364:0,
                 from /usr/include/inttypes.h:25,
                 from ../../../../Source/WTF/wtf/Assertions.h:50,
                 from ../../../../Source/WTF/wtf/PossiblyNull.h:29,
                 from ../../../../Source/WTF/wtf/FastMalloc.h:25,
                 from ../../../../Source/WTF/config.h:62,
                 from ../../../../Source/WTF/wtf/DateMath.cpp:72:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:234:1: note: previous declaration ‘int isnan(double)’
 __MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
 ^
Makefile.WTF:783: recipe for target 'obj/release/DateMath.o' failed
make[3]: *** [obj/release/DateMath.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from ../../../../Source/WTF/wtf/DecimalNumber.h:31:0,
                 from ../../../../Source/WTF/wtf/DecimalNumber.cpp:27:
../../../../Source/WTF/wtf/MathExtras.h:282:12: error: ‘constexpr bool std::isinf(double)’ conflicts with a previous declaration
 using std::isinf;
            ^
In file included from /usr/include/features.h:364:0,
                 from /usr/include/inttypes.h:25,
                 from ../../../../Source/WTF/wtf/Assertions.h:50,
                 from ../../../../Source/WTF/wtf/PossiblyNull.h:29,
                 from ../../../../Source/WTF/wtf/FastMalloc.h:25,
                 from ../../../../Source/WTF/config.h:62,
                 from ../../../../Source/WTF/wtf/DecimalNumber.cpp:26:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:201:1: note: previous declaration ‘int isinf(double)’
 __MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
 ^
In file included from ../../../../Source/WTF/wtf/DecimalNumber.h:31:0,
                 from ../../../../Source/WTF/wtf/DecimalNumber.cpp:27:
../../../../Source/WTF/wtf/MathExtras.h:283:12: error: ‘constexpr bool std::isnan(double)’ conflicts with a previous declaration
 using std::isnan;
            ^
In file included from /usr/include/features.h:364:0,
                 from /usr/include/inttypes.h:25,
                 from ../../../../Source/WTF/wtf/Assertions.h:50,
                 from ../../../../Source/WTF/wtf/PossiblyNull.h:29,
                 from ../../../../Source/WTF/wtf/FastMalloc.h:25,
                 from ../../../../Source/WTF/config.h:62,
                 from ../../../../Source/WTF/wtf/DecimalNumber.cpp:26:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:234:1: note: previous declaration ‘int isnan(double)’
 __MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
 ^
Makefile.WTF:909: recipe for target 'obj/release/DecimalNumber.o' failed
make[3]: *** [obj/release/DecimalNumber.o] Error 1
make[3]: Leaving directory '/home/******/****/****/****/cs-au-dk/Artemis/WebKit/WebKitBuild/Release/Source/WTF'
Makefile:43: recipe for target 'sub-Source-WTF-WTF-pro-make_default-ordered' failed
make[2]: *** [sub-Source-WTF-WTF-pro-make_default-ordered] Error 2
make[2]: Leaving directory '/home/******/****/****/****/cs-au-dk/Artemis/WebKit/WebKitBuild/Release'
Makefile:316: recipe for target 'incremental' failed
make[1]: *** [incremental] Error 2
make[1]: Leaving directory '/home/******/****/****/****/cs-au-dk/Artemis/WebKit/WebKitBuild/Release'
Makefile:39: recipe for target 'webkit-minimal' failed
make: *** [webkit-minimal] Error 2

Do you have any ideas on how I can fix this?

@MartinRogalla MartinRogalla changed the title Issues when trying to install Artemis. Make all errors when trying to install Artemis. Dec 29, 2015
@BenSpencer
Copy link
Contributor

Hi Martin,

Sorry you are having issues. I won't be able to try to reproduce this until I'm back at work in the new year, but I suspect it might be related to a new version of GCC in 15.10.

Qt Version

It looks like your qt-sdk package includes everything we need. If you have done make fetch-apt you should have everything. Double check you have Qt 4.8.x as the default version with qmake --version (second line shows Qt version). By default in Ubuntu it is 5.x nowadays, it can be changed to 4.8 with the qtchooser tool or by installing qt4-default.

GCC Version

Apparently 15.10 now ships with GCC 5.x. We are a bit sloppy with how we use some c++11 features without building with -std=c++11. I would not be surprised if a major version update to GCC changes which features are enabled by default and breaks the build. (My gcc --version gives me 4.8.4 on 14.04.)

If you can, try building with GCC 4.x (or even 4.8.x) if that's not what you already have.

If that doesn't help, or if you have any other questions please don't hesitate to get in touch.

@MartinRogalla
Copy link
Author

Hi Ben,

Thank you very much for your quick and detailed response. Since I was running this in a virtual machine anyway, I just downloaded 14.04. Works perfectly on there. I think the Qt version is fine on 15.10, since sudo apt-get install qt-sdk also installs Qt 4.8.6. So it probably is indeed an incompatibility with GCC 5.x. Anyway, I'm glad that it works now.

Thanks again and happy holidays!

Kind Regards,

Martin

@BenSpencer
Copy link
Contributor

Glad to hear you have it working now. Let me know if you run into any more issues - Artemis is a research prototype and not production software so there are some rough edges. For example the "standard" mode of Artemis does not work the same as the description in the paper in the current version, as preparation for some other work we have been doing. So if you are trying to reproduce the paper you will likely run into problems. If this is what you are trying to do I will dig out my notes about what needs to be reverted to get it working again. Feel free to email me directly, but opening issues here is fine too if that's easiest.

I will leave the issue open for now as there is obviously some documentation missing!

Ben

BenSpencer added a commit that referenced this issue Jan 14, 2016
The idea here is that by specifying the compiler version (4.7 already required) and standard we should hopefully avoid issues such as #128 when trying to build with newer compilers or OS versions.
BenSpencer added a commit that referenced this issue Jan 14, 2016
Related to #128 and installing on newer systems.
Also includes some housekeeping from b2e1746.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants