Comments (9)
Thanks Daxim. On my system these are warnings, not errors. This means I can reproduce them, but I hadn't given them a high priority to solve. I see if I can figure out what's going on. :-)
from perl-cuda-minimal.
Did you happen to resolve this issue? I am getting it with my build too
[cuda@localhost perl-CUDA-Minimal]$ ./Build
Building CUDA-Minimal
/usr/bin/perl -MExtUtils::nvcc::Backend -eExtUtils::nvcc::Backend::compiler -- -I. -I/usr/lib64/perl5/CORE -DXS_VERSION="0.01" -DVERSION="0.01" -fPIC -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -o lib/CUDA/Minimal.o lib/CUDA/Minimal.c
lib/CUDA/Minimal.c(374): error: linkage specification is incompatible with previous "Perl___notused"
(163): here
1 error detected in the compilation of "/tmp/tmpxft_00003ea5_00000000-6_Minimal.cpp1.ii".
nvcc encountered a problem
error building lib/CUDA/Minimal.o from 'lib/CUDA/Minimal.c' at /home/cuda/perl5/lib/perl5/ExtUtils/CBuilder/Base.pm line 175.
[cuda@localhost perl-CUDA-Minimal]$ uname -a
Linux localhost.localdomain 3.11.10-200.fc19.x86_64 #1 SMP Mon Dec 2 20:28:03 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[cuda@localhost perl-CUDA-Minimal]$ perl -V
Summary of my perl5 (revision 5 version 16 subversion 3) configuration:
Platform:
osname=linux, osvers=3.10.9-200.fc19.x86_64, archname=x86_64-linux-thread-multi
uname='linux buildvm-01.phx2.fedoraproject.org 3.10.9-200.fc19.x86_64 #1 smp wed aug 21 19:27:58 utc 2013 x86_64 x86_64 x86_64 gnulinux '
config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Dccdlflags=-Wl,--enable-new-dtags -Dlddlflags=-shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Wl,-z,relro -DDEBUGGING=-g -Dversion=5.16.3 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl5 -Dsitearch=/usr/local/lib64/perl5 -Dprivlib=/usr/share/perl5 -Dvendorlib=/usr/share/perl5/vendor_perl -Darchlib=/usr/lib64/perl5 -Dvendorarch=/usr/lib64/perl5/vendor_perl -Darchname=x86_64-linux-thread-multi -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Duseshrplib -Dusethreads -Duseithreads -Dusedtrace=/usr/bin/dtrace -Duselargefiles -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dscriptdir=/usr/bin -Dusesitecustomize'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.8.2 20131017 (Red Hat 4.8.2-1)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -fstack-protector'
libpth=/usr/local/lib64 /lib64 /usr/lib64
libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat
perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.17'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE'
cccdlflags='-fPIC', lddlflags='-shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Wl,-z,relro '
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT_ALL
USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
USE_REENTRANT_API USE_SITECUSTOMIZE
Built under linux
Compiled at Nov 11 2013 12:36:47
%ENV:
PERL5LIB="/home/cuda/perl5/lib/perl5:"
PERL_LOCAL_LIB_ROOT="/home/cuda/perl5:"
PERL_MB_OPT="--install_base /home/cuda/perl5"
PERL_MM_OPT="INSTALL_BASE=/home/cuda/perl5"
@inc:
/home/cuda/perl5/lib/perl5/x86_64-linux-thread-multi
/home/cuda/perl5/lib/perl5
/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/lib64/perl5
/usr/share/perl5
.
from perl-cuda-minimal.
Ok not an elegant fix but I renamed the dNOOP to dNOOP1 so it did not apply
From
define dNOOP extern int /@unused@/ Perl___notused PERL_UNUSED_DECL
To
define dNOOP1 extern int /@unused@/ Perl___notused PERL_UNUSED_DECL
I hope it will not break anything
from perl-cuda-minimal.
@eperry, dNOOP is a preprocessor macro used in the Perl sources. I never managed to track down the source of the problem and gave up trying a while ago, so the fact that you've uncovered this as the problem is marvelous!
What happens if you place the following at the very top of Minimal.xs?
#ifdef dNOOP
/* If the CUDA sources define this, clear it */
#undef dNOOP
#endif
from perl-cuda-minimal.
I made some hard-won but ultimately good progress on this problem today. In particular, I took all day to solve what ultimately boiled down to an alignment issue.
The solution that I propose above does not solve this problem. However, it is only a problem for Perl v5.16. CUDA::Minimal compiles for v5.14 and v5.18, with and without threads, which gives us a much narrower search window.
from perl-cuda-minimal.
sorry I did not get a chance to try the compile today, to many monday
morning issues. but good to hear it is some change between 5.18 and 5.14
as what ever broke in 5.15 - 5.17 was corrected. :)
I'll see if what the beta version of Fedora perl is up to, and give that a
try if it is higher.
Thanks for your efforts. I'll try the comment you had above.
On Mon, Dec 16, 2013 at 7:59 PM, David Mertens [email protected]:
I made some hard-won but ultimately good progress on this problem today.
In particular, I took all day to solve what ultimately boiled down to an
alignment issue.The solution that I propose above does not solve this problem. However, it
is only a problem for Perl v5.16. CUDA::Minimal compiles for v5.14 and
v5.18, with and without threads, which gives us a much narrower search
window.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/7#issuecomment-30717355
.
Sincerely
Edward Perry
from perl-cuda-minimal.
This error first arose in Perl's core with commit bafdc25d
and fixed with commit 7db66e12
Thanks to bisect.pl for that.
This means we can, potentially, include a fix for v5.16 by using proper #ifdef checks.
from perl-cuda-minimal.
That should do it. Please let me know if it doesn't work on your end. If this works, I'll try to get this fix added to ppport.h, as I believe this solution would solve the most problems there.
from perl-cuda-minimal.
Hi David,
Thanks so much for the quick work. I had the chance the other day to purge
the install I hacked and re-checkout the project and compile it without
modifications.
Seemed to work flawlessly.
THANKS!
This fixes Fedora 19 standard server installs. :) With Cuda 5.5
On Thu, Dec 19, 2013 at 12:02 AM, David Mertens [email protected]:
That should do it. Please let me know if it doesn't work on your end. If
this works, I'll try to get this fix added to ppport.h, as I believe this
solution would solve the most problems there.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/7#issuecomment-30905430
.
Sincerely
Edward Perry
from perl-cuda-minimal.
Related Issues (7)
- Cannot build HOT 3
- "unrecognised emulation mode: arch=native" when running 'perl Build.PL' HOT 10
- Bump up ExtUtils::nvcc depedency version HOT 1
- Failing "Kernel invocations after DeviceReset succeed" test from t/z_kernel_invocations.t HOT 2
- Get invalid configuration argument instead of unspecified launch failure HOT 2
- Error: no compiler detected to compile 'lib/CUDA/Minimal.c'. Aborting HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from perl-cuda-minimal.