delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2013/02/17/14:15:12

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Received: by 10.224.72.199 with SMTP id n7mr7195579qaj.5.1361127753317;
Sun, 17 Feb 2013 11:02:33 -0800 (PST)
X-Received: by 10.49.34.135 with SMTP id z7mr472031qei.1.1361127753302; Sun,
17 Feb 2013 11:02:33 -0800 (PST)
Newsgroups: comp.os.msdos.djgpp
Date: Sun, 17 Feb 2013 11:02:33 -0800 (PST)
In-Reply-To: <43bcdb29-6ac3-4cdf-a0ca-e73adb60bf91@googlegroups.com>
Complaints-To: groups-abuse AT google DOT com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=2.174.12.39; posting-account=v5xbdQoAAAAOGc9Ccc-kLZyobvPlN3Qr
NNTP-Posting-Host: 2.174.12.39
References: <43bcdb29-6ac3-4cdf-a0ca-e73adb60bf91 AT googlegroups DOT com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e968bcf9-dc60-48cf-b071-51186badd430@googlegroups.com>
Subject: Re: compilation of sqlite3 on dos using djgpp
From: dosusb AT googlemail DOT com
Injection-Date: Sun, 17 Feb 2013 19:02:33 +0000
Bytes: 2530
Lines: 46
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

Well, on a lazy Sunday afternoon I tried to compile SQLite too.

The following steps allowed to compile it:

1. run "configure --disable-threadsafe"

2. modify this in sqlite3.c:

#ifdef __DJGPP__
  { "fstat",        0,                 0  },
//#define osFstat(a,b,c)    0
#define osFstat(a,b)    0 //djgpp - replacing above
#define MAP_SHARED 0
#define MAP_FAILED 0
#define ETIMEDOUT 9000 //unused number
#define ENOTCONN  9001 //unused number

#else      

3. take out munmap:

    for(i=0; i<p->nRegion; i++){
      if( p->h>=0 ){
        //djgpp munmap(p->apRegion[i], p->szRegion);
      }else{
        sqlite3_free(p->apRegion[i]);
      }
    }

4. take out mmap:

      if( pShmNode->h>=0 ){
/* djgpp
        pMem = mmap(0, szRegion,
            pShmNode->isReadonly ? PROT_READ : PROT_READ|PROT_WRITE, 
            MAP_SHARED, pShmNode->h, szRegion*(i64)pShmNode->nRegion
        );
*/
        if( pMem==MAP_FAILED ){
          rc = unixLogError(SQLITE_IOERR_SHMMAP, "mmap", pShmNode->zFilename);
          goto shmpage_out;
        }


Then it did compile and seemed to work so far. The library does not use mmap, only the shell program sqlite3.exe does and I guess that will work so far without mmap in DOS.

Georg

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019