Previous Thread
Next Thread
Print Thread
Page 153 of 528 1 2 151 152 153 154 155 527 528
Re: SVN builds - new driver flood [Re: Anna Wu] #62541 06/06/10 12:53 PM
Joined: Jul 2007
Posts: 4,625
A
Anna Wu Offline OP
Very Senior Member
OP Offline
Very Senior Member
A
Joined: Jul 2007
Posts: 4,625
My second try with clean compile.

Quote:
C:\Emulator\Mess\SVN\Bin\mess>make TARGET=mess
Compiling src/mame/drivers/megadriv.c...
src/mame/drivers/megadriv.c: In function 'void driver_init__32x(running_machine*
)':
src/mame/drivers/megadriv.c:6577: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make: *** [obj/windows/mess/mame/drivers/megadriv.o] Error 1


Can it be, something wrong with my GCC 4.4.3 20091223 version ?

Re: SVN builds - new driver flood [Re: etabeta78] #62543 06/06/10 01:00 PM
Joined: Jul 2007
Posts: 4,625
A
Anna Wu Offline OP
Very Senior Member
OP Offline
Very Senior Member
A
Joined: Jul 2007
Posts: 4,625
Originally Posted By etabeta78
you might have stopped compilation during first run, ending up with a half-compiled megadriv.o

try deleting it from the obj/windows/mess/mame/drivers/ directory and restarting compilation

current svn compiles fine


Thank you to try to help me. smile
My obj/windows/mess/mame/drivers/ directory is and was empty.




Re: SVN builds - new driver flood [Re: Anna Wu] #62545 06/06/10 01:09 PM
Joined: Aug 2004
Posts: 1,383
Robbbert Offline
Very Senior Member
Offline
Very Senior Member
Joined: Aug 2004
Posts: 1,383
I got the same error today on a clean compile, it has happened to very many people, however I'm told we all have faulty pcs.

One suggestion is to not use the -j option, but if that doesn't fix it, go to mess/drivers/genesis.c, mame/includes/megadriv.h, and mame/drivers/megadriv.c and change the reference of DRIVER_INIT(_32x) to x32x. That always works. No idea why though.


If you get a segfault while compiling tms57002, open the file it complains about (tms57002.c), look for the first occurence of "cycles > 0" (without the quotes) (it's a IF statement) and enclose it in ( ) - so it looks like (cycles > 0) .. this always works too, again no idea what difference it could make.

Last edited by robbbert; 06/06/10 01:16 PM.
Re: SVN builds - new driver flood [Re: Robbbert] #62547 06/06/10 01:22 PM
Joined: Mar 2006
Posts: 1,032
L
Lord Nightmare Offline
Very Senior Member
Offline
Very Senior Member
L
Joined: Mar 2006
Posts: 1,032
Not faulty pcs, its just that the newer mame/mess build toolkit mingw64 version has some nasty extremely-hard-to-track compiler bugs which are especially prevalent in the 32 bit version but don't affect the 64 bit version much if at all.
They also, for some reason, cause much more problems on winxp than on win7 or vista, and I have no idea why...

LN


"When life gives you zombies... *CHA-CHIK!* ...you make zombie-ade!"
Re: SVN builds - new driver flood [Re: Lord Nightmare] #62548 06/06/10 01:25 PM
Joined: Mar 2001
Posts: 16,305
R
R. Belmont Offline
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,305
More accurately, there's an intermittent compiler bug on XP (a 10 year old operating system) which doesn't occur on 32 or 64 bit versions of Vista or 7 (or at all on Linux/BSD/Mac). The same compiler bug also occurs on systems which are overclocked or have faulty RAM.

Anyway, Firewave was pissed because it wasn't happening for a while, so now he can go to work.

Re: SVN builds - new driver flood [Re: Robbbert] #62549 06/06/10 01:39 PM
Joined: Jul 2007
Posts: 4,625
A
Anna Wu Offline OP
Very Senior Member
OP Offline
Very Senior Member
A
Joined: Jul 2007
Posts: 4,625
Originally Posted By robbbert
I got the same error today on a clean compile, it has happened to very many people, however I'm told we all have faulty pcs.

One suggestion is to not use the -j option, but if that doesn't fix it, go to mess/drivers/genesis.c, mame/includes/megadriv.h, and mame/drivers/megadriv.c and change the reference of DRIVER_INIT(_32x) to x32x. That always works. No idea why though.


If you get a segfault while compiling tms57002, open the file it complains about (tms57002.c), look for the first occurence of "cycles > 0" (without the quotes) (it's a IF statement) and enclose it in ( ) - so it looks like (cycles > 0) .. this always works too, again no idea what difference it could make.


I not use the -j option.

mess/drivers/genesis.c


Quote:
/****************************************** SegaCD & 32X emulation ****************************************/

/* Very preliminary skeleton code from David Haywood, borrowed for MESS by Fabio Priuli */
/* These are only included to document BIOS informations currently available */

static DRIVER_INIT( mess_32x )
{
DRIVER_INIT_CALL(_32x);
DRIVER_INIT_CALL(mess_md_common);
}

static MACHINE_DRIVER_START( ms_32x )
MDRV_IMPORT_FROM( genesis_32x )

MDRV_IMPORT_FROM( _32x_cartslot )
MACHINE_DRIVER_END


to


Quote:
/****************************************** SegaCD & 32X emulation ****************************************/

/* Very preliminary skeleton code from David Haywood, borrowed for MESS by Fabio Priuli */
/* These are only included to document BIOS informations currently available */

static DRIVER_INIT( messx32x )
{
DRIVER_INIT_CALL([_32x);
DRIVER_INIT_CALL(mess_md_common);
}

static MACHINE_DRIVER_START( ms_32x )
MDRV_IMPORT_FROM( genesis_32x )

MDRV_IMPORT_FROM( _32x_cartslot )
MACHINE_DRIVER_END


mame/drivers/megadriv.c

Quote:

#define MASTER_CLOCK_NTSC 53693175
#define MASTER_CLOCK_PAL 53203424
#define SEGACD_CLOCK 12500000

extern DRIVER_INIT( megadriv_c2 );
extern DRIVER_INIT( megadrie );
extern DRIVER_INIT( megadriv );
extern DRIVER_INIT( megadrij );
extern DRIVER_INIT( _32x );
extern DRIVER_INIT( mpnew );


to

Quote:
#define MASTER_CLOCK_NTSC 53693175
#define MASTER_CLOCK_PAL 53203424
#define SEGACD_CLOCK 12500000

extern DRIVER_INIT( megadriv_c2 );
extern DRIVER_INIT( megadrie );
extern DRIVER_INIT( megadriv );
extern DRIVER_INIT( megadrij );
extern DRIVER_INIT( x32x );
extern DRIVER_INIT( mpnew );


mame/drivers/megadriv.c

Quote:
DRIVER_INIT( _32x )
{
_32x_dram0 = auto_alloc_array(machine, UINT16, 0x40000/2);
_32x_dram1 = auto_alloc_array(machine, UINT16, 0x40000/2);

memset(_32x_dram0, 0x00, 0x40000);
memset(_32x_dram1, 0x00, 0x40000);

_32x_palette_lookup = auto_alloc_array(machine, UINT16, 0x200/2);
_32x_palette = auto_alloc_array(machine, UINT16, 0x200/2);

memset(_32x_palette_lookup, 0x00, 0x200);
memset(_32x_palette, 0x00, 0x200);


to

Quote:
DRIVER_INIT( x32x )
{
_32x_dram0 = auto_alloc_array(machine, UINT16, 0x40000/2);
_32x_dram1 = auto_alloc_array(machine, UINT16, 0x40000/2);

memset(_32x_dram0, 0x00, 0x40000);
memset(_32x_dram1, 0x00, 0x40000);

_32x_palette_lookup = auto_alloc_array(machine, UINT16, 0x200/2);
_32x_palette = auto_alloc_array(machine, UINT16, 0x200/2);

memset(_32x_palette_lookup, 0x00, 0x200);
memset(_32x_palette, 0x00, 0x200);


Is this right or I forget something ?

Re: SVN builds - new driver flood [Re: Anna Wu] #62550 06/06/10 01:42 PM
Joined: Mar 2001
Posts: 16,305
R
R. Belmont Offline
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,305
The compiler can tell you faster and easier than us - if it generates a new error, you forgot something smile

Also, if you don't normally use -j, adding it can sometimes bypass the initial error.

Re: SVN builds - new driver flood [Re: Anna Wu] #62551 06/06/10 01:45 PM
Joined: Jan 2006
Posts: 3,687
etabeta78 Offline
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,687
that is just a workaround which might work or not on your computer, not a real fix. e.g. the unmodified code compiles perfectly on my winxp computer. this is a subtle compiler problem which we hope to solve sooner or later.

notice that someone else used a different workaround consisting of changing the order of some constant (without need of renaming any 32x item).

Kale reported that compiling with lower case

make target=mess

fixed as well the issue in his computer, but I never got the error, so I don't know if it would work for everyone.

Re: SVN builds - new driver flood [Re: R. Belmont] #62552 06/06/10 01:49 PM
Joined: Jul 2007
Posts: 4,625
A
Anna Wu Offline OP
Very Senior Member
OP Offline
Very Senior Member
A
Joined: Jul 2007
Posts: 4,625
Originally Posted By R. Belmont
The compiler can tell you faster and easier than us - if it generates a new error, you forgot something smile

Also, if you don't normally use -j, adding it can sometimes bypass the initial error.


-j is not helpful for me. What I forget ?

Re: SVN builds - new driver flood [Re: etabeta78] #62554 06/06/10 01:59 PM
Joined: Jul 2007
Posts: 4,625
A
Anna Wu Offline OP
Very Senior Member
OP Offline
Very Senior Member
A
Joined: Jul 2007
Posts: 4,625
Originally Posted By etabeta78
that is just a workaround which might work or not on your computer, not a real fix. e.g. the unmodified code compiles perfectly on my winxp computer. this is a subtle compiler problem which we hope to solve sooner or later.

notice that someone else used a different workaround consisting of changing the order of some constant (without need of renaming any 32x item).

Kale reported that compiling with lower case

make target=mess


fixed as well the issue in his computer, but I never got the error, so I don't know if it would work for everyone.


How strange is this ? sick

It seems (still in progress...) to work now ! smile

Thanks guys (robbbert, etabeta78, Arbee) for your great help.

Last edited by Anna Wu; 06/06/10 02:01 PM.
Page 153 of 528 1 2 151 152 153 154 155 527 528

Who's Online Now
3 registered members (Vas Crabb, Heihachi_73, 1 invisible), 151 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,684
Posts114,041
Members4,863
Most Online510
Aug 26th, 2019
Powered by UBB.threads™ PHP Forum Software 7.7.3