Title: Slackware 14.1 build issues Post by: Feline on June 24, 2015, 07:38:40 PM Building Fragmentarium (current) on a Slackware Linux 14.1 machine.
14.1 is Slack's last stable release. It is now ~20 months old - not exactly spring fresh, but not exactly pre-historic either. Code: [9:13] Sven [s171b58:~] > qmake --version Issues: 1) Code: [9:13] Sven [s171b58:~] > qmake-qt4 I've encountered this before - did really old systems distinguish the "new" qt4 version like this(?) For the benefit of future readers, it's easily faked by Code: [9:16] Sven [s171b58:~] > sudo ln -sf /usr/bin/qmake /usr/bin/qmake-qt4 Maybe the build script shouldn't just rely on this link? Ideally it should probably test what version qmake is and just use that if it's good? 2) Code: Fragmentarium/GUI/DisplayWidget.cpp:38:25: error: ‘OpenGL_Version_4_1’ is not a member of ‘QGLFormat’ Googling that finds claudeha's changes for Debian Wheezy that were just recently pulled into the main branch. Turns out his fixes work just fine if you simply extend them a little farther than 4.8.2 (to include 4.8.7). In other words: go here https://github.com/Syntopia/Fragmentarium/commit/c80923787970663efb070fc0ad7fb940a512d51d (https://github.com/Syntopia/Fragmentarium/commit/c80923787970663efb070fc0ad7fb940a512d51d) open your local source of Fragmentarium/GUI/DisplayWidget and in the three locations where it tests QT_VERSION_CHECK(4,8,2) change that to QT_VERSION_CHECK(4,8,7) (two occurences in the .cpp, one in the .h) I'm not comfortable syncing the whole shebang with github just to create a pull request to change those three digits -- could someone flow this into the main trunk? Thanks. 3) This now compiles fine and creates a folder Fragmentarium right inside Fragmentarium-master/Fragmentarium-Source/Build - Linux/. cd'ing into that folder and executing ./Fragmentarium fires it up and it shows a Mandelbulb and it all appears to work fine. However there is no such thing as a "make install". Or, more precisely, that part of the Makefile doesn't actually do anything. If I simply copy/move the freshly created folder somewhere else like cp ./Fragmentarium/ ~/ cd ./Fragmentarium/Fragmentarium the binary fires up just fine, but it fails to load any fragment: Code: Parse: /home/sven/[not found]/Historical 3D Fractals/Mandelbulb.frag Only if I cd ~/Fragmentarium ./Fragmentarium does it find the requisite paths (this is using the default include path that is set to Examples/Include; This is a bit awkward, since this precludes putting a link into /usr/bin and calling it from there. Or moving the whole folder to something like /usr/share or such. Is there a way to make Fragmentarium consider paths relative to the location of the binary, rather than relative to the location of the caller? I worked around this like this: Code: [10:06] Sven [s171b58:~] > cat /usr/bin/Fragmentarium but that seems like a kludge. Title: Re: Slackware 14.1 build issues Post by: 3dickulus on June 25, 2015, 08:05:21 AM try...
Install Qt5 dev package and libs recompile use qmake-qt5 should not be a problem when run from desktop when executable is in Fragmentarium folder also Fragmentarium will look in the same folder as the .frag file first for support files otherwise found in the ./Examples/Include/ folder eg: when you render a hires image and select the "Auto Save" checkbox it will create a folder with files like... Reckoning.png Files/ 3DKn-1.0.1.frag BufferShader-1.0.1.frag DE-Kn2.frag MathUtils.frag Reckoning.frag ...so when you load Reckoning.frag from this location it will get the right support frags, there may also be an issue on some un*x based systems because of the space in the folder name, I have only encountered this wrt loading the program preferences settings from the last session at startup. Title: Re: Slackware 14.1 build issues Post by: Syntopia on June 25, 2015, 10:32:07 PM I just tried building Fragmentarium on Kubuntu 14.04 (in VirtualBox). You are right about the QT_VERSION_CHECK thing, which I have updated now, but otherwise the install instructions at http://syntopia.github.io/Fragmentarium/get.html should work - at least in Ubuntu: "qmake-qt4" is still recognized. Qt5 is however the preferred version now. Amazingly, Fragmentarium was actually able to run using the 'gallium 0.4 on llvmpipe' software rasterizer in VirtualBox - at ~1FPS for the Mandelbulb. |