BOINC fails to link with LLD because of /usr/lib in the link command
line.
LLD does not continue to search for the correct library, once it
finds one that doesn't fit. This is made by design and will not
change.
See also : https://bugs.gentoo.org/732024
The reason for LLD failing is, that its build system puts -L/usr and
-L/usr/lib into the command line options. While these are not
neccessary at all, they cause LLD to find 32bit libraries on 64bit
systems first. As these 32bit libraries can not be used, LLD errors
out.
This commit removes the superfluous hard-coded injection of -L/usr
and -L/usr/lib into the command line.
The resulting build system has been tested with
* Clang + LLD
* gcc + ld.bfd
* gcc + ld.gold
Bug: #4095
Signed-off-by: Sven Eden <sven.eden@prydeworx.com>
Remove sqlite3.dll from *.ism files
Remove sqlite3 as a build dependency
Remove sqlite3 from load_dependencies.bat
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
Some compiled clients may appear as "$ARCH-unknown-linux-android" instead of "$ARCH-android-linux-gnu" to project servers
This is because of Android NDK specifies "$ARCH-linux-android" triplets and users forget to specify "--with-boinc-platform"
Fix this in "boinc_platform.m4" so that Android boinc platform strings changes are not needed across all projects
boinc_alt_platform is excluded to prepare for 64bit only Android devices
Users can add back requesting 32bit tasks with "--with-boinc-alt-platform" during compile or "<alt_platform>" during runtime
Checking for "-lssl" in "$LIBCURL" may not be enough to find where is the SSL lib
The test may fail with "cannot find -lssl" and "cannot find -lcrypto"
Add additional check if "$SSL_LIBS" can provide the SSL lib before moving on
* enable coverage reports from gcc and disable optimizations via option to configure
* install googletest library into buildcache
* script to compile and run unit tests using cmake
* first set of unit tests originaly contributed by Keith Uplinger
There are several hardcoded paths and assumptions made in order to get this working on Travis CI. New tooling is using cmake for cross platform builds and as such is not easy to use with an autotools based system.
It's not ideal but better than nothing.
While science apps may use Fortran BOINC itself doesn't use it making
the checks useless.
Removing the checks reduces verbosity of configure a little bit making
its output more accessible.
Since wxWidgets 3.1 the webview library is not in the dfault set of libraries and needs to be specified explicitly. Since it is optional for BOINC the wxWidgets detection macro needed to be augmented to allow optional libraries.
WxWidgets switched to using -DNDEBUG to disable debugging in version 2.9.1 and enabling it by default. My previous change (530eb18) made the debug version the default and one had to disable the debugging for release builds. This is fixed now and the non-debug version is the default. Now WxWidgets debug assertions are switched on if --enable-debug is specified.
fixes#1476
That produced a messed-up query that assigned garbage values to:
host_app_version.turnaround_var
host_app_version.turnaround_q
host_app_version.max_jobs_per_day
host_app_version.consecutive_valid
To repair these:
- set turnaround_var and turnaround_q to zero
- if max_jobs_per_day is outside of
(0..config.daily_result_quota)
set it to config.daily_result_quota
- if consecutive_valid is outside (0..1000), set it to zero
I added a script, html/ops/repair_21812.php, that does this;
if you ran server code between [21181] and [21812], run this script.
- scheduler/transitioner: add <debug_quota> log flag
- changed the build system to always use -Wall
(if we'd done this before, this bug wouldn't have happened)
- fixed a bunch of other compile warnings
svn path=/trunk/boinc/; revision=21812
which of those files to include
- Modified MAC address check to work on some non-Linux unixes.
(mac_address.cpp)
- Added suggested change to "already attached to project" checking.
(ProjectInfoPage.cpp)
- changed includes of standard c header files to their c++ equivalents
(i.e. replaced <stdio.h> with <cstdio>) for namespace protection.
- replaced "using namespace std;" with more explicit "using std::function" in
several files.
- Fixed bug in checking whether the os is OS/2 and added conditional OS_OS2
to the build environment. (boinc_platform.m4,configure.ac)
- Changed build environment to not use -nostandardlibs unless we are using
G++ and static linkage is specified. (configure.ac)
- Added makefiles and package building files for solaris CSW package manager.
- Fixed bug with attempting to find login name using logname. (configure.ac)
- Added ifdef HAVE_* protection around some include files commonly found in
sys.
- Added support for unified binary for x86_64/i686-pc-solaris.
(cs_platforms.cpp)
- generate_host_cpid() now uses MAC address on non-linux unix.
(hostinfo_network.cpp)
- Macro BOINC_SET_COMPILE_FLAGS now doesn't check gcc only flags on non-gcc
compilers. (boinc_set_compile_flags.m4)
- Library compiles no longer depend upon the library extension or require
the library to be prefixed with lib.
- More fixes for fcgi builds.
- Added declaration of "struct ether_addr" and ether_ntoa(). Have not yet
implemented ether_ntoa() for machines that don't have it, or where it is
buggy. (unix_util.h)
- Added FCGI::perror() which calls FCGI_perror(). (boinc_fcgi.{h,cpp})
- Fixed library Makefiles so that all required headers get installed.
svn path=/trunk/boinc/; revision=17388