Commit Graph

129 Commits

Author SHA1 Message Date
Fabrice Fontaine bf807980c1 Fix LDFLAGS for cross-compilation
Remove "-L$(libdir) -rapth $(libdr)" from LDFLAGS of boinc libraries in
Makefile.am of api, lib, sched and zlib directories to be able to
cross-compile boinc.

Indeed, libdir is not equal to the path where BOINC will be installed
but to exec_prefix/lib. The full installation path is
$(DESTDIR)/$(libdir).

To cross-compile boinc, exec_prefix will be set to the target path (for
example: /usr) and DESTDIR will be set (during make install) to the
staging or target directory on the host (for example /home/xxx/target).
The issue of adding -L$(libdir) is that it is not allowed by the
compiler, the error "unsafe header/library path used in
cross-compilation: '-L/usr/lib'" will be raised.

As a result, remove "-L$(libdir) -rapth $(libdr)" from LDFLAGS, the
default library search paths are sufficient for "standard" compilation
or can be updated manually by passing the additional search path to
LDFLAGS during the configure call for cross-compilation.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2017-03-04 16:46:41 +01:00
David Anderson c797441941 remove dependency of coproc.h on str_replace.h 2016-08-26 12:31:54 -07:00
David Anderson 99d7da00e7 Unix build: add str_replace.h to list of installed .h files 2016-08-26 11:50:31 -07:00
Rom Walton a2f58bf7c8 lib: Fix build break 2016-02-09 07:55:22 -05:00
David Anderson ea7edd75b3 Move sched_msgs.* from sched/ to lib/
Lets SCHED_MSG_LOG be used including only -lboinc, not -lsched.
This is a tactical move; SETI@home back-end code
uses SCHED_MSG_LOG and I need to make this work without -lsched,
which pulls in MySQL libraries which I don't want.
2015-09-08 11:28:06 -07:00
Rom Walton 6e6fc4f741 BUILD: Add missing CXX Flags options for SSL to crypt_prog 2015-01-20 08:23:33 -05:00
Rom Walton 9536e1d161 BUILD: Do not build libboinccrypt unless we are also building either the server or client software.
We should not require projects to build/install openssl for Android just so use libboinc and libboincapi.
2015-01-19 16:50:27 -05:00
Rom Walton 53067d700e lib: Fixes for newer GCC versions when compiling md5.c. 2014-08-26 12:21:00 -04:00
David Anderson 3913022bd5 Unix build: fix typo in lib Makefile, from Gianfranco 2014-08-11 11:30:34 -07:00
Eric J Korpela ede92572e9 AUTOMAKE: One more double-install prevented. 2014-06-23 15:05:44 -07:00
Eric J Korpela 7deacd455a AUTOMAKE: Prevent attempted double install of *_win.h 2014-06-23 15:00:27 -07:00
Eric J Korpela bac5f43443 Fixed missing continuation mark 2014-05-02 10:32:42 -07:00
U-X1\korpela 4a357acddc Changes for mingw32 cross compile 2014-04-29 07:50:33 -07:00
Eric J Korpela f6bfb14433 Fix for fcgi compiles. 2013-10-28 16:19:48 -07:00
David Anderson 96a85b4ab6 Move thread.cpp,h from lib/ to client/, to remove dependency on pthread in libboinc 2013-10-17 09:45:49 -07:00
David Anderson b2a6a6528d linux build: add -lpthread 2013-10-11 22:17:15 -07:00
David Anderson ebde7809ce client: preliminary implementation (commented out) of sub-second throttling 2013-09-20 14:30:04 -07:00
David Anderson c1ee47216b Move OpenCL-related code to a separate file 2013-08-25 14:13:14 -07:00
David Anderson b98bc309cc API: fix bug involving suspend and critical sections
Old: if the timer thread gets a <suspend> message while we're in
a critical section, it sets a "suspend_request" flag.
The timer then periodically (10X/sec) checks whether
suspend_request is set and we're no longer in a critical section;
if so it suspends the worker thread.

Problem (pointed out by Oliver): this doesn't work if the worker thread
is almost always in a critical section
(as is the case for GPU apps, which treat GPU kernels as critical sections).
The app never gets suspended.

New:
1) boinc_end_critical_section() checks suspend_request;
    if set, it calls suspend_activities()
2) On Unix, if suspend_activities() is called from the worker thread,
    it calls sleep() in a loop until the suspension is over.
    (Note: pthreads has no suspend/resume).
3) Add a mutex to protect the data structures shared between
    the timer and worker threads.

Oliver pointed out that
2013-06-05 15:22:39 -07:00
David Anderson ff261cb6df Condor interface: bug fixes; add request_gen script; add retire_batch command 2013-05-30 09:44:58 -07:00
David Anderson 8e2524f55f Unix build: Makefile changes for "make install", from Steffen Moeller
"make install" followed by make_project should now work
2013-05-20 15:19:13 -07:00
David Anderson f1c7b6a97d fix some Clang warnings; from Steffen Moeller 2013-05-20 12:58:52 -07:00
Eric J Korpela 7b8fae6b1e Fix for "make clean" not removing .a files in lib/ 2013-04-03 09:56:25 -07:00
Eric J Korpela 9b191c409a - Modifications to autoconf scripts for non-standard openssl installs 2013-03-05 14:17:54 +01:00
David Anderson caf56b8b6b - lib: change get_mac_address() to avoid sprintf(buf, "%s...", buf);
use strcat instead
- client: don't use get_mac_address() to create host CPIDs
    (we have plenty of other info to make them unique)
- storage stuff


svn path=/trunk/boinc/; revision=25269
2012-02-16 00:08:40 +00:00
David Anderson 57fc54ae53 - lib: move XML parse test program to its own file.
Note: XML_PARSER::parse_str() doesn't currently work right
    for something like <foo><a>xx</a></foo>.
    It should return "<a>xx</a>".
    TODO.


svn path=/trunk/boinc/; revision=24325
2011-10-03 21:43:34 +00:00
Rom Walton d4dd0ed53d lib: only build the static version of libboinc.
lib/
        Makefile.am

svn path=/trunk/boinc/; revision=24301
2011-09-27 16:34:31 +00:00
David Anderson 2fa6bc999e - lib: don't include thread.cpp;
not needed for server, and causes errors on some 64-bit Linux 


svn path=/trunk/boinc/; revision=24256
2011-09-22 06:09:26 +00:00
David Anderson f56020dd84 - lib: add generic interfaces for threads and thread synchronization
svn path=/trunk/boinc/; revision=24234
2011-09-19 05:48:43 +00:00
David Anderson 8ad9d7d98b - more code shuffling:
proc_control: controlling processes
    procinfo: enumerating and querying processes
    run_app_windows: launching apps as other users on Win


svn path=/trunk/boinc/; revision=24120
2011-09-02 18:23:13 +00:00
Charlie Fenton 5c02c6a01e lib, api: bring Xcode and make files into agreement
svn path=/trunk/boinc/; revision=24104
2011-09-01 09:02:54 +00:00
David Anderson 93735f7172 - client: XML-escape the contents of stderr files;
otherwise non-ASCII characters in client_state.xml
    make it invalid XML
- client: fix (I think) to scheduling logic.
    a job is preemptable if it's finished its time slice and
    Old: has checkpointed in last 10 sec
    New: has checkpointed since the end of the time slice


svn path=/trunk/boinc/; revision=23551
2011-05-17 00:31:41 +00:00
David Anderson 0ba3cc2d7b - client: shuffle code to move CONFIG and LOG_FLAGS
into lib/cc_config.h,
    in preparation for adding GUI RPCS


svn path=/trunk/boinc/; revision=23432
2011-04-25 03:18:26 +00:00
David Anderson 247413b291 - server/client: make a stripped-down OpenCL header file, lib/cl_boinc.h,
for the things that BOINC actually needs
    (fixes server compile problems)
- client: fix various compile errors in coproc_detect.cpp


svn path=/trunk/boinc/; revision=23310
2011-04-01 19:39:58 +00:00
David Anderson a0fd3445fc - wrapper: improve and bullet-proof the way we kill apps.
Win: enumerate all descendants, and kill them all TerminateProcess().
    Unix:
        send the main process a SIGTERM.
        Check once a sec for existence of descendants.
        if none, done
        If any still exist after 10 sec, kill all descendants
- wrapper fix bug in Win env var stuff
- scheduler: check for VBox version 3.2+ in app_plan()
    

svn path=/trunk/boinc/; revision=23085
2011-02-22 23:11:34 +00:00
David Anderson b418596cee - unix build: remove hardwired -ldl
svn path=/trunk/boinc/; revision=22860
2011-01-03 03:55:33 +00:00
David Anderson fac75370a8 - rename cal.h to cal_boinc.h to avoid name conflict
svn path=/trunk/boinc/; revision=22039
2010-07-22 20:08:33 +00:00
David Anderson fb851311e0 - server: various changes;
see http://boinc.berkeley.edu/trac/wiki/CreditNew

    Projects will need to update DB and recompile all back-end programs.

    Summary:
    - new way of computing credit
    - "reliable host" mechanism is per app version
    - "host punishment" mechanism is per app version
    - adjustment of wu.rsc_fpops_est provides the
        equivalent of per app version DCF
    - max jobs in progress is now per app
    - max jobs per RPC is now per app

    TODO:
    - reliable mechanism:
        - populate and use host_app_version.error_rate
        - populate host_app_version.turnaround
    - host punishment:
        - populate host_app_version.max_jobs_per_day
        - populate host_app_version.n_jobs_today
        - use app.max_jobs_per_day_init
    - job limits:
        - use app.max_jobs_in_progress, max_gpu_jobs_in_progress
        - use app.max_jobs_per_rpc
    - adjust wu.rsc_fpops_est
    - remove old credit stuff
        fpops_cumulative, credit_multiplier
        credit computation in scheduler

- AVERAGE class: use the Knuth algorithm (Wikipedia)


svn path=/trunk/boinc/; revision=21021
2010-03-29 22:28:20 +00:00
David Anderson 8062f21d59 - server credit stuff (partial checkin)
svn path=/trunk/boinc/; revision=20810
2010-03-09 04:15:10 +00:00
David Anderson 295d4b54ea - server: major improvements to locality scheduling from Einstein@home.
Triggering the work generator is now done via the DB
    instead of flat files.

    Since only E@h uses locality scheduling,
    I kept the DB changes in a separate file (db/schema_locality.sql).
    There's a new field in the workunit table,
    and that's a required update (in db_update.php)
- manager: compile fix


svn path=/trunk/boinc/; revision=20807
2010-03-05 22:55:16 +00:00
Bernd Machenschalk 994950d83d lib: add cal.h to install headers
svn path=/trunk/boinc/; revision=20245
2010-01-22 13:48:40 +00:00
David Anderson 62156200f4 - client and GUI RPC: add some plumbing for notices
svn path=/trunk/boinc/; revision=19973
2009-12-18 21:52:08 +00:00
David Anderson 67bc7dfc9b - unix: build fixes
svn path=/trunk/boinc/; revision=19755
2009-12-01 17:04:28 +00:00
David Anderson b29f920999 - Move URL-related code to a new file
- Remove stuff related to SOCKS version, since we only support 5

svn path=/trunk/boinc/; revision=19480
2009-11-05 18:02:51 +00:00
David Anderson fca2cb8016 - client: restore calDeviceGetInfo(), add its info to COPROC_ATI struct
(some plan class might need to know this).
    Code cleanup.

svn path=/trunk/boinc/; revision=19234
2009-10-02 22:58:03 +00:00
Eric J. Korpela e82aad226a Another build fix. This may break appication build if the apps depend upon
boinc_crypt.la to supply the CURL library names.


svn path=/trunk/boinc/; revision=18976
2009-09-01 22:30:56 +00:00
Eric J. Korpela 720fa9a3cb - libraries: Moved crypt.o out of libboinc and into libboinc_crypt.
Applications that need crypt.o will need to explicitly link
      libboinc_crypt.


svn path=/trunk/boinc/; revision=18595
2009-07-14 17:50:33 +00:00
David Anderson a71a03f698 - Mac install: fix things a better way
- install: don't install internal .h files
- scheduler: fix spurious "reached limit of 0 GPU tasks" message,
    slight code cleanup

svn path=/trunk/boinc/; revision=18480
2009-06-22 21:11:19 +00:00
David Anderson 9527cb6534 - install: don't install std_fixes.h or msg_queue.cpp
- remove some unused code
- scheduler: small code cleanup

svn path=/trunk/boinc/; revision=18465
2009-06-19 17:21:34 +00:00
David Anderson dfaf0023d4 - build system: don't install config.h
svn path=/trunk/boinc/; revision=18430
2009-06-16 19:28:08 +00:00