From: Staffan T. <sta...@gm...> - 2013-09-24 16:19:17
|
Hi Mark, I've been quite inactive lately but today I decided to do an SVN update of ooSQLite to the latest version. I made the necessary changes to my makefile but when I compile I now get the following set of messages: cl /nologo /EHsc /O2 /Gs /Gy /FAs /Fabuild\release\ /MT /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DOOSQLITE_VER_MAJOR=1 /DOO SQLITE_VER_MINOR=0 /DOOSQLITE_VER_LEVEL=0 /DOOSQLITE_VER_BUILD=9434 /DOOSQLITE_VER_STRING=\""1.0.0.9434"\" /DOOSQLITE_COPYRIGHT_YEAR=\""2012-2013"\" / I src\sqlite /I src\platform\windows /DSQLITE_ENABLE_COLUMN_METADATA /DSQLITE_ENABLE_MEMORY_MANAGEMENT /DSQLITE_ENABLE_FTS3 /DSQLITE_ENABLE_FTS3_PAREN THESIS /DSQLITE_DEFAULT_FOREIGN_KEYS=1 /DSQLITE_CORE /DSQLITE_HAS_CODEC /D:_X86_ /DWIN32 /DNDEBUG /DNULL=0 /c /DOOSQLITE_BUILD /Fo.\build\release\ src \ooSQLite.cpp ooSQLite.cpp C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(8) : error C2371: 'int8_t' : redefinition; different basic types c:\program files (x86)\oorexx\api\rexxapitypes.h(58) : see declaration of 'int8_t' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(57) : warning C4005: 'INT8_MIN' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(96) : see previous definition of 'INT8_MIN' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(58) : warning C4005: 'INT16_MIN' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(92) : see previous definition of 'INT16_MIN' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(59) : warning C4005: 'INT32_MIN' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(88) : see previous definition of 'INT32_MIN' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(60) : warning C4005: 'INT64_MIN' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(100) : see previous definition of 'INT64_MIN' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(61) : warning C4005: 'INT8_MAX' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(95) : see previous definition of 'INT8_MAX' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(62) : warning C4005: 'INT16_MAX' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(91) : see previous definition of 'INT16_MAX' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(63) : warning C4005: 'INT32_MAX' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(87) : see previous definition of 'INT32_MAX' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(64) : warning C4005: 'INT64_MAX' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(99) : see previous definition of 'INT64_MAX' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(65) : warning C4005: 'UINT8_MAX' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(94) : see previous definition of 'UINT8_MAX' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(66) : warning C4005: 'UINT16_MAX' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(90) : see previous definition of 'UINT16_MAX' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(67) : warning C4005: 'UINT32_MAX' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(86) : see previous definition of 'UINT32_MAX' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(68) : warning C4005: 'UINT64_MAX' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(98) : see previous definition of 'UINT64_MAX' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(101) : warning C4005: 'INTPTR_MIN' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(84) : see previous definition of 'INTPTR_MIN' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(102) : warning C4005: 'INTPTR_MAX' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(83) : see previous definition of 'INTPTR_MAX' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(103) : warning C4005: 'UINTPTR_MAX' : macro redefinition c:\program files (x86)\oorexx\api\rexxapitypes.h(82) : see previous definition of 'UINTPTR_MAX' NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\cl.EXE"' : return code '0x2' Stop. Can you help out? I already know the answer :) Staffan |
From: Mark M. <mie...@gm...> - 2013-09-24 17:31:43
|
Hi Staffan, I'll have to give you more help tonight if I have time. The basic problem is the include of \INCLUDE\stdint.h in your VC++ 11. I'm using VC++ 10 and don't see this at all. There could be a new include in the ooSQLite source that is indirectly including stdint.h. If you can figure out which one, you might be able to comment it out and maybe it is not needed. I think Rick might have already enhanced the ooRexx code in trunk to remove this problem. Tonight I'll look that up, and give you a way to patch you 4.1 ooRexx code as a work around. -- Mark Miesfeld On Tue, Sep 24, 2013 at 9:18 AM, Staffan Tylen <sta...@gm...>wrote: > Hi Mark, I've been quite inactive lately but today I decided to do an SVN > update of ooSQLite to the latest version. I made the necessary changes to > my makefile but when I compile I now get the following set of messages: > > cl /nologo /EHsc /O2 /Gs /Gy /FAs /Fabuild\release\ /MT /W3 > /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE > /DOOSQLITE_VER_MAJOR=1 /DOO > SQLITE_VER_MINOR=0 /DOOSQLITE_VER_LEVEL=0 /DOOSQLITE_VER_BUILD=9434 > /DOOSQLITE_VER_STRING=\""1.0.0.9434"\" > /DOOSQLITE_COPYRIGHT_YEAR=\""2012-2013"\" / > I src\sqlite /I src\platform\windows /DSQLITE_ENABLE_COLUMN_METADATA > /DSQLITE_ENABLE_MEMORY_MANAGEMENT /DSQLITE_ENABLE_FTS3 > /DSQLITE_ENABLE_FTS3_PAREN > THESIS /DSQLITE_DEFAULT_FOREIGN_KEYS=1 /DSQLITE_CORE /DSQLITE_HAS_CODEC > /D:_X86_ /DWIN32 /DNDEBUG /DNULL=0 /c /DOOSQLITE_BUILD /Fo.\build\release\ > src > \ooSQLite.cpp > ooSQLite.cpp > C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\stdint.h(8) > : error C2371: 'int8_t' : redefinition; different basic types > c:\program files (x86)\oorexx\api\rexxapitypes.h(58) : see > declaration of 'int8_t' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(57) : warning C4005: 'INT8_MIN' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(96) : see > previous definition of 'INT8_MIN' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(58) : warning C4005: 'INT16_MIN' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(92) : see > previous definition of 'INT16_MIN' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(59) : warning C4005: 'INT32_MIN' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(88) : see > previous definition of 'INT32_MIN' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(60) : warning C4005: 'INT64_MIN' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(100) : see > previous definition of 'INT64_MIN' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(61) : warning C4005: 'INT8_MAX' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(95) : see > previous definition of 'INT8_MAX' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(62) : warning C4005: 'INT16_MAX' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(91) : see > previous definition of 'INT16_MAX' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(63) : warning C4005: 'INT32_MAX' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(87) : see > previous definition of 'INT32_MAX' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(64) : warning C4005: 'INT64_MAX' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(99) : see > previous definition of 'INT64_MAX' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(65) : warning C4005: 'UINT8_MAX' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(94) : see > previous definition of 'UINT8_MAX' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(66) : warning C4005: 'UINT16_MAX' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(90) : see > previous definition of 'UINT16_MAX' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(67) : warning C4005: 'UINT32_MAX' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(86) : see > previous definition of 'UINT32_MAX' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(68) : warning C4005: 'UINT64_MAX' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(98) : see > previous definition of 'UINT64_MAX' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(101) : warning C4005: 'INTPTR_MIN' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(84) : see > previous definition of 'INTPTR_MIN' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(102) : warning C4005: 'INTPTR_MAX' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(83) : see > previous definition of 'INTPTR_MAX' > C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\INCLUDE\stdint.h(103) : warning C4005: 'UINTPTR_MAX' : macro > redefinition > c:\program files (x86)\oorexx\api\rexxapitypes.h(82) : see > previous definition of 'UINTPTR_MAX' > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual > Studio 11.0\VC\BIN\cl.EXE"' : return code '0x2' > Stop. > > Can you help out? I already know the answer :) > > Staffan > > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users > > |
From: Staffan T. <sta...@gm...> - 2013-09-24 18:51:16
|
> There could be a new include in the ooSQLite source that is indirectly > including stdint.h. If you can figure out which one, you might be able to > comment it out and maybe it is not needed. > > I searched the ooSQLite source tree and found hits in sqlite\sqlite3.c and platform\unix\sqlite-autoconf\configure (of no interest here I guess), don't know if this helps. |
From: Mark M. <mie...@gm...> - 2013-09-24 23:56:48
|
On Tue, Sep 24, 2013 at 9:18 AM, Staffan Tylen <sta...@gm...>wrote: > I *made the necessary changes to my makefile* but when I compile I now > get the following set of messages: > Hi Staffan, I just looked at my Visual Studio install and it does have stdint. > cl /nologo /EHsc /O2 /Gs /Gy /FAs /Fabuild\release\ /MT /W3 > /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE > /DOOSQLITE_VER_MAJOR=1 /DOO > SQLITE_VER_MINOR=0 /DOOSQLITE_VER_LEVEL=0 /DOOSQLITE_VER_BUILD=9434 > /DOOSQLITE_VER_STRING=\""1.0.0.9434"\" > /DOOSQLITE_COPYRIGHT_YEAR=\""2012-2013"\" / > I src\sqlite /I src\platform\windows /DSQLITE_ENABLE_COLUMN_METADATA > /DSQLITE_ENABLE_MEMORY_MANAGEMENT /DSQLITE_ENABLE_FTS3 > /DSQLITE_ENABLE_FTS3_PAREN > THESIS /DSQLITE_DEFAULT_FOREIGN_KEYS=1 /DSQLITE_CORE /DSQLITE_HAS_CODEC > /D:_X86_ /DWIN32 /DNDEBUG /DNULL=0 /c /DOOSQLITE_BUILD */Fo.\build\release\ > src* > *\ooSQLite.cpp* > That shows you are compiling the ooSQLite.cpp source file. There is nothing in that source that includes stdint.h. ooSQLite.cpp > C:\Program Files (x86)\Microsoft Visual Studio 11.0\* > VC\INCLUDE\stdint.h(8)* : error C2371: > That shows that stdint.h did get included somehow. What you need to do is go to that VC\INCLUDE directory and temporarily move stdint.h up one directory level. Then do a clean rebuild. That should produce an error when the compiler can't find the file with a trace of which file(s) it got included from. Post that output here so I can what is including the file. By the way, ooSQLite.cpp includes sqlite3.h. I thought maybe the SQLITE_HAS_CODEC define might be pulling stdint.h in. But it isn't. -- Mark Miesfeld |
From: Staffan T. <sta...@gm...> - 2013-09-25 09:56:54
|
Mark, here is the output. cl /nologo /EHsc /O2 /Gs /Gy /FAs /Fabuild\release\ /MT /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DOOSQLITE_VER_MAJOR=1 /DOO SQLITE_VER_MINOR=0 /DOOSQLITE_VER_LEVEL=0 /DOOSQLITE_VER_BUILD=9434 /DOOSQLITE_VER_STRING=\""1.0.0.9434"\" /DOOSQLITE_COPYRIGHT_YEAR=\""2012-2013"\" / I src\sqlite /I src\platform\windows /DSQLITE_ENABLE_COLUMN_METADATA /DSQLITE_ENABLE_MEMORY_MANAGEMENT /DSQLITE_ENABLE_FTS3 /DSQLITE_ENABLE_FTS3_PAREN THESIS /DSQLITE_DEFAULT_FOREIGN_KEYS=1 /DSQLITE_CORE /DSQLITE_HAS_CODEC /D:_X86_ /DWIN32 /DNDEBUG /DNULL=0 /c /DOOSQLITE_BUILD /Fo.\build\release\ src \ooSQLite.cpp ooSQLite.cpp C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\memory(7) : fatal error C1083: Cannot open include file: 'stdint.h': No such file or di rectory NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\cl.EXE"' : return code '0x2' Stop. There exists a file called memory (in addition to memory.h) that contains the following lines at top: // memory standard header #pragma once #ifndef _MEMORY_ #define _MEMORY_ #ifndef RC_INVOKED #include <xmemory> #include <stdint.h> /* for uintptr_t */ I hope this helps. Staffan On Wed, Sep 25, 2013 at 1:56 AM, Mark Miesfeld <mie...@gm...> wrote: > On Tue, Sep 24, 2013 at 9:18 AM, Staffan Tylen <sta...@gm...>wrote: > >> I *made the necessary changes to my makefile* but when I compile I now >> get the following set of messages: >> > > Hi Staffan, > > I just looked at my Visual Studio install and it does have stdint. > > > >> cl /nologo /EHsc /O2 /Gs /Gy /FAs /Fabuild\release\ /MT /W3 >> /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE >> /DOOSQLITE_VER_MAJOR=1 /DOO >> SQLITE_VER_MINOR=0 /DOOSQLITE_VER_LEVEL=0 /DOOSQLITE_VER_BUILD=9434 >> /DOOSQLITE_VER_STRING=\""1.0.0.9434"\" >> /DOOSQLITE_COPYRIGHT_YEAR=\""2012-2013"\" / >> I src\sqlite /I src\platform\windows /DSQLITE_ENABLE_COLUMN_METADATA >> /DSQLITE_ENABLE_MEMORY_MANAGEMENT /DSQLITE_ENABLE_FTS3 >> /DSQLITE_ENABLE_FTS3_PAREN >> THESIS /DSQLITE_DEFAULT_FOREIGN_KEYS=1 /DSQLITE_CORE /DSQLITE_HAS_CODEC >> /D:_X86_ /DWIN32 /DNDEBUG /DNULL=0 /c /DOOSQLITE_BUILD */Fo.\build\release\ >> src* >> *\ooSQLite.cpp* >> > > That shows you are compiling the ooSQLite.cpp source file. There is > nothing in that source that includes stdint.h. > > > ooSQLite.cpp >> C:\Program Files (x86)\Microsoft Visual Studio 11.0\* >> VC\INCLUDE\stdint.h(8)* : error C2371: >> > > That shows that stdint.h did get included somehow. > > What you need to do is go to that VC\INCLUDE directory and temporarily > move stdint.h up one directory level. Then do a clean rebuild. That > should produce an error when the compiler can't find the file with a trace > of which file(s) it got included from. > > Post that output here so I can what is including the file. > > By the way, ooSQLite.cpp includes sqlite3.h. I thought maybe > the SQLITE_HAS_CODEC define might be pulling stdint.h in. But it isn't. > > -- > Mark Miesfeld > > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users > > |
From: Mark M. <mie...@gm...> - 2013-09-25 15:12:12
|
On Wed, Sep 25, 2013 at 2:56 AM, Staffan Tylen <sta...@gm...>wrote: > Mark, here is the output. > > ooSQLite.cpp > C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\memory(7) : > fatal error C1083: Cannot open include file: 'stdint.h': No such file or di > rectory > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual > Studio 11.0\VC\BIN\cl.EXE"' : return code '0x2' > Stop. > > There exists a file called memory (in addition to memory.h) that contains > the following lines at top: > > // memory standard header > #pragma once > #ifndef _MEMORY_ > #define _MEMORY_ > #ifndef RC_INVOKED > #include <xmemory> > #include <stdint.h> /* for uintptr_t */ > Well, that explains why I don't see any problems. The Visual Studio 10 headers don't include stdint.h there. I don't have time to work on a real solution until, maybe, this weekend. If you just want to compile you can try this In the ooSQLite make file add this define: _STDINT I would just add it to this line: BASEFLAGS = $(WARNINGFLAGS) $(VERDEFS) $(EXTRAINCLUDE) $(SQLITEFLAGS) make it: BASEFLAGS = $(WARNINGFLAGS) $(VERDEFS) $(EXTRAINCLUDE) $(SQLITEFLAGS) /D_STDINT I think that will work. If it doesn't and you don't mind making a temporary change to one of the ooRexx header files you could try this: In rexxapitypes.h on line 67 change this: typedef char int8_t; to this: typedef signed char int8_t; You will still see the warnings, but it should eliminate the error that stops the build. You can find rexxapitypes.h in the api subdirectory of your ooRexx install Directory of C:\rexx\ooRexx\api 09/17/2013 07:51 AM <DIR> . 09/17/2013 07:51 AM <DIR> .. 05/18/2013 08:44 PM 153,716 oorexxapi.h 07/10/2012 12:36 PM 42,572 oorexxerrors.h 02/25/2010 02:19 PM 40,334 rexx.h 09/17/2013 07:48 AM 5,104 rexx.lib 09/17/2013 07:45 AM 9,544 rexxapi.lib 02/25/2010 02:19 PM 15,581 rexxapidefs.h 02/25/2010 02:19 PM 4,726 rexxapitypes.h 02/25/2010 02:19 PM 3,741 rexxplatformapis.h 02/25/2010 02:19 PM 3,271 rexxplatformdefs.h If neither works, then you'll probably have to wait until I have time to address the issue. Which I'll have to do sooner or later because I'll want to move on from Visual Studio 2010. -- Mark Miesfeld |
From: Staffan T. <sta...@gm...> - 2013-09-25 15:30:20
|
Thanks Mark. As I'm in no rush at all with this I prefer to wait for an official solution to this. Staffan On Wed, Sep 25, 2013 at 5:12 PM, Mark Miesfeld <mie...@gm...> wrote: > On Wed, Sep 25, 2013 at 2:56 AM, Staffan Tylen <sta...@gm...>wrote: > >> Mark, here is the output. >> >> ooSQLite.cpp >> C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\memory(7) >> : fatal error C1083: Cannot open include file: 'stdint.h': No such file or >> di >> rectory >> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual >> Studio 11.0\VC\BIN\cl.EXE"' : return code '0x2' >> Stop. >> >> There exists a file called memory (in addition to memory.h) that contains >> the following lines at top: >> >> // memory standard header >> #pragma once >> #ifndef _MEMORY_ >> #define _MEMORY_ >> #ifndef RC_INVOKED >> #include <xmemory> >> #include <stdint.h> /* for uintptr_t */ >> > > Well, that explains why I don't see any problems. The Visual Studio 10 > headers don't include stdint.h there. > > I don't have time to work on a real solution until, maybe, this weekend. > > If you just want to compile you can try this > > In the ooSQLite make file add this define: _STDINT I would just add it to > this line: > > BASEFLAGS = $(WARNINGFLAGS) $(VERDEFS) $(EXTRAINCLUDE) $(SQLITEFLAGS) > > make it: > > BASEFLAGS = $(WARNINGFLAGS) $(VERDEFS) $(EXTRAINCLUDE) $(SQLITEFLAGS) > /D_STDINT > > I think that will work. > > If it doesn't and you don't mind making a temporary change to one of the > ooRexx header files you could try this: > > In rexxapitypes.h on line 67 change this: > > typedef char int8_t; > > to this: > > typedef signed char int8_t; > > You will still see the warnings, but it should eliminate the error that > stops the build. > > You can find rexxapitypes.h in the api subdirectory of your ooRexx install > > Directory of C:\rexx\ooRexx\api > > 09/17/2013 07:51 AM <DIR> . > 09/17/2013 07:51 AM <DIR> .. > 05/18/2013 08:44 PM 153,716 oorexxapi.h > 07/10/2012 12:36 PM 42,572 oorexxerrors.h > 02/25/2010 02:19 PM 40,334 rexx.h > 09/17/2013 07:48 AM 5,104 rexx.lib > 09/17/2013 07:45 AM 9,544 rexxapi.lib > 02/25/2010 02:19 PM 15,581 rexxapidefs.h > 02/25/2010 02:19 PM 4,726 rexxapitypes.h > 02/25/2010 02:19 PM 3,741 rexxplatformapis.h > 02/25/2010 02:19 PM 3,271 rexxplatformdefs.h > > > If neither works, then you'll probably have to wait until I have time to > address the issue. Which I'll have to do sooner or later because I'll want > to move on from Visual Studio 2010. > > -- > Mark Miesfeld > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users > > |
From: Mark M. <mie...@gm...> - 2013-09-25 15:32:51
|
Okay. -- Mark Miesfeld On Wed, Sep 25, 2013 at 8:29 AM, Staffan Tylen <sta...@gm...>wrote: > Thanks Mark. As I'm in no rush at all with this I prefer to wait for an > official solution to this. > > Staffan > > > > On Wed, Sep 25, 2013 at 5:12 PM, Mark Miesfeld <mie...@gm...> wrote: > >> On Wed, Sep 25, 2013 at 2:56 AM, Staffan Tylen <sta...@gm...>wrote: >> >>> Mark, here is the output. >>> >>> ooSQLite.cpp >>> C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\memory(7) >>> : fatal error C1083: Cannot open include file: 'stdint.h': No such file or >>> di >>> rectory >>> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual >>> Studio 11.0\VC\BIN\cl.EXE"' : return code '0x2' >>> Stop. >>> >>> There exists a file called memory (in addition to memory.h) that >>> contains the following lines at top: >>> >>> // memory standard header >>> #pragma once >>> #ifndef _MEMORY_ >>> #define _MEMORY_ >>> #ifndef RC_INVOKED >>> #include <xmemory> >>> #include <stdint.h> /* for uintptr_t */ >>> >> >> Well, that explains why I don't see any problems. The Visual Studio 10 >> headers don't include stdint.h there. >> >> I don't have time to work on a real solution until, maybe, this weekend. >> >> If you just want to compile you can try this >> >> In the ooSQLite make file add this define: _STDINT I would just add it >> to this line: >> >> BASEFLAGS = $(WARNINGFLAGS) $(VERDEFS) $(EXTRAINCLUDE) $(SQLITEFLAGS) >> >> make it: >> >> BASEFLAGS = $(WARNINGFLAGS) $(VERDEFS) $(EXTRAINCLUDE) $(SQLITEFLAGS) >> /D_STDINT >> >> I think that will work. >> >> If it doesn't and you don't mind making a temporary change to one of the >> ooRexx header files you could try this: >> >> In rexxapitypes.h on line 67 change this: >> >> typedef char int8_t; >> >> to this: >> >> typedef signed char int8_t; >> >> You will still see the warnings, but it should eliminate the error that >> stops the build. >> >> You can find rexxapitypes.h in the api subdirectory of your ooRexx install >> >> Directory of C:\rexx\ooRexx\api >> >> 09/17/2013 07:51 AM <DIR> . >> 09/17/2013 07:51 AM <DIR> .. >> 05/18/2013 08:44 PM 153,716 oorexxapi.h >> 07/10/2012 12:36 PM 42,572 oorexxerrors.h >> 02/25/2010 02:19 PM 40,334 rexx.h >> 09/17/2013 07:48 AM 5,104 rexx.lib >> 09/17/2013 07:45 AM 9,544 rexxapi.lib >> 02/25/2010 02:19 PM 15,581 rexxapidefs.h >> 02/25/2010 02:19 PM 4,726 rexxapitypes.h >> 02/25/2010 02:19 PM 3,741 rexxplatformapis.h >> 02/25/2010 02:19 PM 3,271 rexxplatformdefs.h >> >> >> If neither works, then you'll probably have to wait until I have time to >> address the issue. Which I'll have to do sooner or later because I'll want >> to move on from Visual Studio 2010. >> >> -- >> Mark Miesfeld >> >> >> ------------------------------------------------------------------------------ >> October Webinars: Code for Performance >> Free Intel webinars can help you accelerate application performance. >> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most >> from >> the latest Intel processors and coprocessors. See abstracts and register > >> >> http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk >> _______________________________________________ >> Oorexx-users mailing list >> Oor...@li... >> https://lists.sourceforge.net/lists/listinfo/oorexx-users >> >> > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users > > |
From: Mark M. <mie...@gm...> - 2013-09-29 16:55:05
|
On Wed, Sep 25, 2013 at 8:29 AM, Staffan Tylen <sta...@gm...>wrote: > Thanks Mark. As I'm in no rush at all with this I prefer to wait for an > official solution to this. > Hi Staffan, I have checked in code to address this issue. However, it requires a change to one of the header files that is included to build external native extensions, like ooSQLite. That change won't be in ooRexx until the next release. The ooSQLite Windows make file has been updated to automatically work in the situation you have. But, it needs to compile using the updated header. If you want to build now, you have 2 options: 1.) You can check out and build your own ooRexx. If you want to do this, you should check out the fixes branch using this URL: svn+ssh://mie...@sv.../p/oorexx/code-0/main/branches/4.1/trunk 2.) You could just grab the updated header file and put it in your current installation of ooRexx. Which I'm assuming is ooRexx 4.1.3. You can grab the file from this URL svn+ssh:// mie...@sv.../p/oorexx/code-0/main/branches/4.1/trunk/api/platform/windows/rexxapitypes.h In your install of ooRexx, there is the subdirectory: api C:\work.ooRexx\wc\incubator\ooSQLite>dir %REXX_HOME%\api Volume in drive C is Win7 Volume Serial Number is D25E-50D5 Directory of C:\Rexx\ooRexx\api 09/29/2013 09:14 AM <DIR> . 09/29/2013 09:14 AM <DIR> .. 05/18/2013 08:44 PM 153,716 oorexxapi.h 07/10/2012 12:36 PM 42,572 oorexxerrors.h 02/25/2010 02:19 PM 40,334 rexx.h 09/29/2013 09:09 AM 5,104 rexx.lib 09/29/2013 09:06 AM 9,544 rexxapi.lib 02/25/2010 02:19 PM 15,581 rexxapidefs.h 09/29/2013 09:28 AM 5,189* rexxapitypes.h* 02/25/2010 02:19 PM 3,741 rexxplatformapis.h 02/25/2010 02:19 PM 3,271 rexxplatformdefs.h 9 File(s) 279,052 bytes 2 Dir(s) 2,711,363,584 bytes free Just replace the rexxapitypes.h file with the one from main/branches/4.1/trunk/api/platform/windows/ in the repostory That is what I would do. It is the simplest. I'm assuming you can translate the above URLs to the correct ones, which are specific to my login ID. -- Mark Miesfeld |
From: Staffan T. <sta...@gm...> - 2013-09-29 18:53:35
|
> Just replace the rexxapitypes.h file with the one from > main/branches/4.1/trunk/api/platform/windows/ in the repostory > > That is what I would do. It is the simplest. > > This is what I did and it seems to work, no error messages. But suddenly I stumble over a new problem in the link of oosqlite.dll: link /nologo /SUBSYSTEM:Windows rexx.lib rexxapi.lib user32.lib advapi32.lib -def:src\platform\windows\ooSQLite.def /DLL build\release\sqlite3 .obj build\release\ooSQLite.obj build\release\APICommon.obj build\release\ooSqlSysLibrary.obj build\release\nextchar.obj build\release\ieee754.obj bu ild\release\percentile.obj build\release\rot13.obj build\release\regexp.obj build\release\spellfix.obj build\release\wholenumber.obj -out:build\relea se\oosqlite.dll LINK : fatal error LNK1181: cannot open input file 'build\release\sqlite3.obj' The compile of sqlite3.c looks like this in my case: $(OUT_DIR)\sqlite3.obj: src\sqlite\sqlite3_with_codec.c src\sqlite\sqlite3.h Makefile.win cl $(CFLAGS) /DOOSQLITE_BUILD /Fo.\$(OUT_DIR)\ src\sqlite\sqlite3_with_codec.c This has worked for a long time but now suddenly sqlite3.obj can't be found. The above compile actually generates sqlite3_with_codec.obj now instead of sqlite3.obj and I cannot figure out why. Any idea? Staffan |
From: Mark M. <mie...@gm...> - 2013-09-29 19:51:45
|
On Sun, Sep 29, 2013 at 11:53 AM, Staffan Tylen <sta...@gm...>wrote: > > Just replace the rexxapitypes.h file with the one from >> main/branches/4.1/trunk/api/platform/windows/ in the repostory >> >> That is what I would do. It is the simplest. >> >> > This is what I did and it seems to work, no error messages. But suddenly I > stumble over a new problem in the link of oosqlite.dll: > ... > > $(OUT_DIR)\sqlite3.obj: src\sqlite\sqlite3_with_codec.c > src\sqlite\sqlite3.h Makefile.win > cl $(CFLAGS) /DOOSQLITE_BUILD /Fo.\$(OUT_DIR)\ > src\sqlite\sqlite3_with_codec.c > > Well, I don't see how that would ever work. The /Fo option is to rename the object file or directory. Since you only specify a directory, the compiler will use the base name of the file being compiled. You would need this: /Fo.\$(OUT_DIR)\sqlite3.obj Although I think the .obj is not needed. But, you need to specify the base name of the .obj file if you want it to be different from the base name of the .c file. -- Mark Miesfeld |
From: Staffan T. <sta...@gm...> - 2013-09-29 22:32:34
|
> Well, I don't see how that would ever work. The /Fo option is to rename > the object file or directory. Since you only specify a directory, the > compiler will use the base name of the file being compiled. > > You would need this: > > /Fo.\$(OUT_DIR)\sqlite3.obj > > Thanks, yes that did it. But I feel very sure when I say that the .obj file wasn't specified before. Well, I guess c'est la vie... BUT, now something else happens: link /nologo /SUBSYSTEM:Windows rexx.lib rexxapi.lib user32.lib advapi32.lib -def:src\platform\windows\ooSQLite.def /DLL build\release\sqlite3 .obj build\release\ooSQLite.obj build\release\APICommon.obj build\release\ooSqlSysLibrary.obj build\release\nextchar.obj build\release\ieee754.obj bu ild\release\percentile.obj build\release\rot13.obj build\release\regexp.obj build\release\spellfix.obj build\release\wholenumber.obj build\release\s hell.obj build\release\codec.obj build\release\botan_all.obj -out:build\release\oosqlite.dll Creating library build\release\oosqlite.lib and object build\release\oosqlite.exp sqlite3.obj : error LNK2019: unresolved external symbol _sqlite3_key_v2 referenced in function _sqlite3Pragma sqlite3.obj : error LNK2019: unresolved external symbol _sqlite3_rekey_v2 referenced in function _sqlite3Pragma build\release\oosqlite.dll : fatal error LNK1120: 2 unresolved externals To cure some other unresolved external references I had to add the following to the OBJ_FILES concatenation: $(OUT_DIR)\codec.obj $(OUT_DIR)\botan_all.obj but that doesn't seem to be enough. I tried to include shell.obj as well but nothing changed. So any idea what's missing now? Staffan |
From: Mark M. <mie...@gm...> - 2013-09-29 23:35:57
|
On Sun, Sep 29, 2013 at 3:32 PM, Staffan Tylen <sta...@gm...>wrote: > > >> BUT, now something else happens: > ... > sqlite3.obj : error LNK2019: unresolved external symbol *_sqlite3_key_v2*referenced in function _sqlite3Pragma > I don't remember exactly how that encrypted stuff works, but I think that function implementation needs to be in the 'extra' code you bring in. It should be in codecext.c. But it is not in the version I have from some time ago. So, I'm assuming because of the _v2 it is new. You would need to find the implementation of it. -- Mark Miesfeld |
From: Mark M. <mie...@gm...> - 2013-09-29 23:49:06
|
It looks to me like, when we fooled around with this before, SQLite used sqlite3_key() and rekey. Now in the latest SQLite code they have changed to use sqlite3_key_v2() You would need to find an updated codecext.c that has an implementation for the _v2 functions. -- Mark Miesfeld On Sun, Sep 29, 2013 at 4:35 PM, Mark Miesfeld <mie...@gm...> wrote: > On Sun, Sep 29, 2013 at 3:32 PM, Staffan Tylen <sta...@gm...>wrote: > >> >> >>> BUT, now something else happens: >> ... >> sqlite3.obj : error LNK2019: unresolved external symbol *_sqlite3_key_v2*referenced in function _sqlite3Pragma >> > > I don't remember exactly how that encrypted stuff works, but I think that > function implementation needs to be in the 'extra' code you bring in. > > It should be in codecext.c. But it is not in the version I have from some > time ago. So, I'm assuming because of the _v2 it is new. You would need > to find the implementation of it. > > -- > Mark Miesfeld > |
From: Staffan T. <sta...@gm...> - 2013-09-30 08:09:06
|
Aah, that's interesting. Need to look into this. Thanks. Staffan On Mon, Sep 30, 2013 at 1:48 AM, Mark Miesfeld <mie...@gm...> wrote: > It looks to me like, when we fooled around with this before, SQLite > used sqlite3_key() and rekey. Now in the latest SQLite code they have > changed to use sqlite3_key_v2() > > You would need to find an updated codecext.c that has an implementation > for the _v2 functions. > > -- > Mark Miesfeld > > > > On Sun, Sep 29, 2013 at 4:35 PM, Mark Miesfeld <mie...@gm...> wrote: > >> On Sun, Sep 29, 2013 at 3:32 PM, Staffan Tylen <sta...@gm...>wrote: >> >>> >>> >>>> BUT, now something else happens: >>> ... >>> sqlite3.obj : error LNK2019: unresolved external symbol *_sqlite3_key_v2 >>> * referenced in function _sqlite3Pragma >>> >> >> I don't remember exactly how that encrypted stuff works, but I think that >> function implementation needs to be in the 'extra' code you bring in. >> >> It should be in codecext.c. But it is not in the version I have from >> some time ago. So, I'm assuming because of the _v2 it is new. You would >> need to find the implementation of it. >> >> -- >> Mark Miesfeld >> > > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users > > |
From: Staffan T. <sta...@gm...> - 2013-09-30 11:41:03
|
It looks like I solved it. I added two new entry points with the _v2 specifications that just invoke the original (v1) code into my own extension code, compiled and Voilá! It works. And the version now says 3.8.0. Of course this means that the new v2 functionality can't be used at this time, but I'm not interested in it anyway, so all fine. Thanks. Staffan On Mon, Sep 30, 2013 at 1:48 AM, Mark Miesfeld <mie...@gm...> wrote: > It looks to me like, when we fooled around with this before, SQLite > used sqlite3_key() and rekey. Now in the latest SQLite code they have > changed to use sqlite3_key_v2() > > You would need to find an updated codecext.c that has an implementation > for the _v2 functions. > > -- > Mark Miesfeld > > > > On Sun, Sep 29, 2013 at 4:35 PM, Mark Miesfeld <mie...@gm...> wrote: > >> On Sun, Sep 29, 2013 at 3:32 PM, Staffan Tylen <sta...@gm...>wrote: >> >>> >>> >>>> BUT, now something else happens: >>> ... >>> sqlite3.obj : error LNK2019: unresolved external symbol *_sqlite3_key_v2 >>> * referenced in function _sqlite3Pragma >>> >> >> I don't remember exactly how that encrypted stuff works, but I think that >> function implementation needs to be in the 'extra' code you bring in. >> >> It should be in codecext.c. But it is not in the version I have from >> some time ago. So, I'm assuming because of the _v2 it is new. You would >> need to find the implementation of it. >> >> -- >> Mark Miesfeld >> > > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users > > |