Logo by AGUS - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Visit us on facebook
 
*
Welcome, Guest. Please login or register. April 20, 2024, 05:23:28 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Compilation problems on trunk and 1.16  (Read 1108 times)
0 Members and 1 Guest are viewing this topic.
Herk
Forums Newbie
*
Posts: 1


« on: August 24, 2013, 03:05:22 AM »

Greetings,
I had a few problems when trying to compile mandelbulber from sources, both from the latest svn trunk (360) and the 1.16 release. They're pretty easily fixed though. Below is a patch that fixes them, but for the second problem below, I'm not sure it's the correct solution, unless the comment about subdir.mk beeing automatically generated is no longer valid.


Code:
Index: makefiles/src/subdir.mk
===================================================================
--- makefiles/src/subdir.mk (revision 360)
+++ makefiles/src/subdir.mk (working copy)
@@ -16,6 +16,7 @@
 ../src/image.cpp \
 ../src/interface.cpp \
 ../src/morph.cpp \
+../src/netrender.cpp \
 ../src/primitives.cpp \
 ../src/settings.cpp \
 ../src/shaders.cpp \
@@ -36,6 +37,7 @@
 ./src/image.o \
 ./src/interface.o \
 ./src/morph.o \
+./src/netrender.o \
 ./src/primitives.o \
 ./src/settings.o \
 ./src/shaders.o \
@@ -56,6 +58,7 @@
 ./src/image.d \
 ./src/interface.d \
 ./src/morph.d \
+./src/netrender.d \
 ./src/primitives.d \
 ./src/settings.d \
 ./src/shaders.d \
Index: src/texture.cpp
===================================================================
--- src/texture.cpp (revision 360)
+++ src/texture.cpp (working copy)
@@ -5,6 +5,7 @@
  *      Author: krzysztof
  */
 #include <stdio.h>
+#include <cstring>
 #include "texture.hpp"
 #include "files.h"
 
Index: src/timeline.cpp
===================================================================
--- src/timeline.cpp (revision 360)
+++ src/timeline.cpp (working copy)
@@ -6,7 +6,7 @@
  */
 
 #include <cstdlib>
-
+#include <cstring>
 #include "timeline.hpp"
 #include "files.h"
 #include "interface.h"

The patch fixes the following problems:

1) Missing #include <cstring>
There is a missing include of <cstring> in texture.cpp and timeline.cpp (or .hpp). Without it, these files wont compile for me due to "definition of memset was not declared in this scope".

Code:
Building file: ../src/texture.cpp
Invoking: GCC C++ Compiler
g++ -O3 -march=native -mfpmath=387,sse -ffast-math -Wall -c -fmessage-length=0 `pkg-config --cflags gtk+-2.0 gthread-2.0;` -MMD -MP -MF"src/texture.d" -MT"src/texture.d" -o "src/texture.o" "../src/texture.cpp"
../src/texture.cpp: In constructor ‘cTexture::cTexture(const char*)’:
../src/texture.cpp:56:42: error: ‘memset’ was not declared in this scope
   memset(bitmap,255,sizeof(sRGB8)*100*100);
                                          ^
../src/texture.cpp: In constructor ‘cTexture::cTexture()’:
../src/texture.cpp:66:41: error: ‘memset’ was not declared in this scope
  memset(bitmap,255,sizeof(sRGB8)*100*100);
                                         ^
make: *** [src/texture.o] Error 1

2) Undefined reference to netRender
This is only a problem on trunk, not on the 1.16 release.

I get the error message below, "undefined reference to netRender". It seems like netrender.c/netrender.d/netrender.cpp is no longer part of CPP_SRCS, OBJS and CPP_DEPS in $SVNROOT/makefiles/src/subdir.mk (it is in the 1.16 release). Adding it to the variables defined in subdir.mk solves the problem and everything compiles fine. That file is apparently automatically generated, and I have no clue where the proper place to fix it is though, unless these files no longer are automatically generated.

Code:
<snip>
Building target: mandelbulber
Invoking: GCC C++ Linker
g++ -o"mandelbulber" -L/usr/lib/x86_64-linux-gnu/  ./src/Render3D.o ./src/algebra.o ./src/callbacks.o ./src/cimage.o ./src/cl_support.o ./src/common_math.o ./src/database.o ./src/files.o ./src/fractal.o ./src/image.o ./src/interface.o ./src/morph.o ./src/primitives.o ./src/settings.o ./src/shaders.o ./src/texture.o ./src/timeline.o ./src/undo.o   -lpng -ljpeg  `pkg-config --libs gtk+-2.0 gthread-2.0`
./src/Render3D.o: In function `Render(sParamRender, cImage*, _GtkWidget*)':
Render3D.cpp:(.text+0x412e): undefined reference to `netRender'
Render3D.cpp:(.text+0x4226): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
Render3D.cpp:(.text+0x4240): undefined reference to `netRender'
Render3D.cpp:(.text+0x4de5): undefined reference to `netRender'
Render3D.cpp:(.text+0x4e27): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
Render3D.cpp:(.text+0x4e2e): undefined reference to `netRender'
Render3D.cpp:(.text+0x5d1c): undefined reference to `netRender'
Render3D.cpp:(.text+0x66d6): undefined reference to `netRender'
Render3D.cpp:(.text+0x66f8): undefined reference to `CNetRender::receiveDataFromServer(char*)'
Render3D.cpp:(.text+0x6763): undefined reference to `netRender'
Render3D.cpp:(.text+0x6784): undefined reference to `netRender'
Render3D.cpp:(.text+0x6823): undefined reference to `netRender'
Render3D.cpp:(.text+0x6868): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
Render3D.cpp:(.text+0x686f): undefined reference to `netRender'
Render3D.cpp:(.text+0x68a3): undefined reference to `netRender'
Render3D.cpp:(.text+0x68c7): undefined reference to `CNetRender::receiveDataFromClient(char*, int, int)'
Render3D.cpp:(.text+0x68f1): undefined reference to `netRender'
Render3D.cpp:(.text+0x68f6): undefined reference to `CNetRender::GetData(void*)'
Render3D.cpp:(.text+0x6a61): undefined reference to `netRender'
Render3D.cpp:(.text+0x6d5e): undefined reference to `netRender'
Render3D.cpp:(.text+0x6de1): undefined reference to `netRender'
Render3D.cpp:(.text+0x6e17): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
Render3D.cpp:(.text+0x6e1e): undefined reference to `netRender'
Render3D.cpp:(.text+0x6e6b): undefined reference to `netRender'
Render3D.cpp:(.text+0x6eb7): undefined reference to `netRender'
Render3D.cpp:(.text+0x7064): undefined reference to `CNetRender::receiveDataFromServer(char*)'
Render3D.cpp:(.text+0x70d2): undefined reference to `netRender'
Render3D.cpp:(.text+0x70e0): undefined reference to `CNetRender::sendDataToServer(void*, unsigned long, char*)'
Render3D.cpp:(.text+0x7104): undefined reference to `netRender'
Render3D.cpp:(.text+0x7169): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
Render3D.cpp:(.text+0x7170): undefined reference to `netRender'
Render3D.cpp:(.text+0x71f1): undefined reference to `netRender'
Render3D.cpp:(.text+0x71f9): undefined reference to `CNetRender::GetData(void*)'
Render3D.cpp:(.text+0x7218): undefined reference to `netRender'
Render3D.cpp:(.text+0x7225): undefined reference to `CNetRender::GetData(void*)'
Render3D.cpp:(.text+0x73c3): undefined reference to `netRender'
Render3D.cpp:(.text+0x73cf): undefined reference to `CNetRender::sendDataToServer(void*, unsigned long, char*)'
./src/Render3D.o: In function `MainRender()':
Render3D.cpp:(.text+0x8ddd): undefined reference to `netRender'
Render3D.cpp:(.text+0x9075): undefined reference to `netRender'
./src/Render3D.o: In function `ThumbnailRender2(sParamRender, cImage*)':
Render3D.cpp:(.text+0xddf2): undefined reference to `netRender'
Render3D.cpp:(.text+0xded8): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
Render3D.cpp:(.text+0xdef2): undefined reference to `netRender'
Render3D.cpp:(.text+0xe97f): undefined reference to `netRender'
Render3D.cpp:(.text+0xe9b5): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
Render3D.cpp:(.text+0xe9bc): undefined reference to `netRender'
Render3D.cpp:(.text+0xf8f0): undefined reference to `netRender'
Render3D.cpp:(.text+0x10279): undefined reference to `netRender'
Render3D.cpp:(.text+0x1029e): undefined reference to `CNetRender::receiveDataFromServer(char*)'
Render3D.cpp:(.text+0x102fc): undefined reference to `netRender'
Render3D.cpp:(.text+0x1031d): undefined reference to `netRender'
Render3D.cpp:(.text+0x10363): undefined reference to `netRender'
Render3D.cpp:(.text+0x103a5): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
Render3D.cpp:(.text+0x103ac): undefined reference to `netRender'
Render3D.cpp:(.text+0x103d3): undefined reference to `netRender'
Render3D.cpp:(.text+0x103f0): undefined reference to `CNetRender::receiveDataFromClient(char*, int, int)'
Render3D.cpp:(.text+0x10413): undefined reference to `netRender'
Render3D.cpp:(.text+0x10418): undefined reference to `CNetRender::GetData(void*)'
Render3D.cpp:(.text+0x1052a): undefined reference to `netRender'
Render3D.cpp:(.text+0x1058c): undefined reference to `netRender'
Render3D.cpp:(.text+0x10605): undefined reference to `netRender'
Render3D.cpp:(.text+0x10689): undefined reference to `netRender'
Render3D.cpp:(.text+0x106b5): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
Render3D.cpp:(.text+0x106bc): undefined reference to `netRender'
Render3D.cpp:(.text+0x10710): undefined reference to `netRender'
Render3D.cpp:(.text+0x10761): undefined reference to `netRender'
Render3D.cpp:(.text+0x109f7): undefined reference to `CNetRender::receiveDataFromServer(char*)'
Render3D.cpp:(.text+0x10a64): undefined reference to `netRender'
Render3D.cpp:(.text+0x10a72): undefined reference to `CNetRender::sendDataToServer(void*, unsigned long, char*)'
Render3D.cpp:(.text+0x10a91): undefined reference to `netRender'
Render3D.cpp:(.text+0x10adc): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
Render3D.cpp:(.text+0x10ae3): undefined reference to `netRender'
Render3D.cpp:(.text+0x10b13): undefined reference to `netRender'
Render3D.cpp:(.text+0x10b1b): undefined reference to `CNetRender::GetData(void*)'
Render3D.cpp:(.text+0x10b3a): undefined reference to `netRender'
Render3D.cpp:(.text+0x10b47): undefined reference to `CNetRender::GetData(void*)'
Render3D.cpp:(.text+0x10cd3): undefined reference to `netRender'
Render3D.cpp:(.text+0x10cdf): undefined reference to `CNetRender::sendDataToServer(void*, unsigned long, char*)'
./src/Render3D.o: In function `main':
Render3D.cpp:(.text.startup+0x751): undefined reference to `CNetRender::CNetRender(int, int)'
Render3D.cpp:(.text.startup+0x75d): undefined reference to `netRender'
./src/callbacks.o: In function `StopRenderingAndQuit(_GtkWidget*, _GdkEvent*, void*)':
callbacks.cpp:(.text+0x1cbc): undefined reference to `netRender'
callbacks.cpp:(.text+0x1ce3): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
callbacks.cpp:(.text+0x1cea): undefined reference to `netRender'
./src/callbacks.o: In function `StopRendering(_GtkWidget*, void*)':
callbacks.cpp:(.text+0x306c): undefined reference to `netRender'
callbacks.cpp:(.text+0x3093): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
callbacks.cpp:(.text+0x309a): undefined reference to `netRender'
./src/callbacks.o: In function `PressedServerEnable(_GtkWidget*, void*)':
callbacks.cpp:(.text+0x112f7): undefined reference to `netRender'
callbacks.cpp:(.text+0x11302): undefined reference to `CNetRender::SetServer(char*, char*)'
callbacks.cpp:(.text+0x1133b): undefined reference to `netRender'
callbacks.cpp:(.text+0x11340): undefined reference to `CNetRender::DeleteServer()'
./src/callbacks.o: In function `PressedServerScan(_GtkWidget*, void*)':
callbacks.cpp:(.text+0x113a3): undefined reference to `netRender'
callbacks.cpp:(.text+0x1143e): undefined reference to `netRender'
callbacks.cpp:(.text+0x11446): undefined reference to `CNetRender::WaitForClient(char*)'
callbacks.cpp:(.text+0x11465): undefined reference to `netRender'
./src/callbacks.o: In function `SendSettingsToClients(sParamRender)':
callbacks.cpp:(.text+0x1159b): undefined reference to `netRender'
callbacks.cpp:(.text+0x115c5): undefined reference to `CNetRender::sendDataToClient(void*, unsigned long, char*, int, int)'
callbacks.cpp:(.text+0x115cc): undefined reference to `netRender'
./src/callbacks.o: In function `PressedClientEnable(_GtkWidget*, void*)':
callbacks.cpp:(.text+0x12553): undefined reference to `netRender'
callbacks.cpp:(.text+0x12563): undefined reference to `CNetRender::SetClient(char*, char*, char*)'
callbacks.cpp:(.text+0x125e3): undefined reference to `netRender'
callbacks.cpp:(.text+0x125eb): undefined reference to `CNetRender::receiveDataFromServer(char*)'
callbacks.cpp:(.text+0x1265b): undefined reference to `netRender'
callbacks.cpp:(.text+0x12660): undefined reference to `CNetRender::DeleteClient()'
callbacks.cpp:(.text+0x1269e): undefined reference to `netRender'
callbacks.cpp:(.text+0x126a9): undefined reference to `CNetRender::GetData(void*)'
./src/callbacks.o: In function `NoGUIClientEnable()':
callbacks.cpp:(.text+0x12708): undefined reference to `netRender'
callbacks.cpp:(.text+0x12712): undefined reference to `CNetRender::SetClient(char*, char*, char*)'
callbacks.cpp:(.text+0x12776): undefined reference to `netRender'
callbacks.cpp:(.text+0x1277e): undefined reference to `CNetRender::receiveDataFromServer(char*)'
callbacks.cpp:(.text+0x127fb): undefined reference to `netRender'
callbacks.cpp:(.text+0x12806): undefined reference to `CNetRender::GetData(void*)'
collect2: error: ld returned 1 exit status
make: *** [mandelbulber] Error 1
Logged
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #1 on: September 16, 2013, 09:07:41 PM »

I have just fixed this problem by putting fresh makefiles into SVN repository. By the way I don't recommend to use sources directly from SVN, because those are often in development stage. To have ready-to-use sources it's better to download latest version from http://sourceforge.net/projects/mandelbulber/files/?
Logged

Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Short Kicks 1 - Mandelbulb 3D compilation Movies Showcase (Rate My Movie) schizo 1 1527 Last post November 08, 2012, 10:34:20 PM
by cKleinhuis
Mandelbrot Safari Compilation Video Movies Showcase (Rate My Movie) cKleinhuis 0 621 Last post November 30, 2012, 03:46:46 PM
by cKleinhuis
opencl/compilation problems with mandelbulber Bug Reporting d13b 5 4768 Last post June 08, 2013, 01:43:24 PM
by Buddhi
Fractal Short Kicks 4 compilation Movies Showcase (Rate My Movie) schizo 0 766 Last post September 09, 2014, 10:26:02 PM
by schizo
Linker error in Linux compilation attempt [SOLVED] Mandelbulber Phlop 5 2790 Last post August 19, 2015, 03:33:51 AM
by Phlop

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.128 seconds with 26 queries. (Pretty URLs adds 0.006s, 2q)