2004-06-09 19:09:16 +00:00
|
|
|
<?php
|
2004-01-01 04:12:08 +00:00
|
|
|
require_once("docutil.php");
|
2004-11-15 01:58:30 +00:00
|
|
|
page_head("Compiling BOINC client software yourself");
|
2004-01-01 04:12:08 +00:00
|
|
|
echo "
|
|
|
|
BOINC applications, and the BOINC core client, are native-mode programs,
|
|
|
|
so different versions are required for each platform
|
|
|
|
(a 'platform' is the combination of an operating
|
|
|
|
system and a processor type: e.g., Linux/IntelX86).
|
|
|
|
|
|
|
|
<p>
|
2004-12-10 00:57:20 +00:00
|
|
|
BOINC-based projects compile program versions for common platforms
|
2004-01-01 04:12:08 +00:00
|
|
|
(Windows/Intel, Linux/Intel, Mac OS/X. etc.),
|
2004-12-10 00:57:20 +00:00
|
|
|
and place them on its servers.
|
2004-01-01 04:12:08 +00:00
|
|
|
A participant downloads the core client for his platform
|
2004-12-10 00:57:20 +00:00
|
|
|
(assuming that platform is supported by the project).
|
2004-01-01 04:12:08 +00:00
|
|
|
When the core client requests work from the project's scheduling server,
|
2004-01-31 23:21:07 +00:00
|
|
|
the client tells the server its platform,
|
2004-12-10 00:57:20 +00:00
|
|
|
and the server instructs it to download the appropriate executables.
|
2004-01-01 04:12:08 +00:00
|
|
|
<p>
|
2004-02-03 01:04:40 +00:00
|
|
|
This addresses the needs of most BOINC participants,
|
2004-12-10 00:57:20 +00:00
|
|
|
but it's inadequate if:
|
2004-01-01 04:12:08 +00:00
|
|
|
<ul>
|
|
|
|
<li>
|
2004-12-10 00:57:20 +00:00
|
|
|
your computers have platforms not supported by the project;
|
2004-01-01 04:12:08 +00:00
|
|
|
<li>
|
2004-12-10 00:57:20 +00:00
|
|
|
for security reasons,
|
|
|
|
you want to only run executables you have compiled yourself;
|
2004-02-03 01:04:40 +00:00
|
|
|
<li>
|
2004-12-10 00:57:20 +00:00
|
|
|
you want to optimize applications for particular architectures.
|
2004-01-01 04:12:08 +00:00
|
|
|
</ul>
|
|
|
|
|
|
|
|
<p>
|
2004-12-10 00:57:20 +00:00
|
|
|
To handle these cases, BOINC lets you compile programs yourself
|
2004-01-01 04:12:08 +00:00
|
|
|
rather than downloading them from the project.
|
|
|
|
Here's how it works:
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>
|
2004-06-27 23:26:52 +00:00
|
|
|
<a href=community.php>Download</a> the source code for the BOINC core client
|
2004-03-02 03:46:04 +00:00
|
|
|
and the project's applications, and compile them on your computer
|
|
|
|
(instructions for compiling the core client are
|
|
|
|
<a href=build_client.php>here</a>).
|
|
|
|
Or download executables from a server of your choosing.
|
2004-01-01 04:12:08 +00:00
|
|
|
<li>
|
2004-01-31 23:21:07 +00:00
|
|
|
Run the core client and attach to the project.
|
|
|
|
This will create a 'project directory'
|
|
|
|
(whose name is the project URL) in the BOINC directory.
|
|
|
|
Exit the client.
|
2004-01-01 04:12:08 +00:00
|
|
|
<li>
|
2004-01-31 23:21:07 +00:00
|
|
|
Create a file <b>app_info.xml</b> in the project directory.
|
|
|
|
This file lists the applications you have compiled or downloaded.
|
|
|
|
It has the following form:
|
|
|
|
<pre>", htmlspecialchars("
|
|
|
|
<app_info>
|
|
|
|
<app>
|
|
|
|
<name>setiathome</name>
|
|
|
|
</app>
|
|
|
|
<file_info>
|
|
|
|
<name>setiathome_2.18_windows_intelx86.exe</name>
|
|
|
|
</file_info>
|
|
|
|
<app_version>
|
|
|
|
<app_name>setiathome</app_name>
|
|
|
|
<version_num>218</version_num>
|
|
|
|
<file_ref>
|
|
|
|
<file_name>setiathome_2.18_windows_intelx86.exe</file_name>
|
2004-02-09 05:11:05 +00:00
|
|
|
<main_program/>
|
2004-01-31 23:21:07 +00:00
|
|
|
</file_ref>
|
|
|
|
</app_version>
|
|
|
|
</app_info>
|
|
|
|
"), "</pre>
|
|
|
|
<li>
|
|
|
|
Run the core client again.
|
|
|
|
When it requests work from the scheduling server,
|
|
|
|
it will report its platform as 'anonymous',
|
2004-01-01 04:12:08 +00:00
|
|
|
and provides a list of the applications it has.
|
2004-01-31 23:21:07 +00:00
|
|
|
The server then sends whatever work is available for those applications.
|
2004-01-01 04:12:08 +00:00
|
|
|
</ul>
|
|
|
|
|
2004-01-31 23:21:07 +00:00
|
|
|
This model is possible only with projects that make their application
|
2004-01-01 04:12:08 +00:00
|
|
|
source code available.
|
2004-12-10 00:57:20 +00:00
|
|
|
|
|
|
|
<p>
|
|
|
|
You may want to check out the following email lists
|
|
|
|
(e.g. the port may already exist):
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<a href=http://www.ssl.berkeley.edu/mailman/listinfo/boinc_opt>boinc_opt@ssl.berkeley.edu</a>: discussion of porting and optimization of BOINC applications.
|
|
|
|
<li>
|
|
|
|
<a href=http://www.ssl.berkeley.edu/mailman/listinfo/boinc_dev>boinc_dev@ssl.berkeley.edu</a>: discussion of development and porting of BOINC software.
|
|
|
|
</ul>
|
2004-01-01 04:12:08 +00:00
|
|
|
<p>
|
|
|
|
";
|
|
|
|
page_tail();
|
|
|
|
?>
|