From: SourceForge.net <no...@so...> - 2006-11-28 09:03:23
|
Bugs item #1604332, was opened at 2006-11-28 10:03 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=1604332&group_id=1645 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: preprocessor Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Adam Tkac (atkac) Assigned to: Nobody/Anonymous (nobody) Summary: Swig ca't determine architecture correctly Initial Comment: 64bit machines swig can't include correctly files. I've created patch for this problem ---Steps to Reproduce--- > cat > test.i %module test # Make __NR_syscall names available %include <sys/syscall.h> > swig -python -I/usr/include -includeall test.i /usr/include/asm/unistd.h:9: Warning(204): CPP #warning, This machine appears to be neither x86_64 nor i386. > ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=1604332&group_id=1645 |
From: SourceForge.net <no...@so...> - 2006-11-28 13:02:48
|
Bugs item #1604332, was opened at 2006-11-28 09:03 Message generated for change (Comment added) made by beazley You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=1604332&group_id=1645 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: preprocessor Group: None >Status: Closed >Resolution: Rejected >Priority: 1 Private: No Submitted By: Adam Tkac (atkac) >Assigned to: David M. Beazley (beazley) Summary: Swig ca't determine architecture correctly Initial Comment: 64bit machines swig can't include correctly files. I've created patch for this problem ---Steps to Reproduce--- > cat > test.i %module test # Make __NR_syscall names available %include <sys/syscall.h> > swig -python -I/usr/include -includeall test.i /usr/include/asm/unistd.h:9: Warning(204): CPP #warning, This machine appears to be neither x86_64 nor i386. > ---------------------------------------------------------------------- >Comment By: David M. Beazley (beazley) Date: 2006-11-28 13:02 Message: Logged In: YES user_id=7557 Originator: NO Won't fix. SWIG is not a low-level compiler. Moreover, the machine on which SWIG is run is often not the same on which wrapper code is compiled. If you need to do this, use the -D option. swig -python -D__i386__ whatever.i ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=1604332&group_id=1645 |
From: SourceForge.net <no...@so...> - 2008-07-28 17:21:10
|
Bugs item #1604332, was opened at 2006-11-28 10:03 Message generated for change (Comment added) made by atkac You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=1604332&group_id=1645 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: preprocessor Group: None >Status: Open >Resolution: None Priority: 1 Private: No Submitted By: Adam Tkac (atkac) Assigned to: David M. Beazley (beazley) Summary: Swig ca't determine architecture correctly Initial Comment: 64bit machines swig can't include correctly files. I've created patch for this problem ---Steps to Reproduce--- > cat > test.i %module test # Make __NR_syscall names available %include <sys/syscall.h> > swig -python -I/usr/include -includeall test.i /usr/include/asm/unistd.h:9: Warning(204): CPP #warning, This machine appears to be neither x86_64 nor i386. > ---------------------------------------------------------------------- >Comment By: Adam Tkac (atkac) Date: 2008-07-28 19:21 Message: Logged In: YES user_id=1655665 Originator: YES I have to reopen this bug because problem is far more generic. When you wrapping something around C source and that source includes some standard header (stdio.h, stdlib.h and others) you have to have macros from C preprocessor. If you don't have it you can use incorrect structures/functions etc. It causes real problems - look into headers, everything is #ifdef-ined One possible solution will be define platform-specific macros directly in swig - this solution was rejected. Other solution will be get macros directly from C preprocessor - at least with GNU C preprocessor you can execute cpp -dM /dev/null and you can use output in swig. What is your status? I will write proposed patch (get macros from cpp on systems which has GNU cpp) if you are interested. If not, would it be possible propose another solution for this problem, please? Regards, Adam ---------------------------------------------------------------------- Comment By: David M. Beazley (beazley) Date: 2006-11-28 14:02 Message: Logged In: YES user_id=7557 Originator: NO Won't fix. SWIG is not a low-level compiler. Moreover, the machine on which SWIG is run is often not the same on which wrapper code is compiled. If you need to do this, use the -D option. swig -python -D__i386__ whatever.i ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=1604332&group_id=1645 |
From: SourceForge.net <no...@so...> - 2008-07-31 20:38:15
|
Bugs item #1604332, was opened at 2006-11-28 09:03 Message generated for change (Comment added) made by wsfulton You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=1604332&group_id=1645 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: preprocessor Group: None Status: Open Resolution: None Priority: 1 Private: No Submitted By: Adam Tkac (atkac) Assigned to: David M. Beazley (beazley) Summary: Swig ca't determine architecture correctly Initial Comment: 64bit machines swig can't include correctly files. I've created patch for this problem ---Steps to Reproduce--- > cat > test.i %module test # Make __NR_syscall names available %include <sys/syscall.h> > swig -python -I/usr/include -includeall test.i /usr/include/asm/unistd.h:9: Warning(204): CPP #warning, This machine appears to be neither x86_64 nor i386. > ---------------------------------------------------------------------- >Comment By: William Fulton (wsfulton) Date: 2008-07-31 20:38 Message: Logged In: YES user_id=242951 Originator: NO The recommended approach is to write an interface file that has the needed methods from the C headers. SWIG provides platform neutral interface files for the C++ STL and you could model your approach on this. If you really want to %include a C library header and you want it to work in a platform specific way (not recommended), then create the macros. Use the info you provided: cpp -dM /dev/null > cppmacros.i then add a %include "cppmacros.i" into your interface file. ---------------------------------------------------------------------- Comment By: Adam Tkac (atkac) Date: 2008-07-28 17:21 Message: Logged In: YES user_id=1655665 Originator: YES I have to reopen this bug because problem is far more generic. When you wrapping something around C source and that source includes some standard header (stdio.h, stdlib.h and others) you have to have macros from C preprocessor. If you don't have it you can use incorrect structures/functions etc. It causes real problems - look into headers, everything is #ifdef-ined One possible solution will be define platform-specific macros directly in swig - this solution was rejected. Other solution will be get macros directly from C preprocessor - at least with GNU C preprocessor you can execute cpp -dM /dev/null and you can use output in swig. What is your status? I will write proposed patch (get macros from cpp on systems which has GNU cpp) if you are interested. If not, would it be possible propose another solution for this problem, please? Regards, Adam ---------------------------------------------------------------------- Comment By: David M. Beazley (beazley) Date: 2006-11-28 13:02 Message: Logged In: YES user_id=7557 Originator: NO Won't fix. SWIG is not a low-level compiler. Moreover, the machine on which SWIG is run is often not the same on which wrapper code is compiled. If you need to do this, use the -D option. swig -python -D__i386__ whatever.i ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=1604332&group_id=1645 |
From: SourceForge.net <no...@so...> - 2009-11-14 23:34:15
|
Bugs item #1604332, was opened at 2006-11-28 09:03 Message generated for change (Settings changed) made by wsfulton You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=1604332&group_id=1645 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: preprocessor Group: None >Status: Closed >Resolution: Invalid Priority: 1 Private: No Submitted By: Adam Tkac (atkac) Assigned to: David M. Beazley (beazley) Summary: Swig ca't determine architecture correctly Initial Comment: 64bit machines swig can't include correctly files. I've created patch for this problem ---Steps to Reproduce--- > cat > test.i %module test # Make __NR_syscall names available %include <sys/syscall.h> > swig -python -I/usr/include -includeall test.i /usr/include/asm/unistd.h:9: Warning(204): CPP #warning, This machine appears to be neither x86_64 nor i386. > ---------------------------------------------------------------------- Comment By: William Fulton (wsfulton) Date: 2008-07-31 20:38 Message: Logged In: YES user_id=242951 Originator: NO The recommended approach is to write an interface file that has the needed methods from the C headers. SWIG provides platform neutral interface files for the C++ STL and you could model your approach on this. If you really want to %include a C library header and you want it to work in a platform specific way (not recommended), then create the macros. Use the info you provided: cpp -dM /dev/null > cppmacros.i then add a %include "cppmacros.i" into your interface file. ---------------------------------------------------------------------- Comment By: Adam Tkac (atkac) Date: 2008-07-28 17:21 Message: Logged In: YES user_id=1655665 Originator: YES I have to reopen this bug because problem is far more generic. When you wrapping something around C source and that source includes some standard header (stdio.h, stdlib.h and others) you have to have macros from C preprocessor. If you don't have it you can use incorrect structures/functions etc. It causes real problems - look into headers, everything is #ifdef-ined One possible solution will be define platform-specific macros directly in swig - this solution was rejected. Other solution will be get macros directly from C preprocessor - at least with GNU C preprocessor you can execute cpp -dM /dev/null and you can use output in swig. What is your status? I will write proposed patch (get macros from cpp on systems which has GNU cpp) if you are interested. If not, would it be possible propose another solution for this problem, please? Regards, Adam ---------------------------------------------------------------------- Comment By: David M. Beazley (beazley) Date: 2006-11-28 13:02 Message: Logged In: YES user_id=7557 Originator: NO Won't fix. SWIG is not a low-level compiler. Moreover, the machine on which SWIG is run is often not the same on which wrapper code is compiled. If you need to do this, use the -D option. swig -python -D__i386__ whatever.i ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=1604332&group_id=1645 |