codeblocks-python icon indicating copy to clipboard operation
codeblocks-python copied to clipboard

failed to compile XmlRPCEmbedder on Mac OS!

Open easior opened this issue 9 years ago • 5 comments

I want to build python plugin for CB on Mac OS Yosemite. However, the compile is failed. The following is the error report:

clang++ -std=c++11 -O2  -fPIC -I/Users/james/Developer/wxWidgets/cocoabuild/lib/wx/include/osx_cocoa-unicode-3.0 -I/Users/james/Developer/wxWidgets/include -D_FILE_OFFSET_BITS=64 -DwxDEBUG_LEVEL=0 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__  -fmessage-length=0 -fexceptions -Winvalid-pch    -IXMLRPC/include -c /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp -o .objs30/XMLRPC/src/XmlRpcValue.o
In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5:
XMLRPC/include/base64.h:232:13: error: incomplete type 'std::__1::ios_base' named in nested name specifier
                                        _St |= _IOS_FAILBIT|_IOS_EOFBIT; return _First; // unexpected EOF
                                               ^~~~~~~~~~~~
XMLRPC/include/base64.h:35:29: note: expanded from macro '_IOS_FAILBIT'
#define _IOS_FAILBIT   std::ios_base::failbit
                       ~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base'
class _LIBCPP_TYPE_VIS ios_base;
                       ^
In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5:
XMLRPC/include/base64.h:232:26: error: incomplete type 'std::__1::ios_base' named in nested name specifier
                                        _St |= _IOS_FAILBIT|_IOS_EOFBIT; return _First; // unexpected EOF
                                                            ^~~~~~~~~~~
XMLRPC/include/base64.h:36:29: note: expanded from macro '_IOS_EOFBIT'
#define _IOS_EOFBIT    std::ios_base::eofbit
                       ~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base'
class _LIBCPP_TYPE_VIS ios_base;
                       ^
In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5:
XMLRPC/include/base64.h:238:12: error: incomplete type 'std::__1::ios_base' named in nested name specifier
                                _St |= _IOS_FAILBIT; 
                                       ^~~~~~~~~~~~
XMLRPC/include/base64.h:35:29: note: expanded from macro '_IOS_FAILBIT'
#define _IOS_FAILBIT   std::ios_base::failbit
                       ~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base'
class _LIBCPP_TYPE_VIS ios_base;
                       ^
In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5:
XMLRPC/include/base64.h:252:12: error: incomplete type 'std::__1::ios_base' named in nested name specifier
                                _St |= _IOS_FAILBIT|_IOS_EOFBIT; // unexpected EOF 
                                       ^~~~~~~~~~~~
XMLRPC/include/base64.h:35:29: note: expanded from macro '_IOS_FAILBIT'
#define _IOS_FAILBIT   std::ios_base::failbit
                       ~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base'
class _LIBCPP_TYPE_VIS ios_base;
                       ^
In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5:
XMLRPC/include/base64.h:252:25: error: incomplete type 'std::__1::ios_base' named in nested name specifier
                                _St |= _IOS_FAILBIT|_IOS_EOFBIT; // unexpected EOF 
                                                    ^~~~~~~~~~~
XMLRPC/include/base64.h:36:29: note: expanded from macro '_IOS_EOFBIT'
#define _IOS_EOFBIT    std::ios_base::eofbit
                       ~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base'
class _LIBCPP_TYPE_VIS ios_base;
                       ^
In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5:
XMLRPC/include/base64.h:258:12: error: incomplete type 'std::__1::ios_base' named in nested name specifier
                                _St |= _IOS_FAILBIT; 
                                       ^~~~~~~~~~~~
XMLRPC/include/base64.h:35:29: note: expanded from macro '_IOS_FAILBIT'
#define _IOS_FAILBIT   std::ios_base::failbit
                       ~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base'
class _LIBCPP_TYPE_VIS ios_base;
                       ^
In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5:
XMLRPC/include/base64.h:273:12: error: incomplete type 'std::__1::ios_base' named in nested name specifier
                                _St |= _IOS_FAILBIT|_IOS_EOFBIT; 
                                       ^~~~~~~~~~~~
XMLRPC/include/base64.h:35:29: note: expanded from macro '_IOS_FAILBIT'
#define _IOS_FAILBIT   std::ios_base::failbit
                       ~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base'
class _LIBCPP_TYPE_VIS ios_base;
                       ^
In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5:
XMLRPC/include/base64.h:273:25: error: incomplete type 'std::__1::ios_base' named in nested name specifier
                                _St |= _IOS_FAILBIT|_IOS_EOFBIT; 
                                                    ^~~~~~~~~~~
XMLRPC/include/base64.h:36:29: note: expanded from macro '_IOS_EOFBIT'
#define _IOS_EOFBIT    std::ios_base::eofbit
                       ~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base'
class _LIBCPP_TYPE_VIS ios_base;
                       ^
In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5:
XMLRPC/include/base64.h:287:13: error: incomplete type 'std::__1::ios_base' named in nested name specifier
                                        _St |= _IOS_EOFBIT;
                                               ^~~~~~~~~~~
XMLRPC/include/base64.h:36:29: note: expanded from macro '_IOS_EOFBIT'
#define _IOS_EOFBIT    std::ios_base::eofbit
                       ~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base'
class _LIBCPP_TYPE_VIS ios_base;
                       ^
In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5:
XMLRPC/include/base64.h:315:13: error: incomplete type 'std::__1::ios_base' named in nested name specifier
                                        _St |= _IOS_EOFBIT; 
                                               ^~~~~~~~~~~
XMLRPC/include/base64.h:36:29: note: expanded from macro '_IOS_EOFBIT'
#define _IOS_EOFBIT    std::ios_base::eofbit
                       ~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base'
class _LIBCPP_TYPE_VIS ios_base;
                       ^
10 errors generated.

By the way, is there any plan to update your python plugin to wx 3.0?

easior avatar Feb 04 '16 05:02 easior

Not entirely surprised this doesn't work on Mac. The XmlRpc Library that I am using is pretty old and Apple isn't known for its legacy support. I will look into a replacement. I am barely using that library anyway.

And yes, I plan to update to wx3.0. On Feb 4, 2016 12:23 AM, "Easior Lars" [email protected] wrote:

I want to build python plugin for CB on Mac OS Yosemite. However, the compile is failed. The following is the error report:

clang++ -std=c++11 -O2 -fPIC -I/Users/james/Developer/wxWidgets/cocoabuild/lib/wx/include/osx_cocoa-unicode-3.0 -I/Users/james/Developer/wxWidgets/include -D_FILE_OFFSET_BITS=64 -DwxDEBUG_LEVEL=0 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ -fmessage-length=0 -fexceptions -Winvalid-pch -IXMLRPC/include -c /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp -o .objs30/XMLRPC/src/XmlRpcValue.o In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5: XMLRPC/include/base64.h:232:13: error: incomplete type 'std::__1::ios_base' named in nested name specifier _St |= _IOS_FAILBIT|_IOS_EOFBIT; return _First; // unexpected EOF ^~~~~~~~~~~~ XMLRPC/include/base64.h:35:29: note: expanded from macro '_IOS_FAILBIT'#define _IOS_FAILBIT std::ios_base::failbit ~~~~~^~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base' class _LIBCPP_TYPE_VIS ios_base; ^ In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5: XMLRPC/include/base64.h:232:26: error: incomplete type 'std::__1::ios_base' named in nested name specifier _St |= _IOS_FAILBIT|_IOS_EOFBIT; return _First; // unexpected EOF ^~~~~~~~~~~ XMLRPC/include/base64.h:36:29: note: expanded from macro '_IOS_EOFBIT'#define _IOS_EOFBIT std::ios_base::eofbit ~~~~~^~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base' class _LIBCPP_TYPE_VIS ios_base; ^ In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5: XMLRPC/include/base64.h:238:12: error: incomplete type 'std::__1::ios_base' named in nested name specifier _St |= _IOS_FAILBIT; ^~~~~~~~~~~~ XMLRPC/include/base64.h:35:29: note: expanded from macro '_IOS_FAILBIT'#define _IOS_FAILBIT std::ios_base::failbit ~~~~~^~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base' class _LIBCPP_TYPE_VIS ios_base; ^ In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5: XMLRPC/include/base64.h:252:12: error: incomplete type 'std::__1::ios_base' named in nested name specifier _St |= _IOS_FAILBIT|_IOS_EOFBIT; // unexpected EOF ^~~~~~~~~~~~ XMLRPC/include/base64.h:35:29: note: expanded from macro '_IOS_FAILBIT'#define _IOS_FAILBIT std::ios_base::failbit ~~~~~^~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base' class _LIBCPP_TYPE_VIS ios_base; ^ In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5: XMLRPC/include/base64.h:252:25: error: incomplete type 'std::__1::ios_base' named in nested name specifier _St |= _IOS_FAILBIT|_IOS_EOFBIT; // unexpected EOF ^~~~~~~~~~~ XMLRPC/include/base64.h:36:29: note: expanded from macro '_IOS_EOFBIT'#define _IOS_EOFBIT std::ios_base::eofbit ~~~~~^~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base' class _LIBCPP_TYPE_VIS ios_base; ^ In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5: XMLRPC/include/base64.h:258:12: error: incomplete type 'std::__1::ios_base' named in nested name specifier _St |= _IOS_FAILBIT; ^~~~~~~~~~~~ XMLRPC/include/base64.h:35:29: note: expanded from macro '_IOS_FAILBIT'#define _IOS_FAILBIT std::ios_base::failbit ~~~~~^~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base' class _LIBCPP_TYPE_VIS ios_base; ^ In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5: XMLRPC/include/base64.h:273:12: error: incomplete type 'std::__1::ios_base' named in nested name specifier _St |= _IOS_FAILBIT|_IOS_EOFBIT; ^~~~~~~~~~~~ XMLRPC/include/base64.h:35:29: note: expanded from macro '_IOS_FAILBIT'#define _IOS_FAILBIT std::ios_base::failbit ~~~~~^~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base' class _LIBCPP_TYPE_VIS ios_base; ^ In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5: XMLRPC/include/base64.h:273:25: error: incomplete type 'std::__1::ios_base' named in nested name specifier _St |= _IOS_FAILBIT|_IOS_EOFBIT; ^~~~~~~~~~~ XMLRPC/include/base64.h:36:29: note: expanded from macro '_IOS_EOFBIT'#define _IOS_EOFBIT std::ios_base::eofbit ~~~~~^~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base' class _LIBCPP_TYPE_VIS ios_base; ^ In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5: XMLRPC/include/base64.h:287:13: error: incomplete type 'std::__1::ios_base' named in nested name specifier _St |= _IOS_EOFBIT; ^~~~~~~~~~~ XMLRPC/include/base64.h:36:29: note: expanded from macro '_IOS_EOFBIT'#define _IOS_EOFBIT std::ios_base::eofbit ~~~~~^~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base' class _LIBCPP_TYPE_VIS ios_base; ^ In file included from /Users/james/Developer/CodeBlocks-SVN/src/plugins/contrib/PythonPlugins/XmlRpcEmbedder/XMLRPC/src/XmlRpcValue.cpp:5: XMLRPC/include/base64.h:315:13: error: incomplete type 'std::__1::ios_base' named in nested name specifier _St |= _IOS_EOFBIT; ^~~~~~~~~~~ XMLRPC/include/base64.h:36:29: note: expanded from macro '_IOS_EOFBIT'#define _IOS_EOFBIT std::ios_base::eofbit ~~~~~^~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:98:24: note: forward declaration of 'std::__1::ios_base' class _LIBCPP_TYPE_VIS ios_base; ^ 10 errors generated.

By the way, is there any plan to update your python plugin to wx 3.0?

— Reply to this email directly or view it on GitHub https://github.com/spillz/codeblocks-python/issues/4.

spillz avatar Feb 04 '16 13:02 spillz

It sounds nice. It would be pretty good if you could improve build systems with GNU autotools.

easior avatar Feb 04 '16 14:02 easior

That's on the todo list too. On Feb 4, 2016 9:28 AM, "Easior Lars" [email protected] wrote:

It sounds nice. It would be pretty good if you could improve build systems with GNU autotools.

— Reply to this email directly or view it on GitHub https://github.com/spillz/codeblocks-python/issues/4#issuecomment-179869602 .

spillz avatar Feb 04 '16 14:02 spillz

I may be a little late, but I resolved this same issue on another application by adding this to the file XmlRpcBase64.h #include

so that the _IOS_xxxx flags are correctly defined. Davie

w1hkj avatar Aug 11 '17 22:08 w1hkj

I may be a little late, but I resolved this same issue on another application by adding this to the file XmlRpcBase64.h #include

so that the _IOS_xxxx flags are correctly defined. Davie

Hi Davie. May I ask what exactly did you add to the base64.h file? I am running into the same issue while trying to build xmlrpc.

nerrons avatar Jul 04 '19 10:07 nerrons