Boinc seem to add cuda support when compiling, but my hardware is geforce 8300 which i dont know if it is supported (even so it will be slow) Reproducible: Always Steps to Reproduce: 1. /etc/init.d boinc stop 2. emerge sci-misc/boinc Actual Results: sched_customize.cpp: In function 'int app_plan(SCHEDULER_REQUEST&, char*, HOST_USAGE&)': sched_customize.cpp:111: error: 'struct COPROC_ATI' has no member named 'flops' sched_customize.cpp:186: warning: format '%d' expects type 'int', but argument 4 has type 'double' sched_customize.cpp:190: error: 'struct COPROC_CUDA' has no member named 'flops_estimate' make[2]: *** [sched_customize.o] Error 1 make[2]: *** Waiting for unfinished jobs.... libtool: compile: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I../lib -I../api -I../db -I../client -I../tools -I../sched -I../lib/mac -pthread -I/usr/include/mysql -DHAVE_ERR NO_AS_DEFINE=1 -pthread -I../lib -I../api -I../db -I../client -I../tools -I../sched -I../lib/mac -pthread -I/usr/include/mysql -DHAVE_ERRNO_AS_DEFINE=1 -pthread -march=amdfam10 -O2 -pipe -O3 -funroll-loops -fforce-addr -ffast-math -c ../db/boinc_db.cpp -o libsched_la-boinc_db.o >/dev/null 2>&1 /bin/sh ../libtool --tag=CXX --mode=link x86_64-pc-linux-gnu-g++ -I../lib -I../api -I../db -I../client -I../tools -I../sched -I../lib/mac -pthread -I/usr/include/mysql -DHAVE_ERRN O_AS_DEFINE=1 -pthread -march=amdfam10 -O2 -pipe -O3 -funroll-loops -fforce-addr -ffast-math -L/usr/lib64 -rpath /usr/lib64 -version-number 6:10:18 -Wl,-O1 -o libsched.la -rpath /us r/lib64 libsched_la-sched_shmem.lo libsched_la-sched_util.lo libsched_la-sched_config.lo libsched_la-sched_msgs.lo libsched_la-boinc_db.lo libsched_la-db_base.lo libsched_la-process _result_template.lo libsched_la-backend_lib.lo -L/usr -lssl -lcrypto -ldl -lz libtool: link: x86_64-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/crtbeginS.o .libs/li bsched_la-sched_shmem.o .libs/libsched_la-sched_util.o .libs/libsched_la-sched_config.o .libs/libsched_la-sched_msgs.o .libs/libsched_la-boinc_db.o .libs/libsched_la-db_base.o .libs /libsched_la-process_result_template.o .libs/libsched_la-backend_lib.o -L/usr/lib64 -L/usr -lssl -lcrypto -ldl -lz -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4 -L/usr/lib/gcc/x86_64-p c-linux-gnu/4.3.4/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-g nu/4.3.4/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/crtfastmath.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.3 .4/../../../../lib64/crtn.o -pthread -pthread -march=amdfam10 -Wl,-O1 -pthread -Wl,-soname -Wl,libsched.so.6 -o .libs/libsched.so.6.10.18 libtool: link: (cd ".libs" && rm -f "libsched.so.6" && ln -s "libsched.so.6.10.18" "libsched.so.6") libtool: link: (cd ".libs" && rm -f "libsched.so" && ln -s "libsched.so.6.10.18" "libsched.so") libtool: link: x86_64-pc-linux-gnu-ar cru .libs/libsched.a libsched_la-sched_shmem.o libsched_la-sched_util.o libsched_la-sched_config.o libsched_la-sched_msgs.o libsched_la-boinc_ db.o libsched_la-db_base.o libsched_la-process_result_template.o libsched_la-backend_lib.o libtool: link: x86_64-pc-linux-gnu-ranlib .libs/libsched.a libtool: link: ( cd ".libs" && rm -f "libsched.la" && ln -s "../libsched.la" "libsched.la" ) make[3]: Leaving directory `/var/tmp/portage/sci-misc/boinc-6.10.18/work/boinc-6.10.18/sched' make[2]: Leaving directory `/var/tmp/portage/sci-misc/boinc-6.10.18/work/boinc-6.10.18/sched' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sci-misc/boinc-6.10.18/work/boinc-6.10.18' make: *** [all] Error 2 * ERROR: sci-misc/boinc-6.10.18 failed: * emake failed * * Call stack: * ebuild.sh, line 55: Called src_compile * environment, line 3422: Called _eapi2_src_compile * ebuild.sh, line 635: Called die * The specific snippet of code: * emake || die "emake failed" * * If you need support, post the output of 'emerge --info =sci-misc/boinc-6.10.18', * the complete build log and the output of 'emerge -pqv =sci-misc/boinc-6.10.18'. * The complete build log is located at '/var/tmp/portage/sci-misc/boinc-6.10.18/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/sci-misc/boinc-6.10.18/temp/environment'. * S: '/var/tmp/portage/sci-misc/boinc-6.10.18/work/boinc-6.10.18' This is my current boinc who is running sci-misc/boinc Available versions: (~)6.4.5-r2 (~)6.6.40-r2 {X +client cuda server} Installed versions: 6.6.40-r2(15:58:44 11/03/09)(X client server -cuda) Homepage: http://boinc.ssl.berkeley.edu/ Description: The Berkeley Open Infrastructure for Network Computing emerge --info =sci-misc/boinc-6.10.18 Portage 2.1.7.4 (default/linux/amd64/10.0/no-multilib, gcc-4.3.4, glibc-2.11-r0, 2.6.31-gentoo-r5 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-2.6.31-gentoo-r5-x86_64-AMD_Phenom-tm-_9500_Quad-Core_Processor-with-gentoo-2.0.1 Timestamp of tree: Wed, 11 Nov 2009 12:30:24 +0000 distcc 3.1 x86_64-pc-linux-gnu [disabled] app-shells/bash: 4.0_p35 dev-java/java-config: 2.1.9-r1 dev-lang/python: 2.5.4-r3, 2.6.4, 3.1.1-r1 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.5.2-r2 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.7.9-r1, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.20 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=amdfam10 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=amdfam10 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ ftp://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://gentoo.osuosl.org/ http://lug.mtu.edu/gentoo/ ftp://lug.mtu.edu/gentoo/" LDFLAGS="-Wl,-O1" LINGUAS="en en_US fr fr_FR" MAKEOPTS="-j9" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acl amd64 apache2 berkdb bzip2 cli client cracklib crypt cups dri fortran gdbm gpm hardened html iconv ipv6 java jpeg mmx modules mudflap mysql ncurses nls nptl nptlonly nsplugin opengl openmp pam pcre perl php pppd python readline reflection server session spl sse sse2 ssl suid svg svn sysfs syslog tcpd truetype unicode xml xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US fr fr_FR" USERLAND="GNU" VIDEO_CARDS="nvidia vesa fbdev" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Created attachment 209905 [details] Log output Log output
As i state on various occasions: Patches welcomed i dont have enough knowledge to fix that thing up, its too damn messy.
No such calls in current trunk. They changed flops to flops_estimate in an otherwise completely unrelated commit: http://boinc.berkeley.edu/trac/changeset/19038#file4 Then they changed these to a calculation on peak flops: http://boinc.berkeley.edu/trac/changeset/19310 It seems they merged part of the latter into the 6.10 branch: http://boinc.berkeley.edu/trac/changeset/19329 But as that merge is incomplete, and doesn't touch sched_customize.cpp, the build now fails. I guess I'll try to merge the rest of those changes manually, and try to create a patch for it all. I've also created an upstream ticket for this: http://boinc.berkeley.edu/trac/ticket/960
Created attachment 210148 [details, diff] Use peak_flops()/5 With this patch in place, which is modeled after upstream modifications, and together with my patch for bug #293024, the thing builds cleanly. However, upstream has marked my ticket invalid: "the 6.10 branch is for client only. For server, use either trunk or server_stable" I have looked at upstream web pages, but found no indication of this fact in the release notes or similar, and neither was there a snapshot of server_stable available for download. It seems that boinc servers are pretty rare and don't merit that much information or any kind of release management. So what now for Gentoo? First of all, the subject of this report here should probably cbe changed to mention the server USE flag. Furthermore, boinc-6.10.18 sources maybe shouldn't be used to build a server, if that's not supported upstream. I have several possible solutions in mind: 1. have the ebuild die in pkg_setup if USE=server, so that people can either remove the server USE flag or mask that version 2. have a separate boinc-server ebuild, derived from the server_stable branch 3. drop server support for Gentoo altogether, maybe annoying some people 4. Use the server code from 6.10.18, even as it's unsupported, as long as it can be made to compile. I.e. apply this patch here
Say good bye to server support. Until i have good packaging script that package server as upstream please, or (for christ that would be lovely) upstream start shipping tarball like NORMAL persons you will have to live without it. The bug is facticaly fixed -> for all whom open bug about "Add server useflag back" without offering patch to packaging script or convincing the upstream i will fix it as wontfix.