-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compiling Error on Ubuntu 16.04 #6
Comments
Hi Andrew,
it is a known issue with that CUDA version and compiler version (see
here: BVLC/caffe#4046). To solve it for
GPUJPEG, use:
NVCCFLAGS=-D_FORCE_INLINES ./autogen.sh
make
We may put the macro into configure, however, the above solution should
work instantly.
Regards,
Martin
…On 13.6.2017 21:50, Andrew Grace wrote:
Under Ubuntu 16.04, I get this error when running the |make| command.
|/usr/include/string.h: In function ‘void* __mempcpy_inline(void*,
const void*, size_t)’: /usr/include/string.h:652:42: error: ‘memcpy’
was not declared in this scope return (char *) memcpy (__dest, __src,
__n) + __n; ^ Makefile:1356: recipe for target
'src/gpujpeg_huffman_gpu_encoder.cu.o' failed make[2]: ***
[src/gpujpeg_huffman_gpu_encoder.cu.o] Error 1 make[2]: Leaving
directory '/home/andrew/git_code/GPUJPEG' Makefile:887: recipe for
target 'all-recursive' failed make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/andrew/git_code/GPUJPEG'
Makefile:491: recipe for target 'all' failed make: *** [all] Error 2 |
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#6>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AJgDHLG_WU8Sp8_4xmXUNc6mAlmKR66Eks5sDuf_gaJpZM4N4_0c>.
|
Thanks!
… On Jun 13, 2017, at 4:01 PM, MartinPulec ***@***.***> wrote:
Hi Andrew,
it is a known issue with that CUDA version and compiler version (see
here: BVLC/caffe#4046). To solve it for
GPUJPEG, use:
NVCCFLAGS=-D_FORCE_INLINES ./autogen.sh
make
We may put the macro into configure, however, the above solution should
work instantly.
Regards,
Martin
On 13.6.2017 21:50, Andrew Grace wrote:
>
> Under Ubuntu 16.04, I get this error when running the |make| command.
>
> |/usr/include/string.h: In function ‘void* __mempcpy_inline(void*,
> const void*, size_t)’: /usr/include/string.h:652:42: error: ‘memcpy’
> was not declared in this scope return (char *) memcpy (__dest, __src,
> __n) + __n; ^ Makefile:1356: recipe for target
> 'src/gpujpeg_huffman_gpu_encoder.cu.o' failed make[2]: ***
> [src/gpujpeg_huffman_gpu_encoder.cu.o] Error 1 make[2]: Leaving
> directory '/home/andrew/git_code/GPUJPEG' Makefile:887: recipe for
> target 'all-recursive' failed make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory '/home/andrew/git_code/GPUJPEG'
> Makefile:491: recipe for target 'all' failed make: *** [all] Error 2 |
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> <#6>, or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AJgDHLG_WU8Sp8_4xmXUNc6mAlmKR66Eks5sDuf_gaJpZM4N4_0c>.
>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#6 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ADTZkMkhqRxrmp1GElYXL6TKOZAFrjWnks5sDuqJgaJpZM4N4_0c>.
|
Unfortunately, that also fails:
|
Hi Andrew,
that is a bit interesting - I've just tested it with Ubuntu 16.04
default compilers - both Clang 3.8 and gcc 5.4 worked. Can you please
send me generated config.log file + versions of nvcc, clang and gcc?
Thanks a lot,
Martin
…On 13.6.2017 22:11, Andrew Grace wrote:
Unfortunately, that also fails:
|NVCCFLAGS=-D_FORCE_INLINES ./autogen.sh Makefile.am:86: warning:
'%'-style pattern rules are a GNU make extension Makefile.am:89:
warning: '%'-style pattern rules are a GNU make extension
Makefile.am:93: warning: '%'-style pattern rules are a GNU make
extension Makefile.am:97: warning: '%'-style pattern rules are a GNU
make extension test/memcheck/Makefile.am:10: warning: deprecated
feature: target 'memcheck' overrides 'memcheck$(EXEEXT)'
test/memcheck/Makefile.am:10: change your target to read
'memcheck$(EXEEXT)' /usr/share/automake-1.15/am/program.am: target
'memcheck$(EXEEXT)' was defined here test/memcheck/Makefile.am:5:
while processing program 'memcheck' test/memcheck/Makefile.am:20:
warning: deprecated feature: target 'memcheck_cuda.sh' overrides
'memcheck_cuda.sh$(EXEEXT)' test/memcheck/Makefile.am:20: change your
target to read 'memcheck_cuda.sh$(EXEEXT)'
/usr/share/automake-1.15/am/program.am: target
'memcheck_cuda.sh$(EXEEXT)' was defined here
test/memcheck/Makefile.am:4: while processing program
'memcheck_cuda.sh' test/memcheck/Makefile.am:13: warning: deprecated
feature: target 'memcheck_local.sh' overrides
'memcheck_local.sh$(EXEEXT)' test/memcheck/Makefile.am:13: change your
target to read 'memcheck_local.sh$(EXEEXT)'
/usr/share/automake-1.15/am/program.am: target
'memcheck_local.sh$(EXEEXT)' was defined here
test/memcheck/Makefile.am:4: while processing program
'memcheck_local.sh' test/opengl_interop/Makefile.am:28: warning:
'%'-style pattern rules are a GNU make extension checking for a
BSD-compatible install... /usr/bin/install -c checking whether build
environment is sane... yes checking for a thread-safe mkdir -p...
/bin/mkdir -p checking for gawk... no checking for mawk... mawk
checking whether make sets $(MAKE)... yes checking whether make
supports nested variables... yes checking build system type...
x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf checking for style of include
used by make... GNU checking for gcc... clang checking whether the C
compiler works... no configure: error: in
`/home/andrew/git_code/GPUJPEG': configure: error: C compiler cannot
create executables See `config.log' for more details Autogen failed.
andrew GPUJPEG$ gcc gcc: fatal error: no input files compilation
terminated. |
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#6 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AJgDHISE_rq1XfUe6h-pXM89Gz7IVu9pks5sDuzkgaJpZM4N4_0c>.
|
Hi Martin,
I’ve pasted in that info (and attached the config.log).
Andrew
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Tue_Aug_11_14:27:32_CDT_2015
Cuda compilation tools, release 7.5, V7.5.17
clang is not installed
gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial
… On Jun 13, 2017, at 4:20 PM, MartinPulec ***@***.***> wrote:
Hi Andrew,
that is a bit interesting - I've just tested it with Ubuntu 16.04
default compilers - both Clang 3.8 and gcc 5.4 worked. Can you please
send me generated config.log file + versions of nvcc, clang and gcc?
Thanks a lot,
Martin
On 13.6.2017 22:11, Andrew Grace wrote:
>
> Unfortunately, that also fails:
>
> |NVCCFLAGS=-D_FORCE_INLINES ./autogen.sh Makefile.am:86: warning:
> '%'-style pattern rules are a GNU make extension Makefile.am:89:
> warning: '%'-style pattern rules are a GNU make extension
> Makefile.am:93: warning: '%'-style pattern rules are a GNU make
> extension Makefile.am:97: warning: '%'-style pattern rules are a GNU
> make extension test/memcheck/Makefile.am:10: warning: deprecated
> feature: target 'memcheck' overrides 'memcheck$(EXEEXT)'
> test/memcheck/Makefile.am:10: change your target to read
> 'memcheck$(EXEEXT)' /usr/share/automake-1.15/am/program.am: target
> 'memcheck$(EXEEXT)' was defined here test/memcheck/Makefile.am:5:
> while processing program 'memcheck' test/memcheck/Makefile.am:20:
> warning: deprecated feature: target 'memcheck_cuda.sh' overrides
> 'memcheck_cuda.sh$(EXEEXT)' test/memcheck/Makefile.am:20: change your
> target to read 'memcheck_cuda.sh$(EXEEXT)'
> /usr/share/automake-1.15/am/program.am: target
> 'memcheck_cuda.sh$(EXEEXT)' was defined here
> test/memcheck/Makefile.am:4: while processing program
> 'memcheck_cuda.sh' test/memcheck/Makefile.am:13: warning: deprecated
> feature: target 'memcheck_local.sh' overrides
> 'memcheck_local.sh$(EXEEXT)' test/memcheck/Makefile.am:13: change your
> target to read 'memcheck_local.sh$(EXEEXT)'
> /usr/share/automake-1.15/am/program.am: target
> 'memcheck_local.sh$(EXEEXT)' was defined here
> test/memcheck/Makefile.am:4: while processing program
> 'memcheck_local.sh' test/opengl_interop/Makefile.am:28: warning:
> '%'-style pattern rules are a GNU make extension checking for a
> BSD-compatible install... /usr/bin/install -c checking whether build
> environment is sane... yes checking for a thread-safe mkdir -p...
> /bin/mkdir -p checking for gawk... no checking for mawk... mawk
> checking whether make sets $(MAKE)... yes checking whether make
> supports nested variables... yes checking build system type...
> x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu
> checking how to print strings... printf checking for style of include
> used by make... GNU checking for gcc... clang checking whether the C
> compiler works... no configure: error: in
> `/home/andrew/git_code/GPUJPEG': configure: error: C compiler cannot
> create executables See `config.log' for more details Autogen failed.
> andrew GPUJPEG$ gcc gcc: fatal error: no input files compilation
> terminated. |
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub
> <#6 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AJgDHISE_rq1XfUe6h-pXM89Gz7IVu9pks5sDuzkgaJpZM4N4_0c>.
>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#6 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ADTZkOUZIJ8c8DHDl7P4Euv--mXNA2upks5sDu7_gaJpZM4N4_0c>.
|
Ok, after I installed clang, then I can run |
where to input the command NVCCFLAGS=-D_FORCE_INLINES ./autogen.sh ??? |
@athirasivaraj Those NVCCFLAGS are flags that autogen.sh passes to nvcc compiler, autogen.sh just calls configure script. If you use another build system (MSVC, cmake) you need to pass -D_FORCE_INLINES to nvcc. |
Hi, I've look to our buildsystem, to see how the OBS builds gpujpeg. It's true that we do not call autogen with NVCCFLAGS, rather than patch the configure - see https://github.com/CESNET/GPUJPEG/blob/master/package_specs/ubuntu-1604-nvcc-compat.patch for details. |
@athirasivaraj This has no relation with nvcc. Apparently, sds++ is not reachable from directories listed in your PATH variable. You can confirm this hypothesis with command which sds++ . |
ohk ... bt what should i do to rectify this issue as iam starting from the scrap and getting no idea.. |
@athirasivaraj : Things like this are Linux usage & programming basics, which you can look up in any Linux user guide and/or stackoverflow. As this "issues" are not related to our project at all, rather than basic usage, I'm closing this issue. P.S. A fine book on linux programming: https://www.amazon.com/Beginning-Linux-Programming/dp/1861002971 P.S. The unrelated posts to the original problem will be deleted in about a week. |
Hello, thank you very much for the code you shared.
How to solve it? |
Hi @DanevenChin, I've pushed a compatibility macro for older compilers. Next time please open a new issue if not referring exactly the same problem as in the original issue. Thanks, |
Under Ubuntu 16.04, I get this error when running the
make
command.The text was updated successfully, but these errors were encountered: