PDA

View Full Version : A few build and dependency problems with 2.2.alpha


justapost
09-26-2009, 06:20 AM
So far I found n sidux 64bit.

"Byte" depends on time as mentioned by kano already. "jgxbat" requires sun-java-demo and a proper set JAVA_HOME env variable. Smokin Gins need 32bit versions of libXxf86dga1 and libopenal1, maybe they can be installed in a binary form with the benchmark.
The Tachyon benchmark needs to be build as make linux-64-thr here and the link must be modified to point to the different subdir. etqw-demo segfaults here, I have not yet figured out why.
The yafray benchmark requires this patch from the debian pacakge to build without errors

#! /bin/sh /usr/share/dpatch/dpatch-run
## 30_gcc4.3_missing_includes.dpatch by Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Add missing includes to fix FTBFS with gcc 4.3

@DPATCH@

--- a/src/yafraycore/HDR_io.cc 2007-12-21 02:04:16.000000000 +0100
+++ b/src/yafraycore/HDR_io.cc 2007-12-21 02:04:23.000000000 +0100
@@ -9,6 +9,8 @@
#include<config.h>
#endif

+#include <cstring>
+
__BEGIN_YAFRAY

//---------------------------------------------------------------------------
--- a/src/yafraycore/buffer.h 2007-12-21 02:03:39.000000000 +0100
+++ b/src/yafraycore/buffer.h 2007-12-21 02:03:48.000000000 +0100
@@ -29,6 +29,7 @@

#include <cstdio>
#include <iostream>
+#include <cstdlib>
#include "color.h"

__BEGIN_YAFRAY
--- a/src/yafraycore/ccthreads.cc 2007-12-21 02:05:02.000000000 +0100
+++ b/src/yafraycore/ccthreads.cc 2007-12-21 02:05:12.000000000 +0100
@@ -1,5 +1,6 @@
#include"ccthreads.h"
#include<iostream>
+#include<cstdlib>

using namespace std;

--- a/src/yafraycore/geometree.h 2007-12-21 02:09:40.000000000 +0100
+++ b/src/yafraycore/geometree.h 2007-12-21 02:09:46.000000000 +0100
@@ -2,6 +2,7 @@
#define __GEOMETREE_H

#include"bound.h"
+#include <limits>

__BEGIN_YAFRAY

--- a/src/yafraycore/kdtree.cc 2007-12-21 02:05:55.000000000 +0100
+++ b/src/yafraycore/kdtree.cc 2007-12-21 02:06:03.000000000 +0100
@@ -4,6 +4,7 @@
#include <math.h>
#include <limits>
#include <time.h>
+#include <cstring>

__BEGIN_YAFRAY

--- a/src/yafraycore/renderblock.cc 2007-12-21 02:07:41.000000000 +0100
+++ b/src/yafraycore/renderblock.cc 2007-12-21 02:07:49.000000000 +0100
@@ -1,5 +1,6 @@

#include "renderblock.h"
+#include <cstdlib>

using namespace std;

--- a/src/loader/mlex.cc 2007-12-21 02:13:25.000000000 +0100
+++ b/src/loader/mlex.cc 2007-12-21 02:13:35.000000000 +0100
@@ -22,6 +22,7 @@

#include<stdio.h>
#include<iostream>
+#include<cstring>
#include "mlex.h"
using namespace std;
#include<string>
--- a/src/shaders/basictex.cc 2007-12-21 02:14:43.000000000 +0100
+++ b/src/shaders/basictex.cc 2007-12-21 02:14:52.000000000 +0100
@@ -23,6 +23,7 @@
#include "basictex.h"
#include "object3d.h"
#include <iostream>
+#include <cstring>

#include "targaIO.h"
#include "HDR_io.h"
--- a/src/yafraycore/targaIO.cc 2007-12-21 02:10:53.000000000 +0100
+++ b/src/yafraycore/targaIO.cc 2007-12-21 02:11:00.000000000 +0100
@@ -3,6 +3,7 @@
//--------------------------------------------------------------------------------
#include "targaIO.h"
#include "vector3d.h"
+#include <cstring>

//--------------------------------------------------------------------------------
// Save uncompressed 24 bit targa

Michael
09-26-2009, 02:21 PM
Hmm, Tachyon is running fine here on 64-bit Ubuntu without that command.

With Yafray I am also hitting this on the build process:


src/yafraycore/buffer.h: In constructor ‘yafray::gBuf_t<T1, T2>::gBuf_t(int, int)’:
src/yafraycore/buffer.h:46: error: there are no arguments to ‘exit’ that depend on a template parameter, so a declaration of ‘exit’ must be available
src/yafraycore/buffer.h:46: error: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
src/yafraycore/buffer.h: In member function ‘void yafray::gBuf_t<T1, T2>::set(int, int)’:
src/yafraycore/buffer.h:62: error: there are no arguments to ‘exit’ that depend on a template parameter, so a declaration of ‘exit’ must be available
src/yafraycore/buffer.h: In constructor ‘yafray::Buffer_t<T>::Buffer_t(int, int)’:
src/yafraycore/buffer.h:156: error: there are no arguments to ‘exit’ that depend on a template parameter, so a declaration of ‘exit’ must be available
src/yafraycore/buffer.h: In member function ‘void yafray::Buffer_t<T>::set(int, int)’:
src/yafraycore/buffer.h:178: error: there are no arguments to ‘exit’ that depend on a template parameter, so a declaration of ‘exit’ must be available

justapost
09-26-2009, 03:52 PM
This is what I get when I try to build a 32bit version of tachyon

gcc -m32 -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux -DTHR -D_REENTRANT -I../src -I../demosrc -o ../compile/linux-thr/tachyon ../compile/linux-thr/libtachyon/main.o ../compile/linux-thr/libtachyon/getargs.o ../compile/linux-thr/libtachyon/parse.o ../compile/linux-thr/libtachyon/nffparse.o ../compile/linux-thr/libtachyon/glwin.o ../compile/linux-thr/libtachyon/spaceball.o ../compile/linux-thr/libtachyon/trackball.o ../compile/linux-thr/libtachyon/mgfparse.o ../compile/linux-thr/libtachyon/ac3dparse.o -L../compile/linux-thr -L. -ltachyon -lm -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.4/libgcc.a when searching for -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.4/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
collect2: ld returned 1 exit status

Seems like you have an 32bit gcc build envirnoment installed on ubuntu.

That patch I posted for yafray is part of the current debian unstable source package (yafray-0.0.9+dfsg).
Errors without the patch

g++ -o src/yafraycore/bound.os -c -Wall -DHAVE_CONFIG_H -D_PTHREADS -O3 -ffast-math -fomit-frame-pointer -fPIC -Isrc/yafraycore -I. src/yafraycore/bound.cc
In file included from src/yafraycore/bound.h:30,
from src/yafraycore/bound.cc:26:
src/yafraycore/vector3d.h: In function ‘int yafray::ourRandomI()’:
src/yafraycore/vector3d.h:267: warning: integer overflow in expression
src/yafraycore/vector3d.h: In function ‘yafray::PFLOAT yafray::ourRandom()’:
src/yafraycore/vector3d.h:279: warning: integer overflow in expression
src/yafraycore/vector3d.h: In function ‘yafray::PFLOAT yafray::ourRandom(int&)’:
src/yafraycore/vector3d.h:291: warning: integer overflow in expression
g++ -o src/yafraycore/buffer.os -c -Wall -DHAVE_CONFIG_H -D_PTHREADS -O3 -ffast-math -fomit-frame-pointer -fPIC -Isrc/yafraycore -I. src/yafraycore/buffer.cc
In file included from src/yafraycore/buffer.cc:22:
src/yafraycore/buffer.h: In constructor ‘yafray::gBuf_t<T1, T2>::gBuf_t(int, int)’:
src/yafraycore/buffer.h:46: error: there are no arguments to ‘exit’ that depend on a template parameter, so a declaration of ‘exit’ must be available
src/yafraycore/buffer.h:46: error: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
src/yafraycore/buffer.h: In member function ‘void yafray::gBuf_t<T1, T2>::set(int, int)’:
src/yafraycore/buffer.h:62: error: there are no arguments to ‘exit’ that depend on a template parameter, so a declaration of ‘exit’ must be available
src/yafraycore/buffer.h: In constructor ‘yafray::Buffer_t<T>::Buffer_t(int, int)’:
src/yafraycore/buffer.h:156: error: there are no arguments to ‘exit’ that depend on a template parameter, so a declaration of ‘exit’ must be available
src/yafraycore/buffer.h: In member function ‘void yafray::Buffer_t<T>::set(int, int)’:
src/yafraycore/buffer.h:178: error: there are no arguments to ‘exit’ that depend on a template parameter, so a declaration of ‘exit’ must be available
scons: *** [src/yafraycore/buffer.os] Error 1
scons: building terminated because of errors.
cp: Aufruf von stat für „yafray_/etc/gram.yafray“ nicht möglich: Datei oder Verzeichnis nicht gefunden


And I get this error for jgxbat without JAVA_HOME set to /usr/share/doc/sun-java6-jdk in my case with sun-java6-demo installed.
################################################## #########
Java Graphics Basic Acceptance Test:
Phoronix Test Suite v2.2.0a2


Final: java full version 1.6.0_16-b01
Unable to access jarfile /usr/demo/jfc/Java2D/Java2Demo.jar
Unable to access jarfile /usr/demo/jfc/Java2D/Java2Demo.jar
FAIL ()

Michael
09-27-2009, 02:22 PM
Thanks, will work on some changes for that. Patches also welcome :)

Have you been working on some test profiles or something? You seem to be running PTS a lot lately (or at least judging by the posts)?

justapost
09-27-2009, 02:45 PM
Thanks, will work on some changes for that. Patches also welcome :)

Have you been working on some test profiles or something? You seem to be running PTS a lot lately (or at least judging by the posts)?
I started with an new test for hpcc today. http://icl.cs.utk.edu/hpcc/index.html
Atm I use an static config suitable for four cores and I build against atlas and openmpi coming with debian. These tests include linpack and I'm thinking about a good way to calculate the problem size based on the available memory and a way to calculate an good grid size based on the number of cpu's and cores.
The benchmark results end up in an text file which I copy to $LOGFILE. Then I use a slightly modified parsing from the stream benchmark.
The results have different units like GFlops, GUPs,TFlops,GB/s and seconds. Is it possible to define a separate unit and proportion for each test result or can this be defined only once for an test?

Michael
09-27-2009, 03:02 PM
When you're done, you're welcome to submit the test profile to inclusion in mainline :)

Yes, during the testing process you can write the units to ~/pts-results-scale during the testing process. If no scale is defined within the XML spec, pts-core will read it from pts-results-scale. To Git master I have just committed the same support similarly for pts-results-proportion, but pts-results-scale has been supported for a release or two.

justapost
09-27-2009, 05:00 PM
Of course I'll send you the profile. Thank's for the tip units work fine now.
Hmm, it not work with cached results. Can pts-results-scale be generated during parsing?

Michael
09-27-2009, 06:05 PM
Hmmm, you mean as in the cache feature in 2.2? It should work if you write it out during the parse-results process. Try it out and let me know but it should :)

justapost
09-28-2009, 05:38 AM
Ok I got it working with result caching, who can I submit the profile?

Michael
09-28-2009, 06:40 AM
Ideally on the mailing list (http://phoronix-test-suite.com/mailman/listinfo/trondheim-pts_phoronix-test-suite.com) or to email to michael [at] phoronix.com.

justapost
09-28-2009, 07:19 AM
Ideally on the mailing list (http://phoronix-test-suite.com/mailman/listinfo/trondheim-pts_phoronix-test-suite.com) or to email to michael [at] phoronix.com.
On it's way to the mailinglist.
Unfortunately I found one small error, install.sh needs an backslash infront of $NUM_CPU_CORES in line 231