[interprocess]Error compiling my program with boost and GCC
Hello, I use boost 1.38. I try to compile my program that includes <boost/thread.hpp> <boost/interprocess/sync/named_recursive_mutex.hpp> I didn't have any problem to compile boost libraries. But when I compile my program, I've got the following error : In file included from /usr/include/boost-1_38/boost/interprocess/detail/move.hpp:21, from /usr/include/boost-1_38/boost/interprocess/shared_memory_object.hpp:18, from /usr/include/boost-1_38/boost/interprocess/sync/named_recursive_mutex.hpp:23, from /home/Dev/Criteria4/WebTools/WebModules/src/Noyau/cemTask.h:27, from /home/Dev/Criteria4/WebTools/WebModules/src/CriEm/cemAppWebSrv.h:28, from /home/Dev/Criteria4/WebTools/WebModules/src/CriEm/cemAppWebSrv.cpp:19: /usr/include/boost-1_38/boost/interprocess/detail/mpl.hpp:64: attention : all member functions in class `boost::interprocess::detail::is_convertible<T, U> ' are private In file included from /usr/include/boost-1_38/boost/interprocess/shared_memory_object.hpp:31, from /usr/include/boost-1_38/boost/interprocess/sync/named_recursive_mutex.hpp:23, from /home/Dev/Criteria4/WebTools/WebModules/src/Noyau/cemTask.h:27, from /home/Dev/Criteria4/WebTools/WebModules/src/CriEm/cemAppWebSrv.h:28, from /home/Dev/Criteria4/WebTools/WebModules/src/CriEm/cemAppWebSrv.cpp:19: */usr/include/sys/mman.h:145: error: type specifier omitted for parameter ` mode_t' /usr/include/sys/mman.h:145: error: erreur d'analyse syntaxique before `)' token* /usr/include/boost-1_38/boost/interprocess/sync/emulation/named_creation_functor.hpp:38: embrouillÚ par les erreurs prÚcÚdentes, abandon make[1]: *** [/home/Dev/Criteria4/WebTools/WebModules/UseIT/bin/objCriemWeb/cemAppWebSrv.o] Erreur 1 I understand that mode_t is an undefined type. But as mman.h is a standard include file, I don't understand why. Can somebody gives me a help ? I surely forget something important but I don't know what. For informations, I use GCC 3.3.3. Thanks for yours answers Laurence
AMDG Laurence Chambenois wrote:
I use boost 1.38. I try to compile my program that includes
<boost/thread.hpp> <boost/interprocess/sync/named_recursive_mutex.hpp>
I didn't have any problem to compile boost libraries. But when I compile my program, I've got the following error :
<snip> */usr/include/sys/mman.h:145: error: type specifier omitted for parameter ` mode_t'
I understand that mode_t is an undefined type. But as mman.h is a standard include file, I don't understand why. Can somebody gives me a help ? I surely forget something important but I don't know what. For informations, I use GCC 3.3.3.
Thanks for yours answers
What operating system are you using? Do interprocess' tests pass? You can check by running bjam in $BOOST_ROOT/libs/interprocess/test In Christ, Steven Watanabe
Steven Watanabe a écrit :
AMDG
Laurence Chambenois wrote:
I use boost 1.38. I try to compile my program that includes
<boost/thread.hpp> <boost/interprocess/sync/named_recursive_mutex.hpp>
I didn't have any problem to compile boost libraries. But when I compile my program, I've got the following error :
<snip> */usr/include/sys/mman.h:145: error: type specifier omitted for parameter ` mode_t'
I understand that mode_t is an undefined type. But as mman.h is a standard include file, I don't understand why. Can somebody gives me a help ? I surely forget something important but I don't know what. For informations, I use GCC 3.3.3.
Thanks for yours answers
What operating system are you using? Do interprocess' tests pass? You can check by running bjam in $BOOST_ROOT/libs/interprocess/test
In Christ, Steven Watanabe
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Thank you for your answer. The operating system is a * Linux with a kernel release : 2.6.20 * Glibc : 2.3.2 * gcc : 3.3.3 The interprocess tests does not pass. I did what you tell me and I have plenty of errors during compilation. The problem is that I could test this on another system, but my program has to run on the system I've mentionned. Is it a problem with Glibc ? or GCC ? Do I have to upgrade them ? Laurence
AMDG Laurence Chambenois wrote:
The operating system is a
* Linux with a kernel release : 2.6.20 * Glibc : 2.3.2 * gcc : 3.3.3
The interprocess tests does not pass. I did what you tell me and I have plenty of errors during compilation. The problem is that I could test this on another system, but my program has to run on the system I've mentionned.
Is it a problem with Glibc ? or GCC ? Do I have to upgrade them ?
It looks like it. According to explicit-failures-markup.xml: <mark-unusable> <toolset name="gcc-3.3*" /> <note author="Ion Gaztañaga">The compiler does not support features that are essential for the library.</note> </mark-unusable> In Christ, Steven Watanabe
Steven Watanabe wrote:
According to explicit-failures-markup.xml: <mark-unusable> <toolset name="gcc-3.3*" /> <note author="Ion Gaztañaga">The compiler does not support features that are essential for the library.</note> </mark-unusable>
Thanks Steven,
In Christ, Steven Watanabe
Best, Ion
Thanks for your answer. I tried with GCC 4.3, it seems better because all compilation tests seems correct, but I still have problems with my own program. I have the following result when compiling my code : /usr/include/sys/mman.h:145: erreur: reference to 'mode_t' is ambiguous /usr/include/sys/mman.h:142: erreur: candidates are: typedef __mode_t mode_t /usr/include/boost-1_38/boost/interprocess/detail/os_file_functions.hpp:209: erreur: typedef enum boost::interprocess::mode_t Do I have to include other hpp file that : <boost/thread.hpp> <boost/interprocess/sync/named_recursive_mutex.hpp> Thanks for your help Laurence Ion Gaztañaga a écrit :
Steven Watanabe wrote:
According to explicit-failures-markup.xml: <mark-unusable> <toolset name="gcc-3.3*" /> <note author="Ion Gaztañaga">The compiler does not support features that are essential for the library.</note> </mark-unusable>
Thanks Steven,
In Christ, Steven Watanabe
Best,
Ion
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (3)
-
Ion Gaztañaga
-
Laurence Chambenois
-
Steven Watanabe