Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 286779 - sci-misc/boinc-6.6.40[-cuda]: coproc_cuda undeclared in sched files with gcc-4.4.1
Summary: sci-misc/boinc-6.6.40[-cuda]: coproc_cuda undeclared in sched files with gcc-...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Tomáš Chvátal (RETIRED)
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2009-09-28 16:03 UTC by Martin von Gagern
Modified: 2009-09-30 11:32 UTC (History)
2 users (show)

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


Attachments
build log (sci-misc:boinc-6.6.40:20090928-153621.log,102.75 KB, text/plain)
2009-09-30 09:25 UTC, Martin von Gagern
Details
applying changes from boinc repo (6.6.40-cuda.patch,3.36 KB, patch)
2009-09-30 10:41 UTC, Kacper Kowalik (Xarthisius) (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin von Gagern 2009-09-28 16:03:33 UTC
i686-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_ERRNO_AS_DEFINE=1 -pthread   -march=prescott -O2 -ggdb -O3 -funroll-loops -fforce-addr -ffast-math -march=i486 -mtune=generic -c -o handle_request.o handle_request.cpp
handle_request.cpp: In function ‘int lock_sched()’:
handle_request.cpp:138: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result
handle_request.cpp: In function ‘bool requesting_work()’:
handle_request.cpp:1175: error: ‘coproc_cuda’ was not declared in this scope
make[2]: *** [handle_request.o] Error 1

The same happens if I manually try to make the sched_send.o target in the sched directory.

There are two headers in the client directory, sim.h and client_state.h, which would declare that symbol, but neither seems to get included.

As I was building with the cuda USE flag unset, I'm a bit surprised to find a symbol referring to cuda gets used, but I haven't dug into this.

Portage 2.2_rc42 (default/linux/x86/2008.0/desktop, gcc-4.4.1, glibc-2.10.1-r0, 2.6.30-gentoo-r5 i686)
=================================================================
System uname: Linux-2.6.30-gentoo-r5-i686-Intel-R-_Pentium-R-_4_CPU_3.00GHz-with-gentoo-2.0.1
Timestamp of tree: Mon, 28 Sep 2009 10:15:02 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p33
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.2-r2, 3.1.1-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.6.4-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r3
sys-apps/sandbox:    2.1
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.19.1-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/4.3/env /usr/kde/4.3/share/config /usr/kde/4.3/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /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/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=prescott -O2 -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache collision-protect distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://mirror.switch.ch/ftp/mirror/gentoo/"
LANG="de_DE.utf8"
LDFLAGS="-Wl,--as-needed"
LINGUAS="en de en_US en_GB"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
Comment 1 Tomáš Chvátal (RETIRED) gentoo-dev 2009-09-29 17:49:49 UTC
Post complete build.log please.
Comment 2 Tomáš Chvátal (RETIRED) gentoo-dev 2009-09-29 17:53:29 UTC
Btw it should build cuda support everytime, it does not have any configure option or deps.

Also in these files cuda is mentioned:
scarab@arcarius: ~/tmp/boinc-6.6.40 $ find ./ -name \*.h |while read file; do
> [[ `cat ${file} |grep cuda |wc -l` -gt 0 ]] && echo ${file}
> done
./client/client_types.h
./client/client_state.h
./client/work_fetch.h
./client/sim.h
./lib/gui_rpc_client.h
./lib/coproc.h
./sched/server_types.h
./sched/sched_config.h
scarab@arcarius: ~/tmp/boinc-6.6.40 $ find ./ -name \*.cpp |while read file; do [[ `cat ${file} |grep cuda |wc -l` -gt 0 ]] && echo ${file}; done
./client/client_types.cpp
./client/sim.cpp
./client/work_fetch.cpp
./client/cs_scheduler.cpp
./client/app_start.cpp
./client/app.cpp
./client/cpu_sched.cpp
./client/rr_sim.cpp
./client/scheduler_op.cpp
./client/gui_rpc_server_ops.cpp
./client/client_state.cpp
./client/cs_statefile.cpp
./lib/gui_rpc_client_ops.cpp
./lib/coproc.cpp
./clientgui/AsyncRPC.cpp
./clientgui/DlgItemProperties.cpp
./sched/sched_plan.cpp
./sched/sched_config.cpp
./sched/handle_request.cpp
./sched/sched_send.cpp
Comment 3 Martin von Gagern 2009-09-30 09:25:37 UTC
Created attachment 205646 [details]
build log
Comment 4 Martin von Gagern 2009-09-30 09:39:03 UTC
(In reply to comment #2)
> Btw it should build cuda support everytime, it does not have any configure
> option or deps.

I see, so it's a runtime thing only.

> scarab@arcarius: ~/tmp/boinc-6.6.40 $ find ./ -name \*.h |while read file; do
> > [[ `cat ${file} |grep cuda |wc -l` -gt 0 ]] && echo ${file}
> > done

I'd have written this simply as "find . -name \*.h | xargs grep -l cuda", but I'll have to agree this is a bit off topic...

I take it the build does succeed for you. Can you compile boinc and then take the g++ command used to compile handle_request.cpp, change "-c" to "-E" and "-o handle_request.o" to "-o handle_request.pp.cpp", and run the resulting command manually? That should give us the preprocessed form of the handle_request.cpp file on a system where it does compile. We could look at this to see if coproc_cuda gets delcared, and if so, determine the chain of include files that lead to this declaration. If it doesn't get included, I assume my compiler is more strict than yours, and determining the reason might prove valuable.
Comment 5 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2009-09-30 10:41:44 UTC
Created attachment 205650 [details, diff]
applying changes from boinc repo
Comment 6 Tomáš Chvátal (RETIRED) gentoo-dev 2009-09-30 11:32:06 UTC
Added to main tree.
Thanks for the patch.