Forum

Welcome, Guest
Username: Password: Remember me
Valuable feedback is priceless. Plus, you can get some extra Render Points :)

TOPIC: [PAID] build for Macintosh OS X Mavericks

[PAID] build for Macintosh OS X Mavericks 3 years 9 months ago #28


  • Posts:397 Thank you received: 69
  • blending software ideas
  • melon's Avatar
  • melon
  • PumpOperator
  • OFFLINE
  • Karma: 33
Hi,

This should be pretty easy task to accomplish :)

There are three main section of the service:
- Blender add-on (Python script)
- Separate, Qt/C++ RayPump client, for handling data stream;
- online GPU Render Farm software, that communicates with RP Client;

1. The problem:

RayPump Client is independent of Blender, self running application, written in Qt. It is by design multi-platform, works on Windows, Linux and Mac OS. Unfortunately, there are some issues with the latest Mac OS X (Mavericks).

Since I don't have a Mac computer (and frankly - much of time), I'd be happy if someone smart could help me out.

2. The task:

What we need is a build of the RayPump Client (Release Pack for Mac, here's the current version) that works with the latest Mavericks.

3. Tools involved:

- Qt with Qt Creator;
- Git (on GitHub) - the source code of current RayPump Client is here;
- macdeployqt tool
- ...

4. Results:

The build that works on out-of-the-box Macintosh OS X Mavericks

5. The payment:

Despite the undying glory and news spreading on the RayPump channels, the person who deliversworking build will be rewarded with Render Points - a virtual currency that allows to run Pro jobs on the RayPump service.

Render Points have the real value - 1 RP = 0.01 EUR (so, one eurocent).
The price is negotiable, but it should be few thousands of Render Points.

f you are ready to try, please post here first.
Team work, and knowledge exchange is much appreciated - every person that will bring something useful, will be rewarded with Render Points!

Thanks in advance!
Last Edit: 3 years 9 months ago by melon.
The administrator has disabled public write access.

[PAID] build for Macintosh OS X Mavericks 3 years 9 months ago #33


  • Posts:8 Thank you received: 2
  • clavarreda's Avatar
  • clavarreda
  • New RayPumper
  • OFFLINE
  • Karma: 3
you have problems with the forum ? I cannot post a message containing some code about the application, so I will try editing this post adding my message content in pieces

I have a mac with mavericks and built the application with qt 5.1.1

Inside qt creator the application worked fine without any changes, so maybe the version you used has some bugs. I statically linked the libraries so the file size is 64mb so I guess you really need a dynamically linked file.

I don't have experience developing and making qt installers but if you could give me more details I could make the application as you require.

I changed main.cpp and put the following lines at the very beginning to solve a font issue with mavericks
ifdef Q_OS_MACX
	if ( QSysInfo::MacintoshVersion > QSysInfo::MV_10_8 ) {
            // fix Mac OS X 10.9 (mavericks) font issue
QFont::ins ertSubstitution (".Lucida Grande UI", "Lucida Grande"); // remove the blank spaces in the method name
	}
endif

after that I added the following lines before Application a(argc, argv); to load the libraries statically linked instead the libraries found inside the qt installation directory to solve a plugin loading problem
   QDir dir(argv[0]);  // e.g. appdir/Contents/MacOS/appname
   dir.cdUp();
   dir.cdUp();
   dir.cd("PlugIns");  // e.g. appdir/Contents/PlugIns
   QCoreApplication::setLibraryPaths(QStringList(dir.absolutePath()));
   printf("after change, libraryPaths=(%s)\n", QCoreApplication::libraryPaths().join(",").toUtf8().data());

I hope this info could be helpful to you
Last Edit: 3 years 9 months ago by clavarreda.
The administrator has disabled public write access.
The following user(s) said Thank You: shibata

[PAID] build for Macintosh OS X Mavericks 3 years 9 months ago #34


  • Posts:15 Thank you received: 5
  • shibata's Avatar
  • shibata
  • New RayPumper
  • OFFLINE
  • Karma: 1
That's nice :) . But... Is your Qt patched or self-compiled? As far as I know, default Qt creator uses dynamic libraries only (unless configured to create static libs before compilation). It would be better to fix the problem you had with dynamic libraries instead of rebuilding Qt for Mac.

EDIT:
I just re-read your post, it looks like you are using the dynamic libraries copied to the PlugIns directory and not static libraries. Are these the 5.1.1 libraries? The problem is probably an incompatibility with the Qt version installed in Mac, which one is it?
Last Edit: 3 years 9 months ago by shibata.
The administrator has disabled public write access.

[PAID] build for Macintosh OS X Mavericks 3 years 9 months ago #35


  • Posts:8 Thank you received: 2
  • clavarreda's Avatar
  • clavarreda
  • New RayPumper
  • OFFLINE
  • Karma: 3
Nop, it's a stock qt 5.1.1 installation.

I modified the app and copied the frameworks and plugins inside the application. After that I ran some commands to change the location of the libraries so the application looks for them in its working directory and after that I ran the application on another mac without qt to verify that it would run without problems and it worked perfectly.

The file size was too big but I deleted the debug files of the frameworks and the file size now is right.

Could you test the application ?
Attachments:
The administrator has disabled public write access.

[PAID] build for Macintosh OS X Mavericks 3 years 9 months ago #36


  • Posts:15 Thank you received: 5
  • shibata's Avatar
  • shibata
  • New RayPumper
  • OFFLINE
  • Karma: 1
I don't have a Mac to test, I was just taking a look at what you did. The problem was probably the Qt version melon used; as you said, it worked fine without any changes, using the libraries from Qt 5.1.1... I have never had a Mac and know very few about its inner workings, so sorry if I'm asking too much ;) , but does it have Qt in some package manager (Mac Store or something so) or does it have to be downloaded separately? If it has Qt in a package manager, it would be nice to know if RayPump runs using the official version or we should include Qt 5.1.1 libraries in the Mac package.
Last Edit: 3 years 9 months ago by shibata.
The administrator has disabled public write access.

[PAID] build for Macintosh OS X Mavericks 3 years 9 months ago #37


  • Posts:8 Thank you received: 2
  • clavarreda's Avatar
  • clavarreda
  • New RayPumper
  • OFFLINE
  • Karma: 3
No problem.

I have to download the Qt sdk separately from the Qt site and there is no Qt download from the app store so the libraries should be included in the Mac package.

As I said before, I tried to run the application on another mac with mavericks without Qt and it ran perfectly.

I'm attaching the modified file and another file with the commands I used to include the libraries and modify the paths of the libraries inside the package

Edited: I had to rename main.cpp for uploading it to the forum
Attachments:
Last Edit: 3 years 9 months ago by clavarreda.
The administrator has disabled public write access.
The following user(s) said Thank You: melon

[PAID] build for Macintosh OS X Mavericks 3 years 9 months ago #38


  • Posts:15 Thank you received: 5
  • shibata's Avatar
  • shibata
  • New RayPumper
  • OFFLINE
  • Karma: 1
Great, I read the bug report about the fonts issue and your update should be added to the repository. Are you a programmer? You could join the github repository and help development :) . If not, I can push your changes to github.
The administrator has disabled public write access.
The following user(s) said Thank You: melon

[PAID] build for Macintosh OS X Mavericks 3 years 9 months ago #39


  • Posts:8 Thank you received: 2
  • clavarreda's Avatar
  • clavarreda
  • New RayPumper
  • OFFLINE
  • Karma: 3
Not a Qt programmer but Java programmer. I was just expecting the fix for mavericks but I saw no one was up to do it, so I thought I would get my hands a bit dirty.

Push my changes please, thanks.
The administrator has disabled public write access.

[PAID] build for Macintosh OS X Mavericks 3 years 9 months ago #40


  • Posts:397 Thank you received: 69
  • blending software ideas
  • melon's Avatar
  • melon
  • PumpOperator
  • OFFLINE
  • Karma: 33
Hey, this is great news!

I'll spread the news to the Mac users to test this out, but seem that we'll have RayPump on Mavericks very soon (if not already :) )

Thank you both for your effort.

About the code post issues on forum: I'm struggling with security issues (I'm not much of the website designer and administrator), thus some actions/input can be blocked by security tools that I have to tune.

About the tips for mac development: I'm not sure if you've discovered that already, but Qt SDK provides a macdeployqt too, that should take care of releasing application together with all the required libraries.

Tiago, I you could add that to your repository? I hope to merge your branch to master this weekend. :)
Last Edit: 3 years 9 months ago by melon.
The administrator has disabled public write access.

[PAID] build for Macintosh OS X Mavericks 3 years 9 months ago #52


  • Posts:8 Thank you received: 2
  • clavarreda's Avatar
  • clavarreda
  • New RayPumper
  • OFFLINE
  • Karma: 3
melon wrote:

About the tips for mac development: I'm not sure if you've discovered that already, but Qt SDK provides a macdeployqt too, that should take care of releasing application together with all the required libraries.

Yeah, I read about that but sincerely I wasn't able to make it work. Maybe now that I understand how the package should linked I wil understand the macdeployqt tool
The administrator has disabled public write access.

[PAID] build for Macintosh OS X Mavericks 3 years 9 months ago #66


  • Posts:397 Thank you received: 69
  • blending software ideas
  • melon's Avatar
  • melon
  • PumpOperator
  • OFFLINE
  • Karma: 33
From my experience (virtualized Mac, booo:( ) it is as simple as getting into the terminal and type:
macdeployqt RayPump.app

(getting to the right directory first, of course)

That changes the RayPump application size significantly, since Mac's 'icon application' is and .app folder really, that contains all the required libraries now.
Such prepared application should work on any 64-bit inter Mac. That is what I've done before, worked fine (except for Mavericks, probably because I've used Mountain Lion)


BTW. Guy at the blenderartists forum reports some problems with write access. Could you check that out? :) Please? :)
The administrator has disabled public write access.

[PAID] build for Macintosh OS X Mavericks 3 years 9 months ago #67


  • Posts:8 Thank you received: 2
  • clavarreda's Avatar
  • clavarreda
  • New RayPumper
  • OFFLINE
  • Karma: 3
I will try that. Thanks

About the buffer directory not writable, I will need the output of the client, so the affected user should run the client from a terminal. Assuming he is in the directory where the client is stored:
./RayPump.app/Contents/MacOS/RayPump
The administrator has disabled public write access.

Service maintenance

SERVICE IS OFFLINE

 

Forum actions

Users online

We have 156 guests and no members online