Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 292784 - sci-misc/boinc-6.10.18: can't compile
Summary: sci-misc/boinc-6.10.18: can't compile
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: AMD64 Linux
: High normal
Assignee: Tomáš Chvátal (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-11 13:00 UTC by Louis-Philippe
Modified: 2009-11-14 01:42 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Log output (build.log,113.42 KB, text/plain)
2009-11-11 13:15 UTC, Louis-Philippe
Details
Use peak_flops()/5 (gentoo292784.patch,978 bytes, patch)
2009-11-13 17:03 UTC, Martin von Gagern
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Louis-Philippe 2009-11-11 13:00:39 UTC
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
Comment 1 Louis-Philippe 2009-11-11 13:15:13 UTC
Created attachment 209905 [details]
Log output

Log output
Comment 2 Tomáš Chvátal (RETIRED) gentoo-dev 2009-11-11 15:39:57 UTC
As i state on various occasions:
Patches welcomed i dont have enough knowledge to fix that thing up, its too damn messy.
Comment 3 Martin von Gagern 2009-11-13 15:43:19 UTC
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
Comment 4 Martin von Gagern 2009-11-13 17:03:16 UTC
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
Comment 5 Tomáš Chvátal (RETIRED) gentoo-dev 2009-11-14 01:42:24 UTC
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.