Mumpster http://mumpster.org/ |
|
Trying to get a Cygwin port going http://mumpster.org/viewtopic.php?f=22&t=1705 |
Page 1 of 1 |
Author: | jollis [ Sun May 27, 2012 5:11 pm ] |
Post subject: | Trying to get a Cygwin port going |
Hello all, I've undertaken to start a Cygwin port of MUMPSV1, in hopes that the community could benefit from a FOSS, non-InterSystems M implementation on Windows. First problem I came across was that shmat() on Cygwin (32-bit) doesn't seem to like the 1GB address for SYSTAB_BASE. Instead of giving you a pointer to 0x40000000 as requested, it gives you a pointer to 0x7FD70000. I tried as an experiment defining SYSTAB_BASE as 0x7FD70000, which at least allows the database to be created and the environment to be initialized. However, something goes awry at this point: Code: hephaestus:[~/mumps]$ ./mumps testdb M> S ^MYVAR=1 M> W ^MYVAR,! M> H So, no globals are getting stored. Go back into the environment, and the following happens: Code: M> S ^MYGLB=1 M> W ^MYGLB,! $ECODE=,Z61, Database integrity violation found M> h There's also a MUMPS_CRASH file: Code: MUMPS CRASH OCCURED on Sun May 27 17:38:05 2012 MUMPS V1.56 for CYGWIN_NT-6.1 i686 Built May 27 2012 at 17:35:43. FATAL MUMPS ERROR occured - pid 6592!! lseek failed in Write_Chain()!! errno = 2 No such file or directory ------------------------------------------------ MUMPS CRASH OCCURED on Sun May 27 17:38:08 2012 MUMPS V1.56 for CYGWIN_NT-6.1 i686 Built May 27 2012 at 17:35:43. FATAL MUMPS ERROR occured - pid 996!! lseek failed in Write_Chain()!! errno = 3 No such process ------------------------------------------------ What I'm wondering is if someone has any ideas of what else to try. I'm guessing (somewhat blindly) that I need a better understanding of the "magic" behind SYSTAB_BASE. Thanks much! |
Author: | raynewman [ Fri Jun 29, 2012 5:09 am ] |
Post subject: | Re: Trying to get a Cygwin port going |
I don't think it's a SYSTAB problem as SYSTAB used to be defined as follows: #define SYSTAB_BASE (void *)0x1000000 // Base systab for linux Having said that, I am getting the exact same set of problems trying to port MUMPS to the Raspberry Pi. I changed SYSTAB to the above and am now looking for the other problem which is in the code: file_off = lseek( dbfd, file_off, SEEK_SET); // Seek to block I'll let you know when I find the problem. Ray |
Author: | raynewman [ Tue Jul 03, 2012 9:46 pm ] |
Post subject: | Re: Trying to get a Cygwin port going |
The problem was in the packing of structures that described on-disk data. Now fixed - it would be worth trying the Cygwin port again. Ray |
Author: | jollis [ Tue Jul 03, 2012 9:50 pm ] |
Post subject: | Re: Trying to get a Cygwin port going |
raynewman wrote: The problem was in the packing of structures that described on-disk data. Now fixed - it would be worth trying the Cygwin port again. Ray Thank you sir! I will look into the Cygwin port again once I get out from under some time-critical projects. |
Page 1 of 1 | All times are UTC - 8 hours [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |