Skip to content
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

gcc 4.8 compilation issues #89

Closed
pstanczyk opened this issue Jan 21, 2014 · 1 comment
Closed

gcc 4.8 compilation issues #89

pstanczyk opened this issue Jan 21, 2014 · 1 comment
Labels
Build A problem with building or installing the library.
Milestone

Comments

@pstanczyk
Copy link
Contributor

Seems like gcc 4.8 has stricter rules. See the build log below:

dpkg-checkbuild
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../config -I/usr/include/OpenEXR -pthread -I.. -I../config -D_FORTIFY_SOURCE=2 -pipe -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -c -o ImfHuf.lo ImfHuf.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../config -I/usr/include/OpenEXR -pthread -I.. -I../config -D_FORTIFY_SOURCE=2 -pipe -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -c ImfHuf.cpp -fPIC -DPIC -o .libs/ImfHuf.o
In file included from ImfHuf.cpp:50:0:
ImfAutoArray.h: In constructor 'Imf_2_1::AutoArray<T, size>::AutoArray()':
ImfAutoArray.h:62:39: error: 'memset' is not a member of 'std'
AutoArray (): _data (new T [size]) {::std::memset(_data, 0, size * sizeof(T));}
^
ImfAutoArray.h:62:39: note: suggested alternatives:
In file included from /usr/include/features.h:371:0,
from /usr/include/limits.h:26,
from /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:168,
from /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h:7,
from /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:34,
from /usr/include/OpenEXR/ImathInt64.h:46,
from ./ImfInt64.h:44,
from ImfHuf.cpp:49:
/usr/include/x86_64-linux-gnu/bits/string3.h:76:1: note: 'memset'
__NTH (memset (void ___dest, int __ch, size_t __len))
^
/usr/include/x86_64-linux-gnu/bits/string3.h:76:1: note: 'memset'
In file included from /usr/include/c++/4.8/iosfwd:40:0,
from /usr/include/c++/4.8/ios:38,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/include/OpenEXR/IexMacros.h:46,
from /usr/include/OpenEXR/Iex.h:48,
from ImfHuf.cpp:51:
/usr/include/c++/4.8/bits/postypes.h: At global scope:
/usr/include/c++/4.8/bits/postypes.h:98:11: error: 'ptrdiff_t' does not name a type
typedef ptrdiff_t streamsize; // Signed integral type
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:65:0,
from /usr/include/c++/4.8/bits/char_traits.h:39,
from /usr/include/c++/4.8/ios:40,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/include/OpenEXR/IexMacros.h:46,
from /usr/include/OpenEXR/Iex.h:48,
from ImfHuf.cpp:51:
/usr/include/c++/4.8/bits/stl_iterator_base_types.h:116:67: error: expected type-specifier before 'ptrdiff_t'
template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
^
/usr/include/c++/4.8/bits/stl_iterator_base_types.h:116:67: error: expected '>' before 'ptrdiff_t'
/usr/include/c++/4.8/bits/stl_iterator_base_types.h:127:15: error: '_Pointer' does not name a type
typedef _Pointer pointer;
^
/usr/include/c++/4.8/bits/stl_iterator_base_types.h:129:15: error: '_Reference' does not name a type
typedef _Reference reference;
^
/usr/include/c++/4.8/bits/stl_iterator_base_types.h:179:15: error: 'ptrdiff_t' does not name a type
typedef ptrdiff_t difference_type;
^
/usr/include/c++/4.8/bits/stl_iterator_base_types.h:190:15: error: 'ptrdiff_t' does not name a type
typedef ptrdiff_t difference_type;
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
from /usr/include/c++/4.8/bits/char_traits.h:39,
from /usr/include/c++/4.8/ios:40,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/include/OpenEXR/IexMacros.h:46,
from /usr/include/OpenEXR/Iex.h:48,
from ImfHuf.cpp:51:
/usr/include/c++/4.8/bits/stl_iterator.h:101:69: error: wrong number of template arguments (5, should be 3)
typename iterator_traits<_Iterator>::reference>
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:65:0,
from /usr/include/c++/4.8/bits/char_traits.h:39,
from /usr/include/c++/4.8/ios:40,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/include/OpenEXR/IexMacros.h:46,
from /usr/include/OpenEXR/Iex.h:48,
from ImfHuf.cpp:51:
/usr/include/c++/4.8/bits/stl_iterator_base_types.h:118:12: error: provided for 'template<class _Category, class _Tp, class _Distance> struct std::iterator'
struct iterator
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
from /usr/include/c++/4.8/bits/char_traits.h:39,
from /usr/include/c++/4.8/ios:40,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/include/OpenEXR/IexMacros.h:46,
from /usr/include/OpenEXR/Iex.h:48,
from ImfHuf.cpp:51:
/usr/include/c++/4.8/bits/stl_iterator.h:403:66: error: wrong number of template arguments (5, should be 3)
: public iterator<output_iterator_tag, void, void, void, void>
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:65:0,
from /usr/include/c++/4.8/bits/char_traits.h:39,
from /usr/include/c++/4.8/ios:40,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/include/OpenEXR/IexMacros.h:46,
from /usr/include/OpenEXR/Iex.h:48,
from ImfHuf.cpp:51:
/usr/include/c++/4.8/bits/stl_iterator_base_types.h:118:12: error: provided for 'template<class _Category, class _Tp, class _Distance> struct std::iterator'
struct iterator
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
from /usr/include/c++/4.8/bits/char_traits.h:39,
from /usr/include/c++/4.8/ios:40,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/include/OpenEXR/IexMacros.h:46,
from /usr/include/OpenEXR/Iex.h:48,
from ImfHuf.cpp:51:
/usr/include/c++/4.8/bits/stl_iterator.h:494:66: error: wrong number of template arguments (5, should be 3)
: public iterator<output_iterator_tag, void, void, void, void>
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:65:0,
from /usr/include/c++/4.8/bits/char_traits.h:39,
from /usr/include/c++/4.8/ios:40,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/include/OpenEXR/IexMacros.h:46,
from /usr/include/OpenEXR/Iex.h:48,
from ImfHuf.cpp:51:
/usr/include/c++/4.8/bits/stl_iterator_base_types.h:118:12: error: provided for 'template<class _Category, class _Tp, class _Distance> struct std::iterator'
struct iterator
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
from /usr/include/c++/4.8/bits/char_traits.h:39,
from /usr/include/c++/4.8/ios:40,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/include/OpenEXR/IexMacros.h:46,
from /usr/include/OpenEXR/Iex.h:48,
from ImfHuf.cpp:51:
/usr/include/c++/4.8/bits/stl_iterator.h:588:66: error: wrong number of template arguments (5, should be 3)
: public iterator<output_iterator_tag, void, void, void, void>
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:65:0,
from /usr/include/c++/4.8/bits/char_traits.h:39,
from /usr/include/c++/4.8/ios:40,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/include/OpenEXR/IexMacros.h:46,
from /usr/include/OpenEXR/Iex.h:48,
from ImfHuf.cpp:51:
/usr/include/c++/4.8/bits/stl_iterator_base_types.h:118:12: error: provided for 'template<class _Category, class _Tp, class _Distance> struct std::iterator'
struct iterator
^
In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0,
from /usr/include/c++/4.8/ios:40,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/include/OpenEXR/IexMacros.h:46,
from /usr/include/OpenEXR/Iex.h:48,
from ImfHuf.cpp:51:
/usr/include/c++/4.8/bits/stl_algobase.h: In static member function 'static Tp std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(const Tp, const Tp, Tp)':
/usr/include/c++/4.8/bits/stl_algobase.h:370:10: error: 'ptrdiff_t' does not name a type
const ptrdiff_t _Num = __last - __first;
^
/usr/include/c++/4.8/bits/stl_algobase.h:371:8: error: '_Num' was not declared in this scope
if (_Num)
^
/usr/include/c++/4.8/bits/stl_algobase.h:373:22: error: '_Num' was not declared in this scope
return __result + _Num;
^
/usr/include/c++/4.8/bits/stl_algobase.h: In static member function 'static Tp std::__copy_move_backward<_IsMove, true, std::random_access_iterator_tag>::__copy_move_b(const Tp, const Tp, _Tp*)':
/usr/include/c++/4.8/bits/stl_algobase.h:565:10: error: 'ptrdiff_t' does not name a type
const ptrdiff_t _Num = __last - __first;

....

@ehanway-ilm ehanway-ilm modified the milestones: v2.1.1, v2.2.1 Aug 13, 2014
@cary-ilm
Copy link
Member

Looking into the OpenEXR backlog. This seems to have been addressed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build A problem with building or installing the library.
Projects
None yet
Development

No branches or pull requests

3 participants