BURP porting


Advanced search

Message boards : Client : BURP porting

1 · 2 · 3 · Next
Author Message
Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 4971 - Posted: 11 Mar 2007, 12:15:25 UTC

I try to compile BURP and blender on MacOS Intel.
Blender can include a lot of additional packages. Is there a list of needed packages for burp blender available so I have not to compile every aditional package too ?

Is anonymous platform enabled and is it posible to attach with this binary to the project,?
Is it OK, to distribute this binary to the community ?

Profile Janus
Volunteer moderator
Project administrator
Avatar
Send message
Joined: 16 Jun 04
Posts: 4492
Credit: 2,094,806
RAC: 0
Message 4972 - Posted: 12 Mar 2007, 0:12:32 UTC - in response to Message 4971.

I try to compile BURP and blender on MacOS Intel.
Blender can include a lot of additional packages. Is there a list of needed packages for burp blender available so I have not to compile every aditional package too ?

Are we talking about libraries? If so, the BURP patched Blender uses the same set of libraries as tbe official Blender version does, although it may be possible to cut down on some of the libraries for the game engine etc.

Is anonymous platform enabled and is it posible to attach with this binary to the project,?

Yes. If you get any issues with it please let me know as you may very well be the first one to actually test it.

Is it OK, to distribute this binary to the community ?

Yes indeed, as long as you clearly state that it isn\'t an official build (ie. it isn\'t compiled by neither Blender Foundation nor BURP) and you release any changes you had to make to the source to get it to work.

Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 4975 - Posted: 12 Mar 2007, 10:57:42 UTC - in response to Message 4972.
Last modified: 12 Mar 2007, 10:58:22 UTC

I try to compile BURP and blender on MacOS Intel.
Blender can include a lot of additional packages. Is there a list of needed packages for burp blender available so I have not to compile every aditional package too ?

Are we talking about libraries? If so, the BURP patched Blender uses the same set of libraries as tbe official Blender version does, although it may be possible to cut down on some of the libraries for the game engine etc.

I meaned also the lot of additional packages, which are listed in the install file of blender.
The install file says \"Here are some links to external packages you may or may not need: \"python, libjpeg, libpng, zlib, ode, openal, sdl, smpeg, fmod, mozilla, nspr, glut, mesa (if OpenGL is not installed), quicktime\".
For the translations to other languages than English : gettext, freetype2, FTGL

Is it OK, to distribute this binary to the community ?

Yes indeed, as long as you clearly state that it isn\'t an official build (ie. it isn\'t compiled by neither Blender Foundation nor BURP) and you release any changes you had to make to the source to get it to work.

Is it also OK, to make the burp application binaries public an let them crunch at burp ? - If I do the porting work, I would also make the binaries available for the other users...

Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 4979 - Posted: 12 Mar 2007, 16:21:56 UTC

I was able compile a blender application, or better say the make runs thought withount no errors. But I did not find any blender executable...

I have also compiled the modified upper_case. But I am not shure, if I understand it right. Is uppercase the wrapper for the blender executable ? - I have not found any calls in the uppercase source for the blender executable.

Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 4982 - Posted: 12 Mar 2007, 17:52:07 UTC - in response to Message 4979.

I was able compile a blender application, or better say the make runs thought withount no errors. But I did not find any blender executable...

Oh sorry, my fault, ran into some linking problems. But it is solved now.


I have also compiled the modified upper_case. But I am not shure, if I understand it right. Is uppercase the wrapper for the blender executable ? - I have not found any calls in the uppercase source for the blender executable.


I have looked into the windows package. There is the blender executable and a blenderplayer. - Do I need the blenderplayer on MacOS, too ?

Profile Janus
Volunteer moderator
Project administrator
Avatar
Send message
Joined: 16 Jun 04
Posts: 4492
Credit: 2,094,806
RAC: 0
Message 4983 - Posted: 12 Mar 2007, 21:35:02 UTC - in response to Message 4982.
Last modified: 12 Mar 2007, 21:38:04 UTC

Is it also OK, to make the burp application binaries public an let them crunch at burp ? - If I do the porting work, I would also make the binaries available for the other users...

Yes, as stated before - as long as your clearly say that it isn\'t an official build and you release any changes that you had to do.

I have also compiled the modified upper_case. But I am not shure, if I understand it right. Is uppercase the wrapper for the blender executable ? - I have not found any calls in the uppercase source for the blender executable.

Yes, the client-side code is a wrapper for Blender. Or really, it\'s a wrapper for any renderer that acts in a specific way so that it works with BURP. That\'s also why you don\'t see the name \"Blender\" anywhere inside the wrapper - it\'s universal.

I have looked into the windows package. There is the blender executable and a blenderplayer. - Do I need the blenderplayer on MacOS, too ?

No.

Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 4984 - Posted: 12 Mar 2007, 21:50:48 UTC

I have also complied the boinc wrapper, butthe application is crashing at each start. The output from the stderr :

Can\'t set up shared mem: -1
Communication with BOINC CC initialized
Detected input arg: argv[0] is ./blender_4.42_i686-apple-darwin
Total number of input args is: argc 1
Retrieving application initialization data from BOINC
Parsing argv[0] path for filename (basename)...
1:
Looking up executable archive:
Executable file is in: blender_4.42_i686-apple-darwin.zip
Looking up input file:
Input file is: in
Looking up output file:
Output file is: out.zip
SIGBUS: bus error
Crashed executable name: blender_4.42_i686-apple-darwin
Machine type Intel 80486
System version: Macintosh OS 10.4.8 build 8L2127
Mon Mar 12 20:44:45 2007
Stack frame backtrace:
# Flags Frame Addr Caller PC Return Address Symbol
=== === ========== ========== =====================
1 -P- 0xbfffd468 0x00000000
2 --- 0xbfffd4a8 0x00002ca1 Z14reportProgressd:F(0,1) + 0x3b
3 --- 0xbffffb98 0x00003589 main:F(0,13) + 0x355
4 --- 0xbffffbd8 0x000027fa start:F(0,1) + 0xe4
5 --- 0xbffffbf0 0x00002715 start + 0x29
6 FP- 0x00000000 0x00000001

Thread number 1: Stack frame backtrace:
# Flags Frame Addr Caller PC Return Address Symbol
=== === ========== ========== =====================
1 F-- 0x00000000 0x90037697 mach_wait_until + 0x7
2 --- 0xb0080728 0x900374de nanosleep + 0x18e
3 --- 0xb0080768 0x90037319 sleep + 0x79
4 --- 0xb00807a8 0x0000c458
5 --- 0xb0080f38 0x0000548a Z12timer_threadPv:F(0,18) + 0x66
6 --- 0xb0080fe8 0x90023d87 _pthread_body + 0x54
7 FP- 0x00000000 0x00000000

Exiting...

Janus, have you an idea, whats going wrong here ?

Profile Janus
Volunteer moderator
Project administrator
Avatar
Send message
Joined: 16 Jun 04
Posts: 4492
Credit: 2,094,806
RAC: 0
Message 4988 - Posted: 13 Mar 2007, 10:10:00 UTC - in response to Message 4984.
Last modified: 13 Mar 2007, 10:11:07 UTC

I have also complied the boinc wrapper, butthe application is crashing at each start. The output from the stderr :

Can\'t set up shared mem: -1
Janus, have you an idea, whats going wrong here ?

Yes, there\'s a bug in BOINC that causes applications to fail if they report progress while not running alongside the BOINC core. This has been fixed several times, but the bug keeps reappearing every few versions for some reason.

To circumvent this while testing you should comment out the line in reportProgress() that says:
boinc_report_app_status(getTimeSinceStart(), getTimeAtCheckpoint(), fractionDone);
Remember to uncomment it when you make the final version which is to run with the BOINC core (otherwise it will seem as if there is no progress in the BOINC manager).

Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 4994 - Posted: 13 Mar 2007, 22:08:03 UTC

I get it now to work. If I issue the blender applications in the stanalone mode, it would start blender at the GUI. Am I right, that this is OK ?
But, I am not shure what the casue of the crash was. Your fix had no effect, but a recompile of the application without any changes did it.

Should the application named as \"blender\" with the version 4.42 in the app_info.xml ?

Profile Janus
Volunteer moderator
Project administrator
Avatar
Send message
Joined: 16 Jun 04
Posts: 4492
Credit: 2,094,806
RAC: 0
Message 4998 - Posted: 14 Mar 2007, 8:25:08 UTC - in response to Message 4994.

I get it now to work. If I issue the blender applications in the stanalone mode, it would start blender at the GUI. Am I right, that this is OK ?

Yup, saving the default cube somewhere on your harddrive and running
blender -b path/to/cube/cube.blend -f 1 0 0 1 1
is an easy way to test if everything worked as expected. This should produce a file to your current directory: out.png.

Should the application named as \"blender\" with the version 4.42 in the app_info.xml ?

The compiled client-side code (upper_case replacement) should be named
blender_4.42_powerpc-apple-darwin if you are on Mac OS X 10.3 or later running on Motorola PowerPC or
blender_4.42_i686-apple-darwin if you are on a Mac OS 10.4 or later running on Intel

In app_info.xml::app_info::app_version::version_num no \".\" are allowed so the version there would be 442.

The Blender application with the BURP patchset applied must be packed in a special way in a zip-file named X.zip (where X is whatever name you chose for the application)- for instance \"blender_4.42_powerpc-apple-darwin.zip\".
Have a look at the .zip distributed for windows for the internal file and directory structure.

Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 5005 - Posted: 14 Mar 2007, 19:03:47 UTC

Thank you, Janus !
It works now in the standalone mode. I hope there would be some WUs send out to crunch, so I could test the rest.

Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 5042 - Posted: 23 Mar 2007, 13:42:47 UTC

With BOINC i get now a signal 11 from the application, but in standalone mode, blender starts successfull.
Do you have any idea, what is going wrong or how can I debug this.

Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 5044 - Posted: 23 Mar 2007, 14:58:46 UTC - in response to Message 5042.

With BOINC i get now a signal 11 from the application, but in standalone mode, blender starts successfull.
Do you have any idea, what is going wrong or how can I debug this.

Looks better now. Did not know where the problem was.
Now, I get the application in the running state, without a crash. But, the application is shown as running in the BOINC manager, counts to 0.01 % progress, and did not use the CPU (0% CPU). - I have compiled it with the BOINC client 5.4.11 - could this be problematic ?

Profile Janus
Volunteer moderator
Project administrator
Avatar
Send message
Joined: 16 Jun 04
Posts: 4492
Credit: 2,094,806
RAC: 0
Message 5056 - Posted: 23 Mar 2007, 18:12:59 UTC

At 0.01% the data is unpacked. Failure to unpack the data will cause the program to... act weirdly.

Make sure that you have a Mac-compatible version of the info-zip executables that are distributed along with the BURP client. You can find these here.
You will probably have to name them linux_zip and linux_unzip (and include them in the anonymous platform describtion file) since that is what the glue-code assumes they are named if you aren\'t compiling on windows.

Also there\'s a stdout and stderr file in the slot-directory that you can check out for more debug information while running the application.

Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 5062 - Posted: 23 Mar 2007, 19:55:56 UTC - in response to Message 5056.

You will probably have to name them linux_zip and linux_unzip (and include them in the anonymous platform describtion file) since that is what the glue-code assumes they are named if you aren\'t compiling on windows.

How do I have to reference this helper applications in the app_info.xml ? - Do you have eventualy a working example ?

Profile Janus
Volunteer moderator
Project administrator
Avatar
Send message
Joined: 16 Jun 04
Posts: 4492
Credit: 2,094,806
RAC: 0
Message 5065 - Posted: 23 Mar 2007, 21:40:47 UTC - in response to Message 5062.

You will probably have to name them linux_zip and linux_unzip (and include them in the anonymous platform describtion file) since that is what the glue-code assumes they are named if you aren\'t compiling on windows.

How do I have to reference this helper applications in the app_info.xml ? - Do you have eventualy a working example ?

Sorry, I never tried to make an anonymous platform myself, I only helped develop the system a couple of years ago, so this is from my memory:
1) Add an app_info::file_info node for each file (with name and executable subnodes)
2) Refference these files using app_info::app_version::file_ref nodes carrying inside them the app_info::app_version::file_ref::file_name from the name-nodes from step 1.

I hope that this information can at least guide you in the right direction.

Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 5079 - Posted: 24 Mar 2007, 10:52:17 UTC

Thanks. I have now a working app_info.xml.
But the zip file with the executables would not been found now.

If I make a link from the slots directory to the projects directory, it would find it and unpack it. But I get now some errors at unpacking :
UnZip is: ../../projects/burp.boinc.dk/linux_unzip
Decompressing executables...
checkdir error: blender_4.42_i686-apple-darwin exists but is not directory
unable to process blender_4.42_i686-apple-darwin/.

Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 5080 - Posted: 24 Mar 2007, 10:58:31 UTC
Last modified: 24 Mar 2007, 10:59:37 UTC

Looks better now. A \"zip -j blender_4.42_i686-apple-darwin.zip ./blender ./blender.app\" made a right zip file. So with the link in the slots directory it crunchs now.
I will not crunch some WUs to ensure, that the results are valid.

I have used the BOINC API 5.4.11. This is a little bit problematic, because CPU throtteling was included in 5.8.x. So I will recompile it with the 5.8.x API...

Dotsch
Send message
Joined: 25 Jan 07
Posts: 53
Credit: 98
RAC: 0
Message 5082 - Posted: 24 Mar 2007, 13:13:21 UTC
Last modified: 24 Mar 2007, 13:14:10 UTC

It works !

The trick was to include the zip file in the app_info.xml, that the BOINC client reference the file correctly. My app_info.xml :

<app_info> <app> <name>blender</name> </app> <file_info> <name>blender_4.42_i686-apple-darwin</name> <executable/> </file_info> <file_info> <name>linux_unzip</name> <executable/> </file_info> <file_info> <name>linux_zip</name> <executable/> </file_info> <file_info> <name>blender_4.42_i686-apple-darwin.zip</name> </file_info> <app_version> <app_name>blender</app_name> <version_num>442</version_num> <file_ref> <file_name>blender_4.42_i686-apple-darwin</file_name> <main_program/> </file_ref> <file_ref> <file_name>linux_unzip</file_name> </file_ref> <file_ref> <file_name>linux_zip</file_name> </file_ref> <file_ref> <file_name>blender_4.42_i686-apple-darwin.zip</file_name> </file_ref> </app_version> </app_info>



In the mean time, I have three validated results.

I think it looks OK now. I will try to recompile it with the recent BOINC client. Is it OK, that if it works successfull with the new BOINC client, to put it on my webserver for a public download. - Or, janus, will you host the binaries ?

Profile Janus
Volunteer moderator
Project administrator
Avatar
Send message
Joined: 16 Jun 04
Posts: 4492
Credit: 2,094,806
RAC: 0
Message 5083 - Posted: 24 Mar 2007, 14:16:38 UTC - in response to Message 5082.

It works !

Great to see that you got it working!

Is it OK, that if it works successfull with the new BOINC client, to put it on my webserver for a public download. - Or, janus, will you host the binaries ?

Feel free to host it on your webserver. I am sure that several people will be willing to help you host it if you ask the community for help.

1 · 2 · 3 · Next
Post to thread

Message boards : Client : BURP porting