Home Page

Can't compile latest MAME? READ THIS THREAD

Posted By: Just Desserts

Can't compile latest MAME? READ THIS THREAD - 05/16/11 06:37 PM

If you compile MAME, you will soon need this:

http://icips.us/emulation/crt/new_d3dx9_headers.zip

Put them here for x64, you can possibly put them directly in mingw/mingw64-64/include, I haven't tried it yet:
mingw/mingw64-64/x86_64-w64-mingw32/include/

Do NOT put them in the directx/ folder!

Checkin incoming...
Posted By: R. Belmont

Re: It's dangerous to go alone - take this! (NEW LIBS) - 05/16/11 06:44 PM

Please note that The Management would prefer people get the entire new compile tools package coming with the next MAME u-release. This will include newer GCC compilers and the necessary changed headers, among other things.
Posted By: Just Desserts

Re: It's dangerous to go alone - take this! (NEW LIBS) - 05/16/11 06:54 PM

Here's a phenomenal preset, in my not-so-humble opinion:
Code:
hlsl_enable               1
hlslpath                  hlsl
shadow_mask_alpha         0.6
shadow_mask_texture       aperture.png
shadow_mask_pix_width     3.0
shadow_mask_pix_height    3.0
shadow_mask_usize         0.1875
shadow_mask_vsize         0.1875
oversample_x              1.0
oversample_y              1.0
pincushion_x              0.06
pincushion_y              0.06
scanline_alpha            0.0
scanline_size             1.0
scanline_bright_scale     1.0
scanline_bright_offset    0.7
scanline_jitter           0.0
defocus_x                 0.0
defocus_y                 0.0
red_converge_x            0.1
red_converge_y            0.0
green_converge_x          0.0
green_converge_y         -0.1
blue_converge_x          -0.05
blue_converge_y           0.05
red_radial_converge_x     0.0
red_radial_converge_y     0.0
green_radial_converge_x   0.0
green_radial_converge_y   0.0
blue_radial_converge_x    0.0
blue_radial_converge_y    0.0
red_from_r                0.9
red_from_g                0.1
red_from_b                0.0
green_from_r              0.0
green_from_g              0.9
green_from_b              0.1
blue_from_r               0.1
blue_from_g               0.0
blue_from_b               0.9
saturation                1.4
red_offset                0.0
green_offset              0.0
blue_offset               0.0
red_scale                 1.25
green_scale               1.25
blue_scale                1.25
red_power                 2.2
green_power               2.2
blue_power                2.2
red_floor                 0.05
green_floor               0.05
blue_floor                0.05
red_phosphor_life         0.4
green_phosphor_life       0.4
blue_phosphor_life        0.4
y_from_y                  1.0
y_from_i                  0.0
y_from_q                  0.0
i_from_y                  0.0
i_from_i                  1.0
i_from_q                  0.0
q_from_y                  0.0
q_from_i                  0.0
q_from_q                  1.0
y_scale                   1.0
i_scale                   1.2
q_scale                   1.0
y_offset                  0.0
i_offset                  0.0
q_offset                  0.0
subsample_length          3.0
dot_crawl_width           1.0
dot_crawl_height          3.0
dot_crawl_rate            3
dot_crawl_skip            2
edge_amount               1.0
edge_ratio                0.0


If you have the GPU grunt to spare - at least a Radeon 5970 or equivalent - then crank the oversampling up to 3.0, the experience borders on religious.
Posted By: Just Desserts

Re: It's dangerous to go alone - take this! (NEW LIBS) - 05/16/11 06:59 PM

And here's a preset for an arcade monitor as opposed to a shitty NTSC TV:

Code:
hlsl_enable               1
hlslpath                  hlsl
shadow_mask_alpha         0.7
shadow_mask_texture       aperture.png
shadow_mask_pix_width     3.0
shadow_mask_pix_height    3.0
shadow_mask_usize         0.1875
shadow_mask_vsize         0.1875
oversample_x              1.0
oversample_y              1.0
pincushion_x              0.06
pincushion_y              0.06
scanline_alpha            0.0
scanline_size             1.0
scanline_bright_scale     1.0
scanline_bright_offset    0.7
scanline_jitter           0.0
defocus_x                 0.0
defocus_y                 0.0
red_converge_x            0.0
red_converge_y            0.0
green_converge_x          0.0
green_converge_y          0.0
blue_converge_x           0.0
blue_converge_y           0.0
red_radial_converge_x     0.0
red_radial_converge_y     0.0
green_radial_converge_x   0.0
green_radial_converge_y   0.0
blue_radial_converge_x    0.0
blue_radial_converge_y    0.0
red_from_r                1.0
red_from_g                0.0
red_from_b                0.0
green_from_r              0.0
green_from_g              1.0
green_from_b              0.0
blue_from_r               0.0
blue_from_g               0.0
blue_from_b               1.0
saturation                1.4
red_offset                0.0
green_offset              0.0
blue_offset               0.0
red_scale                 1.25
green_scale               1.25
blue_scale                1.25
red_power                 2.2
green_power               2.2
blue_power                2.2
red_floor                 0.05
green_floor               0.05
blue_floor                0.05
red_phosphor_life         0.4
green_phosphor_life       0.4
blue_phosphor_life        0.4
y_from_y                  1.0
y_from_i                  0.0
y_from_q                  0.0
i_from_y                  0.0
i_from_i                  1.0
i_from_q                  0.0
q_from_y                  0.0
q_from_i                  0.0
q_from_q                  1.0
y_scale                   1.0
i_scale                   1.2
q_scale                   1.0
y_offset                  0.0
i_offset                  0.0
q_offset                  0.0
subsample_length          1.0
dot_crawl_width           0.0
dot_crawl_height          3.0
dot_crawl_rate            3
dot_crawl_skip            2
edge_amount               1.0
edge_ratio                0.0

Posted By: Curt Coder

Re: It's dangerous to go alone - take this! (NEW LIBS) - 05/16/11 09:31 PM

Can we have a shitty PAL TV filter as well smile
Posted By: Just Desserts

Re: It's dangerous to go alone - take this! (NEW LIBS) - 05/16/11 09:52 PM

Originally Posted By Curt Coder
Can we have a shitty PAL TV filter as well smile


I don't know how the PAL signal works! smile
Posted By: John IV

Re: It's dangerous to go alone - take this! (NEW LIBS) - 05/16/11 11:15 PM

Thought about creating a page on your site for effect pics and the settings to get them? smile
Posted By: Dr. Spankenstein

Re: It's dangerous to go alone - take this! (NEW LIBS) - 05/16/11 11:44 PM

Posting some pictures in this thread would also be most welcome. laugh
Posted By: Just Desserts

Re: It's dangerous to go alone - take this! (NEW LIBS) - 05/16/11 11:54 PM

I have indeed thought about it - I'm going to be writing up a nice, long description of exactly how the shader works and why it works the way it does. In the meantime, yes, I will be making various screenshots to try to mimic what I see in certain videos.
Posted By: Dr.Zer0

Re: It's dangerous to go alone - take this! (NEW LIBS) - 05/17/11 12:20 AM

Yes PAL shitty filter wink
Posted By: Just Desserts

Re: It's dangerous to go alone - take this! (NEW LIBS) - 05/17/11 12:42 AM

http://icips.us/emulation/crt/fling.png

Code:
hlsl_enable               1
hlslpath                  hlsl
shadow_mask_alpha         0.4
shadow_mask_texture       aperture.png
shadow_mask_pix_width     3.0
shadow_mask_pix_height    3.0
shadow_mask_usize         0.1875
shadow_mask_vsize         0.1875
oversample_x              3.0
oversample_y              3.0
pincushion_x              0.04
pincushion_y              0.04
scanline_alpha            1.0
scanline_size             1.0
scanline_bright_scale     1.3
scanline_bright_offset    0.7
scanline_jitter           0.0
defocus_x                 3.0
defocus_y                 3.0
red_converge_x            0.5
red_converge_y            0.0
green_converge_x          0.0
green_converge_y          0.0
blue_converge_x           0.0
blue_converge_y           0.0
red_radial_converge_x     0.5
red_radial_converge_y     0.5
green_radial_converge_x   0.0
green_radial_converge_y   0.0
blue_radial_converge_x    0.0
blue_radial_converge_y    0.0
red_from_r                1.0
red_from_g                0.2
red_from_b                0.2
green_from_r              0.2
green_from_g              1.0
green_from_b              0.3
blue_from_r               0.3
blue_from_g               0.3
blue_from_b               1.0
saturation                1.6
red_offset                0.0
green_offset              0.0
blue_offset               0.0
red_scale                 1.25
green_scale               1.25
blue_scale                1.25
red_power                 1.0
green_power               1.0
blue_power                1.0
red_floor                 0.05
green_floor               0.05
blue_floor                0.05
red_phosphor_life         0.4
green_phosphor_life       0.4
blue_phosphor_life        0.4
y_from_y                  1.0
y_from_i                  0.0
y_from_q                  0.0
i_from_y                  0.0
i_from_i                  1.0
i_from_q                  0.0
q_from_y                  0.0
q_from_i                  0.0
q_from_q                  1.0
y_scale                   1.0
i_scale                   1.0
q_scale                   1.0
y_offset                  0.0
i_offset                  0.0
q_offset                  0.0
subsample_length          1.0
dot_crawl_width           0.0
dot_crawl_height          2.0
dot_crawl_rate            2
dot_crawl_skip            2
edge_amount               1.0
edge_ratio                0.0


Note: Moiré is *much* less noticeable when oversampling, but it's only for some cards, so YMMV.
Posted By: Just Desserts

Re: It's dangerous to go alone - take this! (NEW LIBS) - 05/17/11 01:22 AM

And here's a more lightweight shader that rips out all the NTSC-related stuff for people who want a faster MAME experience. This took Tapper at 3x oversampling from 330% to 410% on my Radeon 5970.

Code:
//-----------------------------------------------------------------------------
// Post-Processing Effect
//-----------------------------------------------------------------------------

texture Diffuse;

sampler DiffuseSampler = sampler_state
{
	Texture   = <Diffuse>;
	MipFilter = LINEAR;
	MinFilter = LINEAR;
	MagFilter = LINEAR;
	AddressU = CLAMP;
	AddressV = CLAMP;
	AddressW = CLAMP;
};

texture Shadow;

sampler ShadowSampler = sampler_state
{
	Texture   = <Shadow>;
	MipFilter = LINEAR;
	MinFilter = LINEAR;
	MagFilter = LINEAR;
	AddressU = WRAP;
	AddressV = WRAP;
	AddressW = WRAP;
};

//-----------------------------------------------------------------------------
// Vertex Definitions
//-----------------------------------------------------------------------------

struct VS_OUTPUT
{
	float4 Position : POSITION;
	float4 Color : COLOR0;
	float2 TexCoord : TEXCOORD0;
	float2 ExtraInfo : TEXCOORD1;
	float3 CoordX : TEXCOORD2;
	float3 CoordY : TEXCOORD3;
};

struct VS_INPUT
{
	float4 Position : POSITION;
	float4 Color : COLOR0;
	float2 TexCoord : TEXCOORD0;
	float2 ExtraInfo : TEXCOORD1;
};

struct PS_INPUT
{
	float4 Color : COLOR0;
	float2 TexCoord : TEXCOORD0;
	float2 ExtraInfo : TEXCOORD1;
	float3 CoordX : TEXCOORD2;
	float3 CoordY : TEXCOORD3;
};

//-----------------------------------------------------------------------------
// Post-Processing Vertex Shader
//-----------------------------------------------------------------------------

uniform float RedConvergeX;
uniform float RedConvergeY;
uniform float GrnConvergeX;
uniform float GrnConvergeY;
uniform float BluConvergeX;
uniform float BluConvergeY;

uniform float TargetWidth;
uniform float TargetHeight;

uniform float RawWidth;
uniform float RawHeight;

uniform float WidthRatio;
uniform float HeightRatio;

uniform float RedRadialConvergeX;
uniform float RedRadialConvergeY;
uniform float GrnRadialConvergeX;
uniform float GrnRadialConvergeY;
uniform float BluRadialConvergeX;
uniform float BluRadialConvergeY;

VS_OUTPUT vs_main(VS_INPUT Input)
{
	VS_OUTPUT Output = (VS_OUTPUT)0;
	
	float2 invDims = float2(1.0f / RawWidth, 1.0f / RawHeight);
	float2 Ratios = float2(1.0f / WidthRatio, 1.0f / HeightRatio);
	Output.Position = float4(Input.Position.xyz, 1.0f);
	Output.Position.x /= TargetWidth;
	Output.Position.y /= TargetHeight;
	Output.Position.y = 1.0f - Output.Position.y;
	Output.Position.x -= 0.5f;
	Output.Position.y -= 0.5f;
	Output.Position *= float4(2.0f, 2.0f, 1.0f, 1.0f);
	Output.Color = Input.Color;
	Output.TexCoord = Input.TexCoord;//(Input.TexCoord - float2(0.5f, 0.5f)) / 8.0f + float2(0.25f, 0.125f);
	Output.ExtraInfo = Input.ExtraInfo;
	
	Output.CoordX.x = ((((Output.TexCoord.x / Ratios.x) - 0.5f)) * (1.0f + RedRadialConvergeX / RawWidth) + 0.5f) * Ratios.x + RedConvergeX * invDims.x;
	Output.CoordX.y = ((((Output.TexCoord.x / Ratios.x) - 0.5f)) * (1.0f + GrnRadialConvergeX / RawWidth) + 0.5f) * Ratios.x + GrnConvergeX * invDims.x;
	Output.CoordX.z = ((((Output.TexCoord.x / Ratios.x) - 0.5f)) * (1.0f + BluRadialConvergeX / RawWidth) + 0.5f) * Ratios.x + GrnConvergeX * invDims.x;
	
	Output.CoordY.x = ((((Output.TexCoord.y / Ratios.y) - 0.5f)) * (1.0f + RedRadialConvergeY / RawHeight) + 0.5f) * Ratios.y + RedConvergeY * invDims.y;
	Output.CoordY.y = ((((Output.TexCoord.y / Ratios.y) - 0.5f)) * (1.0f + GrnRadialConvergeY / RawHeight) + 0.5f) * Ratios.y + BluConvergeY * invDims.y;
	Output.CoordY.z = ((((Output.TexCoord.y / Ratios.y) - 0.5f)) * (1.0f + BluRadialConvergeY / RawHeight) + 0.5f) * Ratios.y + BluConvergeY * invDims.y;
	return Output;
}

//-----------------------------------------------------------------------------
// Post-Processing Pixel Shader
//-----------------------------------------------------------------------------

uniform float PI = 3.14159265f;

uniform float PincushionAmountX = 0.1f;
uniform float PincushionAmountY = 0.1f;

uniform float ScanlineAmount = 1.0f;
uniform float ScanlineScale = 1.0f;
uniform float ScanlineBrightScale = 1.0f;
uniform float ScanlineBrightOffset = 1.0f;
uniform float ScanlineOffset = 1.0f;

uniform float RedFromRed = 1.0f;
uniform float RedFromGrn = 0.0f;
uniform float RedFromBlu = 0.0f;
uniform float GrnFromRed = 0.0f;
uniform float GrnFromGrn = 1.0f;
uniform float GrnFromBlu = 0.0f;
uniform float BluFromRed = 0.0f;
uniform float BluFromGrn = 0.0f;
uniform float BluFromBlu = 1.0f;

uniform float YfromY = 1.0f;
uniform float YfromI = 0.0f;
uniform float YfromQ = 0.0f;
uniform float IfromY = 0.0f;
uniform float IfromI = 1.0f;
uniform float IfromQ = 0.0f;
uniform float QfromY = 0.0f;
uniform float QfromI = 0.0f;
uniform float QfromQ = 1.0f;

uniform float RedOffset = 0.0f;
uniform float GrnOffset = 0.0f;
uniform float BluOffset = 0.0f;

uniform float RedScale = 1.0f;
uniform float GrnScale = 1.0f;
uniform float BluScale = 1.0f;

uniform float RedFloor = 0.0f;
uniform float GrnFloor = 0.0f;
uniform float BluFloor = 0.0f;

uniform float Saturation = 1.0f;

uniform float YScale = 1.0f;
uniform float IScale = 1.0f;
uniform float QScale = 1.0f;
uniform float YOffset = 0.0f;
uniform float IOffset = 0.0f;
uniform float QOffset = 0.0f;

uniform float RedPower = 2.2f;
uniform float GrnPower = 2.2f;
uniform float BluPower = 2.2f;

uniform float EdgeDetectScale = 1.0f;
uniform float EdgeToBaseRatio = 0.0f;

uniform float SubsampleLength = 3.0f;

uniform float CurrFrame = 0.0f;
uniform float CrawlWidth = 3.0f;
uniform float CrawlHeight = 3.0f;
uniform float CrawlRate = 3.0f;

uniform float UseShadow = 0.0f;
uniform float ShadowBrightness = 1.0f;
uniform float ShadowPixelSizeX = 3.0f;
uniform float ShadowPixelSizeY = 3.0f;
uniform float ShadowU = 0.375f;
uniform float ShadowV = 0.375f;
uniform float ShadowWidth = 8.0f;
uniform float ShadowHeight = 8.0f;

float4 ps_main(PS_INPUT Input) : COLOR
{
	float2 Ratios = float2(WidthRatio, HeightRatio);

	// -- Screen Pincushion Calculation --
	float2 UnitCoord = Input.TexCoord * Ratios * 2.0f - 1.0f;

	float PincushionR2 = pow(length(UnitCoord),2.0f) / pow(length(Ratios), 2.0f);
	float2 PincushionCurve = UnitCoord * PincushionAmountX * PincushionR2;
	float2 BaseCoord = Input.TexCoord + PincushionCurve;

	// RGB Pincushion Calculation
	float3 PincushionCurveX = UnitCoord.x * PincushionAmountX * PincushionR2;
	float3 PincushionCurveY = UnitCoord.y * PincushionAmountX * PincushionR2;

	float4 BaseTexel = tex2D(DiffuseSampler, BaseCoord);

	// -- Alpha Clipping (1px border in drawd3d does not work for some reason) --
	clip((BaseCoord.x < 2.0f / RawWidth) ? -1 : 1);
	clip((BaseCoord.y < 1.0f / RawHeight) ? -1 : 1);
	clip((BaseCoord.x > (2.0f / WidthRatio - 2.0f / RawWidth)) ? -1 : 1);
	clip((BaseCoord.y > 1.0f / HeightRatio) ? -1 : 1);

	// -- RGB Deconvergence --
	float3 CoordX = Input.CoordX + PincushionCurveX;
	float3 CoordY = Input.CoordY + PincushionCurveY;
	float RedTexel = tex2D(DiffuseSampler, float2(CoordX.x, CoordY.x)).r;
	float GrnTexel = tex2D(DiffuseSampler, float2(CoordX.y, CoordY.y)).g;
	float BluTexel = tex2D(DiffuseSampler, float2(CoordX.z, CoordY.z)).b;

	float3 Texel = float3(RedTexel, GrnTexel, BluTexel);

	// -- RGB Tint & Shift --
	float ShiftedRed = dot(Texel, float3(RedFromRed, RedFromGrn, RedFromBlu));
	float ShiftedGrn = dot(Texel, float3(GrnFromRed, GrnFromGrn, GrnFromBlu));
	float ShiftedBlu = dot(Texel, float3(BluFromRed, BluFromGrn, BluFromBlu));
	
	// -- RGB Offset & Scale --
	float3 OutTexel = float3(ShiftedRed, ShiftedGrn, ShiftedBlu) * float3(RedScale, GrnScale, BluScale) + float3(RedOffset, GrnOffset, BluOffset);
	
	// -- Saturation --
	float OutLuma = dot(OutTexel, float3(0.3f, 0.59f, 0.11f));
	float3 OutChroma = OutTexel - float3(OutLuma, OutLuma, OutLuma);
	float3 Saturated = OutLuma + OutChroma * Saturation;
	
	float3 OutRGB = Saturated;

	float3 Power = float3(RedPower, GrnPower, BluPower);
	OutRGB = pow(OutRGB, Power);

	// -- Color Compression (increasing the floor of the signal without affecting the ceiling) --
	float3 Floor = float3(RedFloor, GrnFloor, BluFloor);
	OutRGB = Floor + (1.0f - Floor) * OutRGB;

	// -- Scanline Simulation --
	float3 ScanBrightness = lerp(1.0f, abs(sin(((CoordY * RawHeight * ScanlineScale) * PI + ScanlineOffset * RawHeight))) * ScanlineBrightScale + ScanlineBrightOffset, ScanlineAmount);
	float3 Scanned = OutRGB * ScanBrightness;

	float2 ShadowCoord = BaseCoord * float2(RawWidth, RawHeight);
	float ShadowCoordX = frac(ShadowCoord.x / ShadowPixelSizeX) * ShadowU + 2.0f / ShadowWidth;
	float ShadowCoordY = frac(ShadowCoord.y / ShadowPixelSizeY) * ShadowV + 2.0f / ShadowHeight;
	float3 ShadowTexel = lerp(1.0f, tex2D(ShadowSampler, float2(ShadowCoordX, ShadowCoordY)), UseShadow);
	
	// -- Final Pixel --
	float4 Output = lerp(Input.Color, float4(Scanned * lerp(1.0f, ShadowTexel * 1.0f, ShadowBrightness), BaseTexel.a) * Input.Color, Input.ExtraInfo.x);
	
	return Output;
}

//-----------------------------------------------------------------------------
// Post-Processing Effect
//-----------------------------------------------------------------------------

technique TestTechnique
{
	pass Pass0
	{
		Lighting = FALSE;

		//Sampler[0] = <DiffuseSampler>;

		VertexShader = compile vs_3_0 vs_main();
		PixelShader  = compile ps_3_0 ps_main();
	}
}

Posted By: R. Belmont

READ THIS THREAD if you can't compile latest SVN - 05/17/11 01:54 AM

no text
Posted By: Robbbert

Re: READ THIS THREAD if you can't compile latest SVN - 05/17/11 01:21 PM

The headers are one thing (your location is the same as mine), but the SDK is another, as you still need d3dx9_43.dll for it to actually run.

>mess <system> -verbose

and make sure there isn't any error messages.


Now, I normally run with all filters disabled. So, I tried this HLSL with the default settings (which I don't pretend to understand), and got a slight blurriness, and the speed was about the same (i used the Jaguar driver which gives about 42%). The only thing I noticed was when frameskip is set to Auto, HLSL will not skip any frames. Manually selecting a frameskip results in skipped frames (as expected), but there was no increase in overall speed. Perhaps it is working as designed, only JD could say.

Next, I purposely set the dx setting to 8, verbose said could not start d3d (as expected), but it appeared HLSL was still running?

It would be good if verbose said if HLSL was able to start successfully. Just a suggestion..
Posted By: R. Belmont

Re: READ THIS THREAD if you can't compile latest SVN - 05/17/11 01:53 PM

You don't need the SDK to get the DLL. Just go to http://microsoft.com/directx, click "Latest directX downloads for gamers", and install "DirectX End User Runtime".
Posted By: John IV

Re: READ THIS THREAD if you can't compile latest SVN - 05/17/11 06:56 PM

Out of curiosity, why is it necessary to install the DirectX 9 redist on a Win7 box w/ baked in DirectX11?
Posted By: Haze

Re: READ THIS THREAD if you can't compile latest SVN - 05/17/11 07:05 PM

I believe W7 only ships with the newer versions of DX, not the older ones. You have to do it even for some games.

DX10/11 are a new technology, not directly compatible.
Posted By: R. Belmont

Re: READ THIS THREAD if you can't compile latest SVN - 05/17/11 08:56 PM

There were about 40 updates to DX9, each with a different d3d9x_*.dll. It's easier for MS to make that part of the DX redist than to bake it into Win7. (Incidentally, the redist will also update DX10/DX11 if/when updates of those things happen).

And yes, DX10/11 are not back compatible with DX9. The entire API model is quite different.
Posted By: Curt Coder

Re: READ THIS THREAD if you can't compile latest SVN - 05/18/11 03:13 PM

Can we have a new preset with less moire?
Posted By: Just Desserts

Re: READ THIS THREAD if you can't compile latest SVN - 05/18/11 05:49 PM

Yes, the old presets are broken with latest SVN. Please hold.
Posted By: Just Desserts

Re: READ THIS THREAD if you can't compile latest SVN - 05/18/11 11:51 PM

cgwg, if you could pop by IRC the next time you get a chance, I would appreciate it. smile
Posted By: Just Desserts

Re: READ THIS THREAD if you can't compile latest SVN - 05/19/11 07:07 PM

Too large to inline, so check this out: http://img32.imageshack.us/img32/7343/rfcomparison.png

In others news, I'm about to post some more presets, share and enjoy.
Posted By: Just Desserts

Re: READ THIS THREAD if you can't compile latest SVN - 05/20/11 07:55 AM

New CVBS implementation side-by-side: http://img542.imageshack.us/img542/7159/cvbs.png

New preset for CVBS:

Code:
hlsl_enable               1
hlslpath                  hlsl
shadow_mask_alpha         0.2
shadow_mask_texture       aperture.png
shadow_mask_pix_width     3.0
shadow_mask_pix_height    3.0
shadow_mask_x_count       640
shadow_mask_y_count       480
shadow_mask_usize         0.09375
shadow_mask_vsize         0.09375
oversample_x              1.0
oversample_y              1.0
curvature                 0.03
pincushion                0.00
scanline_alpha            0.25
scanline_size             1.0
scanline_bright_scale     1.0
scanline_bright_offset    0.6
scanline_jitter           0.0
defocus_x                 0.0
defocus_y                 0.0
red_converge_x            0.0
red_converge_y            0.0
green_converge_x          0.0
green_converge_y          0.0
blue_converge_x           0.0
blue_converge_y           0.0
red_radial_converge_x     0.0
red_radial_converge_y     0.0
green_radial_converge_x   0.0
green_radial_converge_y   0.0
blue_radial_converge_x    0.0
blue_radial_converge_y    0.0
red_from_r                1.0
red_from_g                0.0
red_from_b                0.0
green_from_r              0.0
green_from_g              1.0
green_from_b              0.0
blue_from_r               0.0
blue_from_g               0.0
blue_from_b               1.0
saturation                1.4
red_offset                0.0
green_offset              0.0
blue_offset               0.0
red_scale                 1.25
green_scale               1.25
blue_scale                1.25
red_power                 0.8
green_power               0.8
blue_power                0.8
red_floor                 0.05
green_floor               0.05
blue_floor                0.05
red_phosphor_life         0.4
green_phosphor_life       0.4
blue_phosphor_life        0.4
yiq_enable                1
yiq_w                     4.1887902
yiq_a                     0.5
yiq_b                     0.5
yiq_phase_count           2


For general monitor use, set yiq_enable to 0.
Posted By: Just Desserts

Re: READ THIS THREAD if you can't compile latest SVN - 05/21/11 06:53 AM

I... wow. Just... wow. The following preset gets the "100% Authentic" stamp of approval from a drunken JD and his 2 equally inebriated roommates:

Code:
hlsl_enable               1
hlslpath                  hlsl
shadow_mask_alpha         0.2
shadow_mask_texture       aperture.png
shadow_mask_pix_width     3.0
shadow_mask_pix_height    3.0
shadow_mask_x_count       640
shadow_mask_y_count       480
shadow_mask_usize         0.09375
shadow_mask_vsize         0.09375
oversample_x              1.0
oversample_y              1.0
curvature                 0.1
screen_scale_top          1.0
screen_scale_bottom       1.0
pincushion                0.1
scanline_alpha            0.6
scanline_size             1.0
scanline_bright_scale     1.0
scanline_bright_offset    0.6
scanline_jitter           0.0
defocus_x                 2.0
defocus_y                 2.0
red_converge_x            0.0
red_converge_y            0.0
green_converge_x          0.0
green_converge_y          0.0
blue_converge_x           0.0
blue_converge_y           0.0
red_radial_converge_x     0.0
red_radial_converge_y     0.0
green_radial_converge_x   0.0
green_radial_converge_y   0.0
blue_radial_converge_x    0.0
blue_radial_converge_y    0.0
red_from_r                1.0
red_from_g                0.0
red_from_b                0.0
green_from_r              0.0
green_from_g              1.0
green_from_b              0.0
blue_from_r               0.0
blue_from_g               0.0
blue_from_b               1.0
saturation                1.0
red_offset                0.0
green_offset              0.0
blue_offset               0.0
red_scale                 1.0
green_scale               1.0
blue_scale                1.0
red_power                 2.2
green_power               2.2
blue_power                2.2
red_floor                 0.05
green_floor               0.05
blue_floor                0.05
red_phosphor_life         0.45
green_phosphor_life       0.45
blue_phosphor_life        0.45
yiq_enable                1
yiq_w                     4.1187867
yiq_a                     0.5
yiq_b                     0.333333
yiq_phase_count           3

Posted By: B2K24

Re: READ THIS THREAD if you can't compile latest SVN - 05/24/11 06:33 AM

AMAZING work, absolutely incredible.

I'm running an i7 930 @ 4.0GhZ with Nvidia GTX480 using a 20" samsung WS LCD

those last settings look really good except kinda blurry in a way.
Anyone have suggestions to try or should I just try and tweak it out more?
Posted By: John IV

Re: READ THIS THREAD if you can't compile latest SVN - 05/24/11 07:04 AM

You could try setting -prescale to 2 or 3 and leave the shaders alone.
Posted By: R. Belmont

Re: READ THIS THREAD if you can't compile latest SVN - 05/25/11 01:52 PM

BTW, JD, it'd be useful if a specific error was given for "couldn't find a .fx file".
Posted By: Just Desserts

Re: READ THIS THREAD if you can't compile latest SVN - 05/25/11 06:01 PM

Originally Posted By R. Belmont
BTW, JD, it'd be useful if a specific error was given for "couldn't find a .fx file".


It wouldn't be hard to add, I'm just wondering how much this error will actually come up once the HLSL files are bundled in with a non-incremental MAME or MESS update. smile
Posted By: R. Belmont

Re: READ THIS THREAD if you can't compile latest SVN - 05/25/11 06:24 PM

I'm sure people will figure out some way to make it happen smile
Posted By: Tafoid

Re: READ THIS THREAD if you can't compile latest SVN - 05/25/11 06:58 PM

Well, it does come up with the missing file error, only in -verbose though.
Posted By: Robbbert

Re: READ THIS THREAD if you can't compile latest SVN - 05/26/11 03:01 PM

For those who use MESSUI, i've added a per-game property sheet containing the more important HLSL sliders, plus a on/off switch. The page will be greyed out if you are not running D3D version 9. Also, if you turn on HLSL, you need to hit Apply before the sliders become available. (This is the same way the rest of messui works).

If your system is set up properly, the settings will be saved into the game's ini file. The Reset and Restore Defaults buttons don't do anything at the moment, so if you manage to totally screw up, delete your ini file and start over.
Posted By: Josef 1975

Re: READ THIS THREAD if you can't compile latest SVN - 06/13/11 09:45 AM

HI, I'm joseph from italy. I was searching for an HLSL preset for mame 142u5 like "arcade ideal" for 142u4 by Just Dessert (u4 preset are not compatible with u5).
I tried all presets posted in this thread but they are too slow on my core2duo E8400 3.0ghz with Radeon 5850 1gb and not so close to a real arcade monitor like the "arcade ideal" on u4....
I also wrote an italian guide to HLSL activation ( http://www.mameitalia.net/index.php?showtopic=14189 ) and I'd like to add new preset for u5 and later versions of mame as soon as possible. can someone help me? thanks!
Posted By: Anna Wu

SPAM - 10/19/11 08:14 AM

above me
Posted By: MikeAbson

Re: SPAM - 01/04/12 03:10 AM

Hopefully this is the best place to get help with this. I'm not at home right now, so I'll try my best to discribe my issue. I've got a desktop PC with Windows 7 64-bit on it. I had installed TortoiseSVN v1.7.3 along with minigw (c:\minigw). I had downloaded the MESS source in to C:\MESSSRC using TortoiseSVN and that was successfull. I was also able to compile the entire source code right after downloading it using the following commands:

set path=mingw\mingw64-w64\bin
make -j6 (I have an AMD 6-core processor, so I think -j6 is correct.

Since then, (which was a few days ago), there are been numerous updates and I had used TortoiseSVN to update the source code by right clicking and then clicking on "update" within the C:\MESSSRC folder, which went fine. I was also able to compile the source code once or twice since, however once Aaron made some changes, (rev 13814), I can't compile the source code anymore, and after minigw tries to link the mess64.exe file, I end up with an error code 1 (after a bunch of code scrolls). I'll try and attach a screenshot when I get home of the DOS prompt window. I can continue to update the source code with TortoiseSVN, and everything appears normal when compiling the source code, but always gives me an error 1 at end when trying to create the mess64.exe file.

I decided I'll start over from scratch on my laptop and I can compile the source code on it, (haven't tried any updates yet though) just not on my desktop anymore. Am I doing something wrong here? It was working, it just won't work anymore for some reason. Also, not sure if this is a coincidence or not, but I've noticed on Bobz Automatic MESS SVN Build page, it says "build error", and the last successful build was the last time I was successfully able to compile the source code from an update, (rev 13813).

Any ideas? Thanks all.

Mike.
Posted By: etabeta78

Re: SPAM - 01/04/12 12:48 PM

have you tried to do a clean build (or to manually delete the obj/ folder)?
Posted By: R. Belmont

Re: SPAM - 01/04/12 01:26 PM

Mike: in general, a link error you haven't caused yourself means enough things have changed that you must make clean, as eta indicates.
Posted By: MikeAbson

Re: SPAM - 01/04/12 08:48 PM

Morning all smile Thanks for the idea. What I ended up doing was deleting everything in my MESSSRC folder and then run TortoiseSVN update, after this the entire source code compiled successfully. I appreciate the help!

Mike.
Posted By: judge

Re: SPAM - 01/04/12 09:00 PM

Well, that marks all files as updated which will trigger a recompile of all objects.

Next time try a 'make clean' to clean out all compiled objects followed by a normal 'make' to re-create all the objects and the executable.
Posted By: MikeAbson

Re: SPAM - 01/04/12 09:53 PM

Nice, will do. I was wondering if there was a way to do that, good to know, thanks!
Posted By: minireaper

Re: SPAM - 02/16/12 07:53 PM

while compiling latest svn of mess in linux i get

src/lib/util/chdcodec.c:45:27: schwerwiegender Fehler: lib7z/lzmaenc.h: Datei oder Verzeichnis nicht gefunden

which means file not found. file is named LzmaEnc.h in the source.
a bit later same error occours for lzmadec.h

putting 2 soflinks in lowercase makes mess compile and link fine.

trying to build the mess tools i end with

src/tools/ldresample.c: In Funktion »chd_file* open_chd(const char*, movie_info*)«:
src/tools/ldresample.c:201:30: Fehler: »CHD_OPEN_READ« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:201:55: Fehler: »chd_open« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:204:74: Fehler: »chd_error_string« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:209:97: Fehler: »chd_get_metadata« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:212:78: Fehler: »chd_error_string« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:213:16: Fehler: »chd_close« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:221:16: Fehler: »chd_close« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:228:38: Fehler: »chd_get_header« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c: In Funktion »chd_file* create_chd(const char*, chd_file*, const movie_info*)«:
src/tools/ldresample.c:249:8: Fehler: »chd_header« bezeichnet keinen Typ
src/tools/ldresample.c:254:32: Fehler: »srcheader« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:254:79: Fehler: »CHDCOMPRESSION_AV« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:254:102: Fehler: »chd_create« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:257:79: Fehler: »chd_error_string« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:262:30: Fehler: »CHD_OPEN_READWRITE« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:262:60: Fehler: »chd_open« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:265:78: Fehler: »chd_error_string« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:270:41: Fehler: »chd_clone_metadata« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:273:74: Fehler: »chd_error_string« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:274:16: Fehler: »chd_close« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:279:33: Fehler: »chd_compress_begin« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:282:79: Fehler: »chd_error_string« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c: In Funktion »int read_chd(chd_file*, UINT32, movie_info*, UINT32)«:
src/tools/ldresample.c:296:2: Fehler: »av_codec_decompress_config« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:296:29: Fehler: expected »;« before »avconfig«
src/tools/ldresample.c:300:2: Fehler: »avconfig« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:307:25: Fehler: »AV_CODEC_DECOMPRESS_CONFIG« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:307:62: Fehler: »chd_codec_config« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:310:37: Fehler: »chd_read« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c: In Funktion »int write_chd(chd_file*, UINT32, movie_info*)«:
src/tools/ldresample.c:324:2: Fehler: »av_codec_compress_config« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:324:27: Fehler: expected »;« before »avconfig«
src/tools/ldresample.c:328:2: Fehler: »avconfig« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:335:25: Fehler: »AV_CODEC_COMPRESS_CONFIG« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:335:60: Fehler: »chd_codec_config« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:338:45: Fehler: »chd_compress_hunk« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c: In Funktion »void create_close_chd(chd_file*)«:
src/tools/ldresample.c:354:38: Fehler: »chd_compress_finish« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:356:76: Fehler: »chd_error_string« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c:358:16: Fehler: »chd_close« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldresample.c: In Funktion »void close_chd(chd_file*, movie_info*)«:
src/tools/ldresample.c:370:16: Fehler: »chd_close« wurde in diesem Gültigkeitsbereich nicht definiert
make: *** [obj/sdl64/tools/ldresample.o] Fehler 1
make: *** Warte auf noch nicht beendete Prozesse...
src/tools/ldverify.c: In Funktion »void* open_chd(const char*, movie_info*)«:
src/tools/ldverify.c:212:30: Fehler: »CHD_OPEN_READ« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c:212:55: Fehler: »chd_open« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c:215:74: Fehler: »chd_error_string« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c:220:97: Fehler: »chd_get_metadata« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c:223:78: Fehler: »chd_error_string« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c:224:16: Fehler: »chd_close« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c:232:16: Fehler: »chd_close« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c:238:38: Fehler: »chd_get_header« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c: In Funktion »int read_chd(void*, int, bitmap_yuy16&, INT16*, INT16*, int*)«:
src/tools/ldverify.c:263:2: Fehler: »av_codec_decompress_config« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c:263:29: Fehler: expected »;« before »avconfig«
src/tools/ldverify.c:275:3: Fehler: »avconfig« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c:284:38: Fehler: »AV_CODEC_DECOMPRESS_CONFIG« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c:284:75: Fehler: »chd_codec_config« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c:287:80: Fehler: »chd_read« wurde in diesem Gültigkeitsbereich nicht definiert
src/tools/ldverify.c: In Funktion »void close_chd(void*)«:
src/tools/ldverify.c:304:28: Fehler: »chd_close« wurde in diesem Gültigkeitsbereich nicht definiert



Posted By: MikeAbson

Re: SPAM - 07/22/12 01:16 AM

I'm trying to compile the latest version of MESS (r15639) and keep getting a MegaCD error. I've deleted the both the OBJ and SRC folders, but I'm still getting the same error message. I'm not sure what to do.

Posted By: Tafoid

Re: SPAM - 07/22/12 01:31 AM

try "make depend" and then attempt another make
Posted By: Haze

Re: SPAM - 07/22/12 02:48 AM

you shouldn't have to tho, sounds like the dependencies weren't added correctly in the makefile
Posted By: R. Belmont

Re: SPAM - 07/22/12 03:04 AM

The -Wno-narrowing means a non-MAMEdev GCC 4.7.0 or later is in the $(PATH), and at that point all other errors are to be ignored.
Posted By: MikeAbson

Re: SPAM - 07/22/12 11:42 PM

I appreciate the efforts here. I tried make depend, but it hasn't made a difference unfortunately. I'm using the latest version of TortoiseSVN and mingw-mame-w64-20110519.exe (found here: http://mamedev.org/tools/) on Windows 7 Home Premium 64-Bit.

Do I need to update mingw64? I had attempted to do this from here (http://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/) although I think I downloaded the v1.0.4 instead of v2.0.4, but inside v1.0.4 there was no bin folder with make.exe etc... So I'm not sure what to download other than what is on the mamedev website. I guess I can try and download the revision before the MegaCD changes were made and see if I can compile the source, but I'm not sure what to do if releases after that won't compile.
Posted By: bobz

Re: SPAM - 08/24/12 06:37 AM

Hello,

I have updated my daily build site with the new development tools (mingw-mame-w32-20120807.exe) and I have this error when doing "c:\mingw\mingw64-w32\bin\make TARGET=mess" :

Compiling src/osd/windows/vconv.c...
cc1.exe: internal compiler error: Illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make: *** [obj/windows/osd/windows/vconv.o] Error 1


vconv.c is the very first file trying to be compiled. So in fact cc1.exe does not work at all.

The daily build machine is WinXP 32 bits.

Does it ring a bell for any of you ?
Posted By: qmc2

Re: SPAM - 08/24/12 07:34 AM

Since you're calling "make" with its full path, are you sure that the cc1.exe being called is the right one? I mean, did you change your %PATH% env. variable to point to the new tools' binaries?

I cannot reproduce this here on Windows 7 (x64) at least, using the 32-bit version of the new tools...
Posted By: bobz

Re: SPAM - 08/24/12 08:23 AM

Yes I have updated the PATH to point to c:\mingw\mingw64-w32\bin

I used to use full path in my script for some historical reason (I do not recall why exactly). I guess it's not usefull anymore and I could remove this.
I think I have tested without full path yesterday, but I will double check when back home.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 08/24/12 08:26 AM

OK, just for reference... this is how I setup my environment, having installed the 32-bit tools in 'c:\mingw64-w32':

Code:
set PATH=c:\mingw64-w32\bin;c:\mingw64-w32\i686-w64-mingw32\bin;%PATH%

Note that there are two required paths.
Posted By: bobz

Re: Can't compile latest MESS? READ THIS THREAD - 08/24/12 08:41 AM

Oh ! I didn't do that.
I only set the first one since this is what is written on mamedev page. I will try this tonight thanks.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 08/24/12 08:49 AM

Well, checking twice, I'm not sure it's even related because cc1.exe is outside of the PATH's anyway. Also, when the dev-tools page says only that one path is required, I doubt it makes a difference... however, that's how it works here smile.
Posted By: bobz

Re: Can't compile latest MESS? READ THIS THREAD - 08/24/12 08:38 PM

No way.
I tried what you have suggested and I try re-installing tools but it fails with the same error.
I will stick to the old tool for now until I have more time to investigate.
Thanks for your help
Posted By: Robert Gault

Re: Can't compile latest MESS? READ THIS THREAD - 08/26/12 05:53 AM

I am having essentially the same error that bobz is reporting on a WinXP system. Downloaded the mingw-mame-w32-20120807.exe package and installed it.

Now every time anything gets compiled there is a cc1plus.exe error which stops the process. However, an .o file is created and the next attempt at make proceeds to the next .c file.
Posted By: Olivier Galibert

Re: SPAM - 08/26/12 09:33 AM

Originally Posted By R. Belmont
The -Wno-narrowing means a non-MAMEdev GCC 4.7.0 or later is in the $(PATH), and at that point all other errors are to be ignored.


Or it means you're on linux with a gentoo-stable version of the compiler:
gcc version 4.5.3 (Gentoo 4.5.3-r2 p1.1, pie-0.4.7)

OG.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 08/26/12 06:23 PM

Originally Posted By Robert Gault
I am having essentially the same error that bobz is reporting on a WinXP system. Downloaded the mingw-mame-w32-20120807.exe package and installed it.

Asked differently: is there anyone having success with the new tools on WinXP x86?

On Windows 7 x64 they work fine.
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 08/26/12 07:17 PM

Originally Posted By qmc2
Originally Posted By Robert Gault
I am having essentially the same error that bobz is reporting on a WinXP system. Downloaded the mingw-mame-w32-20120807.exe package and installed it.

Asked differently: is there anyone having success with the new tools on WinXP x86?

On Windows 7 x64 they work fine.


Not tested yet.

For MESS I still use GCC 4.4.7 on my WinXP SP3 32-bit OS.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 08/26/12 07:29 PM

Weren't you already using the "RC version" of the new tools successfully? When those work, the actual new tools should work as well.
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 08/26/12 07:34 PM

Originally Posted By qmc2
Weren't you already using the "RC version" of the new tools successfully? When those work, the actual new tools should work as well.


No, after installing the unofficial GCC 4.6 and Qt 4.8.1 to compile QCHDman I tried to compile MESS too and I got a cc1.exe: internal compiler error.
I think I told you or Micko this already in the past.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 08/26/12 07:36 PM

Oh, then you'll get the same issue with the official new tools, I suppose... no, I wasn't aware.
Posted By: Robert Gault

Re: Can't compile latest MESS? READ THIS THREAD - 08/27/12 03:11 PM

As Anna said, the last official tool that works for me with WinXP SP3 32-bit, is mingw-mame-w32-20110519.exe; GCC 4.4.7.

The only problems I have with the current source plus messui 0.146u5 source from http://messui.the-chronicles.org/ is some #pragma GCC diagnostic errors for unknown objects.
Comment out the pragmas and r17490 built to completion.
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 08/27/12 04:38 PM

Just for info, Kaylee has the WinXP 32-bit OS and he still use my older MAME/Qt tool package.
He doesn´t tried the new MAME tools.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 08/28/12 03:31 PM

Note: I tried the new tools on a more or less 'fresh' Windows XP SP3 (x86) installation now, and building MAME works fine here... I suppose MESS won't be different.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 08/28/12 04:24 PM

Interesting... MESS compiles flawlessly as well, but I get this linker error at the end:

Code:
Linking mess.exe...
obj/windows/mess/mess/drivlist.o:drivlist.c:(.rdata+0x1928): undefined reference to `driver_victor9k'
collect2: ld returned 1 exit status
make: *** [mess.exe] Error 1

I don't get this on Linux, haven't tried Win 7 x64 yet... but whatever it is, I doubt it's related to the new tools.

This was tested with SVN r17537.
Posted By: Micko

Re: Can't compile latest MESS? READ THIS THREAD - 08/28/12 04:33 PM

This kind of error can occure if you have stopped the build (Ctrl-C) and then some .o files are 0 size, just check in obj for specific file related to that driver delete it and try compiling again.

Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 08/28/12 04:37 PM

Well, AFAICT, I did not stop/restart the compilation (or did I? Hmmm, can't remember exactly... smile )

I'll try what you said and give feedback... my basic statement hasn't changed, however: for me, compilation with the new tools works fine on WinXP SP3 (32-bit).
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 08/28/12 04:42 PM

Yep, that did the trick:

Code:
c:\Projekte\mame-svn>del obj\windows\mess\drivers\victor9k.o

c:\Projekte\mame-svn>make TARGET=mess
Compiling src/mess/drivers/victor9k.c...
Archiving obj/windows/mess/act.a...
Linking mess.exe...

c:\Projekte\mame-svn>dir
 Volume in drive C has no label.
 Volume Serial Number is E009-E9AC

 Directory of c:\Projekte\mame-svn

28.08.2012  22:10    <DIR>          .
28.08.2012  22:10    <DIR>          ..
28.08.2012  20:44    <DIR>          artwork
28.08.2012  21:32           604.672 chdman.exe
28.08.2012  20:44    <DIR>          docs
28.08.2012  20:36    <DIR>          hash
28.08.2012  20:34    <DIR>          hlsl
28.08.2012  21:32            20.992 jedutil.exe
28.08.2012  20:44    <DIR>          keymaps
28.08.2012  21:32           506.368 ldresample.exe
28.08.2012  21:32           532.480 ldverify.exe
28.08.2012  21:31            19.968 ledutil.exe
28.08.2012  20:44            19.863 makefile
28.08.2012  21:49        72.766.976 mame.exe
28.08.2012  22:11        33.150.464 mess.exe
28.08.2012  20:44    <DIR>          obj
28.08.2012  21:32           195.072 regrep.exe
28.08.2012  21:32            65.024 romcmp.exe
28.08.2012  21:32           175.104 split.exe
28.08.2012  20:44    <DIR>          src
28.08.2012  21:32           171.008 src2html.exe
28.08.2012  21:32            22.016 srcclean.exe
28.08.2012  21:32         1.584.128 unidasm.exe
              14 File(s)    109.834.135 bytes
               9 Dir(s)  58.309.226.496 bytes free

(the VM is a bit ahead of time wink )
Posted By: Robert Gault

Re: Can't compile latest MESS? READ THIS THREAD - 09/04/12 04:20 AM

Is anyone else having this problem on a Win 32-bit system, r17628?

Linking mess.exe...
c:/mingw/mingw64-w32/bin/../lib/gcc/i686-w64-mingw32/4.4.7/../../../../i686-w64-mingw32/bin/ld.exe: obj/winui/mess/mess/
libsound.a(2151intf.o): warning: duplicate section `.rdata$_ZTI13ym2151_device[typeinfo for ym2151_device]' has differen
t size
Posted By: Robert Gault

Re: Can't compile latest MESS? READ THIS THREAD - 09/04/12 12:57 PM

False alarm. Required a full clean compile.
Posted By: goldenegg

Re: Can't compile latest MESS? READ THIS THREAD - 09/18/12 03:37 PM

Anyone else having problems compiling MESS 0.147? I'm compiling on OS X 10.8.1 and get the following:

make: *** No rule to make target `obj/sdl64/MESS/MESS.o', needed by `MESS64'. Stop.

MAME and UME both compile without any problems.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 09/18/12 03:42 PM

The TARGET= is case sensitive and must be all lowercase. For instance, "make TARGET=mess -j3".
Posted By: goldenegg

Re: Can't compile latest MESS? READ THIS THREAD - 09/18/12 03:54 PM

Wow ... I feel stupid now. I knew it was case sensitive, but not sure why I wasn't typing it that way. Especially since I did compile ume properly. Let's chalk it up to only getting 3 hours sleep last night smile
Posted By: Robert Gault

Re: Can't compile latest MESS? READ THIS THREAD - 12/19/12 02:24 AM

Anyone having this problem with msc96?

C:\mingw\mess>make TARGET=mess OSD=winui
Generating i8x9x source file...
process_begin: CreateProcess(NULL, python src/emu/cpu/mcs96/mcs96make.py mcs96 src/emu/cpu/mcs96/mcs96ops.lst obj/winui/
emu/cpu/mcs96/mcs96.inc, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [obj/winui/emu/cpu/mcs96/mcs96.inc] Error 2

I'm using the mingw64-w32 package with gcc 4.4.7 which is the most recent package that work on my system.

Hmmm, unless I am misreading the source code, there are several files missing from the repository: i8x9x.inc, i8xc196.inc, and mcs96.inc.
Posted By: Vas Crabb

Re: Can't compile latest MESS? READ THIS THREAD - 12/19/12 03:03 AM

You're missing a non-venomous snake.
Posted By: Just Desserts

Re: Can't compile latest MESS? READ THIS THREAD - 12/19/12 03:38 AM

Quick, let's see how long it takes him to read what's been posted on the MAME website for 11 days now.
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 12/19/12 08:56 AM

Quote:
process_begin: CreateProcess(NULL, python src/emu/cpu/mcs96/mcs96make.py mcs96 src/emu/cpu/mcs96/mcs96ops.lst obj/winui/
emu/cpu/mcs96/mcs96.inc, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [obj/winui/emu/cpu/mcs96/mcs96.inc] Error 2


It can be, your compiler doesn´t find the python folder to create ".inc" files.
Does it works if you compile the standard MESS (windows) version?
You make a clean compile?
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 12/19/12 09:01 AM

The "non-venomous snake" is python, yes, and it comes with the latest tools. They also work fine on XP SP3 (32-bit), I tried that successfully. If they don't, then something's wrong with your computer and/or setup.
Posted By: Robert Gault

Re: Can't compile latest MESS? READ THIS THREAD - 12/21/12 02:00 AM

I have the same problem with the new tools that was discussed above and never resolved as far as I can tell. My WinXP SP3 system just does not like gcc 4.6.3. Immediately after creating the obj directories, I get errors with either cc1.exe or cc1plus.exe.

make TARGET=mess
Compiling src/osd/windows/vconv.c...
cc1.exe: internal compiler error: Illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make: *** [obj/windows/osd/windows/vconv.o] Error 1

OR

make TARGET=mess OSD=winui
Compiling src/build/file2str.c...
cc1plus.exe: internal compiler error: Illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make: *** [obj/winui/build/file2str.o] Error 1

So now I'm blocked by either Python or gcc 4.6.3 from compiling MESS.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 12/21/12 02:04 AM

Ooh. Is that a system with an AMD or other unusual processor? (Cyrix? Intel Atom?)

Also, is there some reason you are unable to upgrade to Windows 7?
Posted By: bobz

Re: Can't compile latest MESS? READ THIS THREAD - 12/21/12 08:02 AM

I have the very same problem on my automatic build host:

make all TARGET=mess
mkdir.exe -p obj/windows
...
mkdir.exe -p obj/windows/tools
Compiling src/osd/windows/vconv.c...
cc1.exe: internal compiler error: Illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make: *** [obj/windows/osd/windows/vconv.o] Error 1

It's an old AMD Athlon XP based machine with WinXP SP3
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 12/21/12 09:27 AM

Could it be related to something like this perhaps?

Just for curiosity I tried

Code:
objdump -d C:\mingw64-w32\libexec\gcc\i686-w64-mingw32\4.6.3\cc1.exe > \Tmp\cc1-exe-objdump.txt

... and I found a lot of CMOVxx instructions that are likely to be missing in old processors (see here).
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 12/21/12 02:53 PM

bobz, if you do not

- find a solution with last MAME tools and your computer equipment
- want upgrade your OS
- want buy a new PC

then give the combination a try which I use.
Posted By: bobz

Re: Can't compile latest MESS? READ THIS THREAD - 12/21/12 03:08 PM

I am not sure mixing development environments is desirable from the auto-build point of view.
One of the goal of those builds is to track down early bugs. If the devs suspect the build environment for each bugs reported with my site's binaries, it will be counter productive. The binaries must be as trust worthy as possible.
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 12/21/12 03:31 PM

It's your choice.
Micko told me (IRC) my combination should work fine too.
GCC 4.6.x is just a bit more restrictive about warnings.
Posted By: bobz

Re: Can't compile latest MESS? READ THIS THREAD - 12/21/12 08:41 PM

It's sliding a bit off topic, but can we have some developers point of view on this ?
Posted By: Robert Gault

Re: Can't compile latest MESS? READ THIS THREAD - 12/21/12 10:11 PM

Oh boy! Yes my CPU is an Athlon XP 2500+ so that may be why gcc 4.6.3 won't work. My reason for not buying a new computer with Windows 7 or 8 is that there is not yet sufficient reason to do so.

Anna, what is the combination you referred to? Do you list that info on your site? I see instructions for compiling QMC2 but not MESS. At least what I see does not seem to be what I need to build MESS.
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 12/22/12 02:53 AM

Quote:
Anna, what is the combination you referred to?


MAME/MESS/UME: GCC 4.4.7/Python 2.7.3/Qt 4.8.4
QMC2/Qt CHDman:GCC 4.6/Qt 4.8.4

These combinations work for me.
Just for info, I have an Intel Mobile Pentium 4-M processor.
OS is WinXP Pro SP3 32-bit
Posted By: Robert Gault

Re: Can't compile latest MESS? READ THIS THREAD - 12/22/12 09:51 PM

Originally Posted By Anna Wu
Quote:
Anna, what is the combination you referred to?


MAME/MESS/UME: GCC 4.4.7/Python 2.7.3/Qt 4.8.4
QMC2/Qt CHDman:GCC 4.6/Qt 4.8.4

These combinations work for me.
Just for info, I have an Intel Mobile Pentium 4-M processor.
OS is WinXP Pro SP3 32-bit


Anna,
To clarify the above, how do you mix and match this? Do you take part of the old mame gcc 4.4.7 and drop it into the current mame package? Do you install the above as separate entities?
Just assume I'm clueless and provide a step by step process.
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 12/23/12 03:42 AM

Robert, I`ll send you a PM to avoid any confusion here.
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 12/24/12 09:55 PM

It's just nice to hear it is working for you, Robert. smile
Posted By: Micko

Re: Can't compile latest MESS? READ THIS THREAD - 12/25/12 02:15 PM

bobz: Thing is that we already need to support various GCC versions due to Linux and OSX support, so in general there should not be errors that are passing 4.6 or 4.7 and not working on 4.4 (we had some issue with Apple compiler beeing more restrictive but not mingw), so if you add Python support over 4.4.7 build process will run and things noticed not working there will not work on 4.6 or 4.7 too.
Thing is we can't help much if Mingw have issues that compiler is not working on some environments, since they introduce their own bugs (like latest 4.7.x 32bit is having issues)
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 12/25/12 02:20 PM

Performance on modern CPUs will be better with the code generated by newer GCCs though, so it's not optimal to have a public builder using the old compiler.
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 12/25/12 02:27 PM

I agree but it should exist alternatives by using older CPUs.
Posted By: zillion

Re: Can't compile latest MESS? READ THIS THREAD - 01/15/13 05:07 PM

I'm having a problem compiling.

I've updated to the latest svn, and ran make TARGET=mess -j4 PTR64=1, like I normally do and I get:

Quote:
src/osd/sdl/sdl.mak:449: *** commands commence before first target. Stop.



src/osd/sdl/sdl.mak line 449 has
Quote:
$(error Ubuntu 12.10 detected. Please install the gcc-4.6 and g++-4.6 packages)


I am running Ubuntu 12.10. After installing gcc-4.6 and g++-4.6, it compiles file, so I guess it's just a problem with the Ubuntu 12.10 detection.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 01/15/13 05:09 PM

I'll check, it's possible the whitespace cleaner thingy did something bad to the makefile that prevents that from printing.
Posted By: zillion

Re: Can't compile latest MESS? READ THIS THREAD - 01/17/13 06:37 PM

Looks like the new psx analog stuff isn't compiling right:

Quote:
src/mess/machine/psxanalog.c: In member function ‘UINT8 psx_analog_controller_device::pad_data(int, bool)’:
src/mess/machine/psxanalog.c:46:9: error: ‘data’ may be used uninitialized in this function [-Werror=uninitialized]
At global scope:
cc1plus: error: unrecognized command line option "-Wno-narrowing" [-Werror]
cc1plus: all warnings being treated as errors
make: *** [obj/sdl64/mess/machine/psxanalog.o] Error 1
make: *** Waiting for unfinished jobs....


(edit: trying to compile with make TARGET=mess -j4 PTR64=1 after a make clean on Ubuntu 12.10)

(edit again: nevermind! Carl's svn commit r20305 fixes it! Thanks Carl!)
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 02/04/13 08:30 AM

r20719
Compile fix (no whatsnew)
[src/emu/cpu/es5510]

I have still a problem ...

Quote:
Compiling src/emu/cpu/es5510/es5510.c...
cc1plus.exe: warnings being treated as errors
src/emu/cpu/es5510/es5510.c:140: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:140: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:140: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:141: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:372: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:373: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:374: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:375: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:376: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:377: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:427: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:447: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:449: error: integer constant is too large for 'long' type
src/emu/cpu/es5510/es5510.c:590: error: integer constant is too large for 'long' type
make: *** [obj/windows/emu/cpu/es5510/es5510.o] Error 1


However, I´ll make a clean compile again.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 02/04/13 10:27 AM

This should fix it:

Code:
rene@thunder:~/src/mame-svn> svn diff 
Index: src/emu/cpu/es5510/es5510.c
===================================================================
--- src/emu/cpu/es5510/es5510.c (revision 20723)
+++ src/emu/cpu/es5510/es5510.c (working copy)
@@ -137,8 +137,8 @@
 
 static inline INT32 SX(INT32 x) { return (x & 0x00800000) ? x | 0xff000000 : x & 0x00ffffff; }
 static inline INT32 SC(INT32 x) { return x & 0x00ffffff; }
-static inline INT64 SX64(INT64 x) { return (x & (0x0000800000000000)) ? x | 0xffff000000000000L : x & 0x0000ffffffffffffL; }
-static inline INT64 SC64(INT64 x) { return x & 0x0000ffffffffffff; }
+static inline INT64 SX64(INT64 x) { return (x & (0x0000800000000000LL)) ? x | 0xffff000000000000LL : x & 0x0000ffffffffffffLL; }
+static inline INT64 SC64(INT64 x) { return x & 0x0000ffffffffffffLL; }
 
 static inline const char * const REGNAME(UINT8 r) {
   static char rn[8];
@@ -369,12 +369,12 @@
     break;
 
     /* 0x03 to 0x08 INSTR Register */
-  case 0x03: instr_latch = ((instr_latch&0x00ffffffffff) | ((INT64)data&0xff)<<40); logerror("ES5510: Write INSTR latch[5] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
-  case 0x04: instr_latch = ((instr_latch&0xff00ffffffff) | ((INT64)data&0xff)<<32); logerror("ES5510: Write INSTR latch[4] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
-  case 0x05: instr_latch = ((instr_latch&0xffff00ffffff) | ((INT64)data&0xff)<<24); logerror("ES5510: Write INSTR latch[3] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
-  case 0x06: instr_latch = ((instr_latch&0xffffff00ffff) | ((INT64)data&0xff)<<16); logerror("ES5510: Write INSTR latch[2] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
-  case 0x07: instr_latch = ((instr_latch&0xffffffff00ff) | ((INT64)data&0xff)<< 8); logerror("ES5510: Write INSTR latch[1] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
-  case 0x08: instr_latch = ((instr_latch&0xffffffffff00) | ((INT64)data&0xff)<< 0); logerror("ES5510: Write INSTR latch[0] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
+  case 0x03: instr_latch = ((instr_latch&0x00ffffffffffLL) | ((INT64)data&0xff)<<40); logerror("ES5510: Write INSTR latch[5] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
+  case 0x04: instr_latch = ((instr_latch&0xff00ffffffffLL) | ((INT64)data&0xff)<<32); logerror("ES5510: Write INSTR latch[4] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
+  case 0x05: instr_latch = ((instr_latch&0xffff00ffffffLL) | ((INT64)data&0xff)<<24); logerror("ES5510: Write INSTR latch[3] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
+  case 0x06: instr_latch = ((instr_latch&0xffffff00ffffLL) | ((INT64)data&0xff)<<16); logerror("ES5510: Write INSTR latch[2] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
+  case 0x07: instr_latch = ((instr_latch&0xffffffff00ffLL) | ((INT64)data&0xff)<< 8); logerror("ES5510: Write INSTR latch[1] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
+  case 0x08: instr_latch = ((instr_latch&0xffffffffff00LL) | ((INT64)data&0xff)<< 0); logerror("ES5510: Write INSTR latch[0] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
 
     /* 0x09 to 0x0b DIL Register (r/o) */
 
@@ -424,7 +424,7 @@
     break;
 
   case 0x80: /* Read select - GPR + INSTR */
-    logerror("ES5510: Read INSTR+GPR %02x (%s): %012" I64FMT "x %06x (%d)\n", data, REGNAME(data & 0xff), instr[data] & 0xffffffffffffL, gpr[data] & 0xffffff, gpr[data]);
+    logerror("ES5510: Read INSTR+GPR %02x (%s): %012" I64FMT "x %06x (%d)\n", data, REGNAME(data & 0xff), instr[data] & 0xffffffffffffLL, gpr[data] & 0xffffff, gpr[data]);
 
     /* Check if an INSTR address is selected */
     if (data < 0xa0) {
@@ -444,9 +444,9 @@
 
   case 0xc0: /* Write select - INSTR */
     DESCRIBE_INSTR(buf, instr_latch, gpr[data]);
-    logerror("ES5510: Write INSTR %02x %012" I64FMT "x: %s\n",data, instr_latch&0xffffffffffffL, buf);
+    logerror("ES5510: Write INSTR %02x %012" I64FMT "x: %s\n",data, instr_latch&0xffffffffffffLL, buf);
     if (data < 0xa0) {
-      instr[data] = instr_latch&0xffffffffffffL;
+      instr[data] = instr_latch&0xffffffffffffLL;
     }
     break;
 
@@ -587,7 +587,7 @@
       if (mulacc.write_result) {
        mulacc.product = (mulacc.cValue * mulacc.dValue) << mulshift;
        mulacc.result = (mulacc.accumulate ? machl : 0) + mulacc.product;
-       INT32 tmp = (mulacc.result & 0x0000ffffff000000) >> 24;
+       INT32 tmp = (mulacc.result & 0x0000ffffff000000LL) >> 24;
        if (mulacc.dst & SRC_DST_REG) {
          machl = mulacc.result;
          write_reg(mulacc.cReg, tmp);
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 02/04/13 10:57 AM

Nice, thank you. smile
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 02/04/13 01:06 PM

That change will break MSVC; MAME provides the U64() wrapper macro for 64-bit constants. ETA: I've now committed a corrected version.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 02/04/13 03:49 PM

Thanks, RB!

That's a bit OT, but I'm actually surprised that MSVC has trouble with that?! I'm using some decimal "*ULL" constants successfully in QMC2, it also works fine with MSVC as far as I can tell. May be I'm missing something, though.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 02/04/13 03:50 PM

LL/ULL are *not* supported in MSVC, they're a GCC extension (which Clang also supports).
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 02/04/13 04:31 PM

r20728

Just for info ...

Quote:
Compiling src/emu/cpu/es5510/es5510.c...
src/emu/cpu/es5510/es5510.c:140: error: expected unqualified-id before '<<' token
src/emu/cpu/es5510/es5510.c:143: error: expected unqualified-id before '==' token

src/emu/cpu/es5510/es5510.c: In function 'INT64 SC64(INT64)':
src/emu/cpu/es5510/es5510.c:145: error: redefinition of 'INT64 SC64(INT64)'
src/emu/cpu/es5510/es5510.c:142: error: 'INT64 SC64(INT64)' previously defined here
src/emu/cpu/es5510/es5510.c: At global scope:
src/emu/cpu/es5510/es5510.c:146: error: expected unqualified-id before '>>' token
make: *** [obj/windows/emu/cpu/es5510/es5510.o] Error 1


René´s fix was working for me before.

Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 02/04/13 04:34 PM

You hit a merge violation. Delete the files and re-get from SVN.
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 02/04/13 04:49 PM

Originally Posted By R. Belmont
You hit a merge violation. Delete the files and re-get from SVN.


src\emu\cpu\ folder deleted and re-downloaded from SVN. It seems to work now.
Thanks to take care about my problem. smile
Posted By: Vas Crabb

Re: Can't compile latest MESS? READ THIS THREAD - 02/05/13 01:06 AM

Huh? I definitely use ULL/LL suffixes with MSVC at work and had no problems.
Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 03/29/13 12:45 AM

I'm getting a compile error on the latest svn: r22134 using Windows 7. I'm also doing a clean compile here.

Compiling src/mess/machine/md_slot.c...
Compiling src/mess/machine/md_rom.c...
Compiling src/mess/machine/md_sk.c...
src/mess/machine/md_slot.c: In member function 'void base_md_cart_slot_device::f
ile_logging(UINT8*, UINT32, UINT32)':
src/mess/machine/md_slot.c:999:107: error: unknown conversion type character 'l'
in format [-Werror=format]
src/mess/machine/md_slot.c:999:107: error: too many arguments for format [-Werro
r=format-extra-args]
src/mess/machine/md_slot.c:1013:33: error: suggest parentheses around arithmetic
in operand of '^' [-Werror=parentheses]
src/mess/machine/md_slot.c:1017:35: error: suggest parentheses around arithmetic
in operand of '^' [-Werror=parentheses]
src/mess/machine/md_slot.c:1019:39: error: suggest parentheses around arithmetic
in operand of '^' [-Werror=parentheses]
src/mess/machine/md_slot.c:1021:39: error: suggest parentheses around arithmetic
in operand of '^' [-Werror=parentheses]
src/mess/machine/md_slot.c:1023:32: error: suggest parentheses around arithmetic
in operand of '^' [-Werror=parentheses]
src/mess/machine/md_slot.c:1029:28: error: suggest parentheses around arithmetic
in operand of '^' [-Werror=parentheses]
src/mess/machine/md_slot.c:1048:31: error: suggest parentheses around arithmetic
in operand of '^' [-Werror=parentheses]
src/mess/machine/md_slot.c:1050:30: error: suggest parentheses around arithmetic
in operand of '^' [-Werror=parentheses]
src/mess/machine/md_slot.c:1053:33: error: suggest parentheses around arithmetic
in operand of '^' [-Werror=parentheses]
Compiling src/mess/machine/md_eeprom.c...
cc1plus.exe: all warnings being treated as errors
make: *** [obj/windows64/mess/machine/md_slot.o] Error 1
make: *** Waiting for unfinished jobs....
Posted By: etabeta78

Re: Can't compile latest MESS? READ THIS THREAD - 03/29/13 05:49 AM

sorry, Apple GCC included with OSX 10.6 did not complain about those frown
Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 03/29/13 06:35 AM

No worries, it's all fixed now smile
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 03/29/13 11:55 AM

In fairness to GCC < 4.7, the "suggest parens" warning was completely spurious in that case because it would give the right results going in either order.

The %llx not being portable thing is important to know, however smile
Posted By: etabeta78

Re: Can't compile latest MESS? READ THIS THREAD - 03/29/13 11:57 AM

I was pretty sure there was a more correct way to print UINT64, but I forgot
Now I took a note for next time I need it
Posted By: zillion

Re: Can't compile latest MESS? READ THIS THREAD - 05/15/13 08:13 PM

With most recent svn on Ubuntu 12.10 64-bit, the build is failing when trying to link.

It normally builds fine. I also ran make clean before compiling.

Here's the output:

Quote:

Linking mess64...
obj/sdl64/mess/mame.a(megadriv.o): In function `delegate_generic_class* delegate
_base<void, address_space&, unsigned int, unsigned char, unsigned char, _noparam
>::late_bind_helper<mtech_state>(delegate_late_bind&)':
megadriv.c:(.text._ZN13delegate_baseIvR13address_spacejhh8_noparamE16late_bind_h
elperI11mtech_stateEEP22delegate_generic_classR18delegate_late_bind[delegate_generic_class* delegate_base<void, address_space&, unsigned int, unsigned char, unsigned char, _noparam>::late_bind_helper<mtech_state>(delegate_late_bind&)]+0xc): undefined reference to `typeinfo for mtech_state'
megadriv.c:(.text._ZN13delegate_baseIvR13address_spacejhh8_noparamE16late_bind_helperI11mtech_stateEEP22delegate_generic_classR18delegate_late_bind[delegate_generic_class* delegate_base<void, address_space&, unsigned int, unsigned char, unsigned char, _noparam>::late_bind_helper<mtech_state>(delegate_late_bind&)]+0x45): undefined reference to `typeinfo for mtech_state'
obj/sdl64/mess/mame.a(megadriv.o): In function `delegate_generic_class* delegate_base<unsigned char, address_space&, unsigned int, unsigned char, _noparam, _noparam>::late_bind_helper<mtech_state>(delegate_late_bind&)':
megadriv.c:(.text._ZN13delegate_baseIhR13address_spacejh8_noparamS2_E16late_bind_helperI11mtech_stateEEP22delegate_generic_classR18delegate_late_bind[delegate_generic_class* delegate_base<unsigned char, address_space&, unsigned int, unsigned char, _noparam, _noparam>::late_bind_helper<mtech_state>(delegate_late_bind&)]+0xc): undefined reference to `typeinfo for mtech_state'
megadriv.c:(.text._ZN13delegate_baseIhR13address_spacejh8_noparamS2_E16late_bind_helperI11mtech_stateEEP22delegate_generic_classR18delegate_late_bind[delegate_generic_class* delegate_base<unsigned char, address_space&, unsigned int, unsigned char, _noparam, _noparam>::late_bind_helper<mtech_state>(delegate_late_bind&)]+0x45): undefined reference to `typeinfo for mtech_state'
collect2: ld returned 1 exit status
make: *** [mess64] Error 1



If there's anything else that would be of use, please let me know.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 05/15/13 08:17 PM

Either Canonical threw the "we're going proprietary, fuck all the other distros" switch sooner than I was anticipating or your source tree is corrupted.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 05/15/13 08:18 PM

(Fair warning: MAME/MESS will not be formally supported on Ubuntu operating systems once they switch to their in-house graphics stack).
Posted By: judge

Re: Can't compile latest MESS? READ THIS THREAD - 05/15/13 09:33 PM

Hmm, I am actually hit by the same link error when compiling with clang on osx
Posted By: judge

Re: Can't compile latest MESS? READ THIS THREAD - 05/15/13 09:46 PM

Fixed
Posted By: zillion

Re: Can't compile latest MESS? READ THIS THREAD - 05/16/13 03:29 PM

RB: Yeah, I plan on switching back to Debian before that happens, but thanks for the warning! Canonical definitely made me feel uneasy with their Mir announcement.

Judge: Thanks for the fix! It's linking just fine now!

Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 05/16/13 03:58 PM

zillion: Good call. Debian's always nice and safe smile
Posted By: rfka01

Re: Can't compile latest MESS? READ THIS THREAD - 06/09/13 08:51 AM

Hi,for a few days now I haven't been able to compile MESS from SVN ... Windows 7/64.

I've deleted the obj directory, "made" clean, re-downloaded the complete source ...

the build always stalls at

Code:
Compiling src/mess/machine/sns_bsx.c...
Compiling src/mess/machine/sns_sa1.c...
Compiling src/mess/machine/sns_sdd1.c...&#9834;&#9689;Compiling src/mess/machine/sns_sfx.c..
.
Compiling src/mess/machine/sns_spc7110.c...
cc1plus.exe: warnings being treated as errors
src/mess/machine/sns_sa1.c:493: error: integer constant is too large for 'long'
type
Compiling src/mess/machine/sns_sufami.c...
Compiling src/mess/machine/sns_upd.c...
Compiling src/mess/machine/sns_event.c...
Compiling src/mess/drivers/snes.c...
make: *** [obj/windows64/mess/machine/sns_sa1.o] Error 1
make: *** Waiting for unfinished jobs....


Robert
Posted By: rfka01

Re: Can't compile latest MESS? READ THIS THREAD - 06/09/13 11:27 AM

r23560 fixed the compile for me - thanks Micko!
Posted By: etabeta78

Re: Can't compile latest MESS? READ THIS THREAD - 06/09/13 11:42 AM

with SA-1 I tried to mimic other drivers using UINT64 variables, but I had only a 64bit MacOSX environment to test the code (which compiled fine there) so I'm sorry it broke at your end

Thanks to Micko for offering the proper code: I will use that next time I need a constant with more than 32 bits smile
Posted By: Kaylee

Re: Can't compile latest MESS? READ THIS THREAD - 07/05/13 06:13 PM

Somebody broke Mess:

Code:
src/mess/drivers/esqmr.c:33:18: error: 'm68340_device' was not declared in this scope
src/mess/drivers/esqmr.c:33:31: error: template argument 1 is invalid src/mess/drivers/esqmr.c: 
     In constructor 'esqmr_state::esqmr_state(const machine _config&, device_type, const char*)':
src/mess/drivers/esqmr.c:30:27: error: expression list treated as compound expression in mem-initializer [-fpermissive]
src/mess/drivers/esqmr.c:30:27: error: value computed is not used [-Werror=unused-value]
src/mess/drivers/esqmr.c:30:27: error: left operand of comma operator has no effect [-Werror=unused-value]
src/mess/drivers/esqmr.c:30:27: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
src/mess/drivers/esqmr.c: In function 'device_t* construct_machine_config_mr(machine_config&, device_t*)':
src/mess/drivers/esqmr.c:85:2: error: 'M68340' was not declared in this scope
Posted By: Haze

Re: Can't compile latest MESS? READ THIS THREAD - 07/05/13 06:33 PM

hmm, ok, didn't know it was used in MESS because it's still basically a skeleton to log rather than emulate (wasn't testing a full build)

looks like the actual driver is a skeleton too, so no real surprise.
Posted By: falcen99

Re: Can't compile latest MESS? READ THIS THREAD - 09/13/13 10:34 AM

wHAT DOWNLOAD THIS FILE http://icips.us/emulation/crt/new_d3dx9_headers.zip FILE NOT FOUND,PLEASE POST THIS FILE TO falcen99@seznam.cz

sorry my english is verry bad

Originally Posted By Just Desserts
If you compile MESS, and if you compile MAME, you will soon need this:

http://icips.us/emulation/crt/new_d3dx9_headers.zip

Put them here for x64, you can possibly put them directly in mingw/mingw64-64/include, I haven't tried it yet:
mingw/mingw64-64/x86_64-w64-mingw32/include/

Do NOT put them in the directx/ folder!

Checkin incoming...
Posted By: Anna Wu

Re: Can't compile latest MESS? READ THIS THREAD - 09/13/13 11:42 AM

Originally Posted By falcen99
wHAT DOWNLOAD THIS FILE http://icips.us/emulation/crt/new_d3dx9_headers.zip FILE NOT FOUND,PLEASE POST THIS FILE TO falcen99@seznam.cz

sorry my english is verry bad

Originally Posted By Just Desserts
If you compile MESS, and if you compile MAME, you will soon need this:

http://icips.us/emulation/crt/new_d3dx9_headers.zip

Put them here for x64, you can possibly put them directly in mingw/mingw64-64/include, I haven't tried it yet:
mingw/mingw64-64/x86_64-w64-mingw32/include/

Do NOT put them in the directx/ folder!

Checkin incoming...


?

PS: Sorry, I don´t send a email to an unknown person.
Posted By: shattered

Re: Can't compile latest MESS? READ THIS THREAD - 09/25/13 05:19 PM

A lot of drivers refuse to start roughly after r25388 "New AM_(DEV)SETOFFSET feature for address maps" commit, like so:

Driver dendy (file nes.c): 3 errors, 0 warnings
Errors:
generic space memory map entry 0-FFFFFFFF references non-existant region ''
N2A03 device ':maincpu': program space memory map entry 0-7FF references non-existant region ''
2C07 PPU device ':ppu': videoram space memory map entry 0-3EFF references non-existant region ''
Posted By: Robbbert

Re: Can't compile latest MESS? READ THIS THREAD - 09/25/13 05:29 PM

Works fine for me.
You did do a clean build, right?
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 09/25/13 05:40 PM

Yeah, a change like that demands a clean build.
Posted By: eris23

Re: Can't compile latest MESS? READ THIS THREAD - 10/20/13 08:58 PM

gcc (Ubuntu/Linaro 4.8.2-1ubuntu1) 4.8.2 -- amd64

Problem building revision 25753 from svn:

Linking ume64...
obj/sdl64/ume/ume/drivlist.o:(.rodata+0x34e58): undefined reference to `driver_sitvo'
collect2: error: ld returned 1 exit status
make: *** [ume64] Error 1
rm obj/sdl64/osd/sdl/debugqtlogwindow.moc.c obj/sdl64/osd/sdl/debugqtdasmwindow.moc.c obj/sdl64/osd/sdl/debugqtwindow.moc.c obj/sdl64/osd/sdl/debugqtmainwindow.moc.c obj/sdl64/osd/sdl/debugqtbreakpointswindow.moc.c obj/sdl64/osd/sdl/debugqtmemorywindow.moc.c obj/sdl64/osd/sdl/debugqtview.moc.c

Is this problem specific to gcc 4.8.2, or is this a problem in this particular svn revision?

I've been building successfully with gcc 4.8.1 (https://sourceforge.net/projects/ume64amd64onbun/files/ume64%20svn%20amd64%20Linux/), but there was a recent gcc update. Any failed builds before this were in a particular driver's compile, not the final linking -- and were fixed in a subsequent svn revision.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 10/20/13 09:44 PM

Did you do a 'make clean' on this SVN revision? It appears a driver was added/deleted and not everything got recompiled.
Posted By: eris23

Re: Can't compile latest MESS? READ THIS THREAD - 10/20/13 10:46 PM

Yes, I did "make clean".

Plus, I checked and the build failed at the same place with:

gcc (Ubuntu/Linaro 4.6.4-3ubuntu1) 4.6.4

And if you didn't get it from context this was a ume64 build (so the problem might be with MAME not MESS).

Is there a UME specific board out there?
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 10/20/13 10:54 PM

Nope. UME itself is minimally supported on Windows, and not at all on non-Windows.
Posted By: remax

Re: Can't compile latest MESS? READ THIS THREAD - 10/21/13 08:24 AM

try to make mame and mess just after (without making clean) and you'll know if you must report it as a mame or a mess bug.
Posted By: etabeta78

Re: Can't compile latest MESS? READ THIS THREAD - 10/21/13 08:32 AM

I think the problem was related to LN's mistake on the MAME side, which got fixed in rev.25759
sync with latest and both MAME and UME should compile fine wink
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 10/21/13 08:55 AM

Yeah, I can confirm that MAME, MESS and UME build fine on Linux using SVN r25769 smile.
Posted By: eris23

Re: Can't compile latest MESS? READ THIS THREAD - 10/21/13 05:00 PM

Successfully built 25770. Thank you for the info.
Posted By: remax

Re: Can't compile latest MESS? READ THIS THREAD - 11/03/13 03:12 PM

A fix for the cpc_flop softlist (cause CMP keep warning for similar names).

http://www.sendspace.com/file/ok63ch

(added a [a] to the second "carlos sainz #1 (nongoodcpc).dsk" )
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 02/23/14 03:35 PM

Having trouble compiling ume on Ubuntu 13.10. After the directories are created I am presented with this:

Code:
No package 'QtGui' found
Compiling src/mame/drivers/rmhaihai.c...
Package QtGui was not found in the pkg-config search path.
Perhaps you should add the directory containing `QtGui.pc'
to the PKG_CONFIG_PATH environment variable
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 02/23/14 03:43 PM

Install libqt4-dev and all its dependencies, then try again:

Code:
$ sudo apt-get install libqt4-dev
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 02/23/14 04:00 PM

That worked like a charm. Thanks!
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 03/08/14 01:47 AM

Okay, so I'm having another compilation error, this time in
Windows 7 x64.
I invoked the following command:
Code:
make -j3 TARGET=UME ARCHOPTS=-march=native PTR64=1


Everything seemed fine and then I got the following error:
Code:
make (e=87): The parameter is incorrect.
make: *** [obj/windows64/UME/UME/liboptional.a] Error 87
make: *** Waiting for unfinished jobs....
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 03/08/14 01:48 AM

Apparently some Windows configs are blowing through the command-line length limit; move your source tree as close as possible to the root of the drive if it's down a ways in the folder structure.

Also, Haze supports UME over at his blog, we normally only handle vanilla MAME/MESS here.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 03/08/14 02:54 PM

Thanks for the tip, but, the strange thing is I'm running the compile from the following path:
Code:
c:\users\michael\mamesvn


So I'm pretty sure that's not the problem.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 03/08/14 03:25 PM

Yeah, that's (part of) the problem. If you move that up to just c:\mame it will likely build.

Micko's working on trying to make it friendlier to long paths like that, but there will always be limits.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 03/08/14 04:23 PM

You could also try to use 'subst' to shorten the path:

Code:
C:\Users\michael\mamesvn>subst x: C:\Users\michael\mamesvn
C:\Users\michael\mamesvn>x:
X:>make -j5 TARGET=mess ...
...
X:>c:
C:\Users\michael\mamesvn>subst x: /d
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 04/07/14 01:19 PM

Okay, having some issues compiling the latest.
I use the commandline:

Code:
make -j5 TARGET=UME NOWERROR=1 PTR64=1


After a while this happens:

Code:
src/mame/drivers/dassault.c:458:14: error: 'deco16ic_interface' does not name a
type
src/mame/drivers/dassault.c:469:14: error: 'deco16ic_interface' does not name a
type
src/mame/drivers/dassault.c: In function 'device_t* construct_machine_config_das
sault(machine_config&, device_t*, device_t*)':
src/mame/drivers/dassault.c:516:2: error: 'dassault_deco16ic_tilegen1_intf' was
not declared in this scope
src/mame/drivers/dassault.c:520:2: error: 'dassault_deco16ic_tilegen2_intf' was
not declared in this scope
Compiling src/mame/drivers/dblewing.c...
src/mame/drivers/dassault.c: At global scope:
src/mame/drivers/dassault.c:453:12: warning: 'int dassault_bank_callback(int)' d
efined but not used [-Wunused-function]
make: *** [obj/windows64/mame/drivers/dassault.o] Error 1
make: *** Waiting for unfinished jobs....


Any ideas?
Posted By: Osso

Re: Can't compile latest MESS? READ THIS THREAD - 04/07/14 01:26 PM

Yeah, apparently Eta forgot to commit a file. I'm sure he'll fix it as soon as he sees this.
Posted By: Osso

Re: Can't compile latest MESS? READ THIS THREAD - 04/07/14 01:54 PM

Micko just fixed the problem.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 04/07/14 04:26 PM

Perfect!
It's working now. smile
Posted By: Dagarman

Re: Can't compile latest MESS? READ THIS THREAD - 04/20/14 10:10 PM

What am I doing wrong?
I followed the instructions: http://www.mess.org/compiling_mess
- mingw-mame-w64-20121207
- TortoiseSVN-1.8.6.25419-x64-svn-1.8.8

mame64 compiles OK. but...
G:\MESS>make target=mess
results in: "make: Nothing to be done for 'default'."

I'm fairly new to this, but I have successfully compiled a few times so far.
Posted By: Haze

Re: Can't compile latest MESS? READ THIS THREAD - 04/20/14 10:18 PM

TARGET=mess
or
TARGET=ume

the caps is important.
Posted By: Dagarman

Re: Can't compile latest MESS? READ THIS THREAD - 04/20/14 11:08 PM

That did the trick. Thanks again.
Posted By: JL

Re: Can't compile latest MESS? READ THIS THREAD - 05/18/14 11:05 PM

Hi,

Having issue compiling 0.153 [using mame0153s.zip source]. I have completely rebuilt my mingw environment and did clean compile but it did not help. I do use messui, qmc2 is not an option I want to explore at moment for the cab I use mess in.

My compile command line is:
make all -j5 TARGET=mess OSD=winui

Paste of part of the error, it goes on with more of the same.

src/emu/video.c: In constructor 'video_manager::video_manager(running_machine&)':
src/emu/video.c:104:3: error: class 'video_manager' does not have any field named 'm_avifile'
src/emu/video.c:105:3: error: class 'video_manager' does not have any field named 'm_movie_frame_period'
src/emu/video.c:106:3: error: class 'video_manager' does not have any field named 'm_movie_next_frame_time'
src/emu/video.c:107:3: error: class 'video_manager' does not have any field named 'm_movie_frame'
src/emu/video.c: In member function 'void video_manager::begin_recording(const char*, video_manager::movie_format)':
src/emu/video.c:363:16: error: no matching function for call to 'video_manager::end_recording()'
src/emu/video.c:363:16: note: candidate is:
src/emu/video.h:94:7: note: void video_manager::end_recording(video_manager::movie_format)
src/emu/video.h:94:7: note: candidate expects 1 argument, 0 provided
src/emu/video.c:369:2: error: 'm_movie_frame' was not declared in this scope
src/emu/video.c:370:2: error: 'm_movie_next_frame_time' was not declared in this scope
src/emu/video.c:404:4: error: 'm_movie_frame_period' was not declared in this scope
src/emu/video.c:414:52: error: 'm_avifile' was not declared in this scope
src/emu/video.c:424:3: error: 'm_mngfile' was not declared in this scope
src/emu/video.c:437:26: error: no matching function for call to 'video_manager::end_recording()'
src/emu/video.c:437:26: note: candidate is:
src/emu/video.h:94:7: note: void video_manager::end_recording(video_manager::movie_format)
src/emu/video.h:94:7: note: candidate expects 1 argument, 0 provided
src/emu/video.c:437:26: error: return-statement with a value, in function returning 'void' [-fpermissive]
src/emu/video.c:440:4: error: 'm_movie_frame_period' was not declared in this scope


Many thanks my good friends.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 05/18/14 11:11 PM

messui heavily modifies MESS's internals, so we can't help you here. Ask at the messui site.
Posted By: JL

Re: Can't compile latest MESS? READ THIS THREAD - 05/18/14 11:23 PM

If only they had a forum or contact method. Thanks though.
Posted By: Stiletto

Re: Can't compile latest MESS? READ THIS THREAD - 05/19/14 12:19 AM

Originally Posted By JL
If only they had a forum or contact method. Thanks though.


Just ping Robbbert on here.

But yes, he has no contact method on his site, hah.. smile
Posted By: JL

Re: Can't compile latest MESS? READ THIS THREAD - 05/19/14 01:33 AM

That you stiletto. I've only been here for 14 years and never knew that.
Posted By: Robbbert

Re: Can't compile latest MESS? READ THIS THREAD - 05/19/14 05:12 AM

Lol, actually there is a contact forum mentioned, but you have to look at the HBMAME page for that.

I'm guessing you are trying to build using a different svn revision than the one the source is meant for.
Posted By: JL

Re: Can't compile latest MESS? READ THIS THREAD - 05/19/14 09:15 PM

Hi,

from your PM:
You need to get MAME's video.h then add one line at about line 70:

void set_speed_factor(int speed) { m_speed = speed; }



That worked perfectly. Thank you.


Before I posted I had downloaded a fresh copy of the 0.153 source
from http://www.mamedev.org/release.html - I've not been into svn builds for many years.

Anyhow all resolved, thank you again for your help.
Posted By: Stiletto

Re: Can't compile latest MESS? READ THIS THREAD - 05/20/14 03:12 AM

Originally Posted By JL
Thank you, Stiletto. I've only been here for 14 years and never knew that.


Well... MESSUI never _used_ to be Robbbert's responsibility to maintain, it used to be an officially supported project of the MESS development team.

(Unlike MAMEUI, which merely had its own development team - it wasn't supported by MAME.)

But ever since MAME and MESS developers decided (years ago now) to halt the intertwining of their projects with the MAME32/MAMEUI codebase... (due to many reasons but chiefly due to user interface design issues with MESS, and MAMEUI's and MESSUI's main developers leaving to work on other things)... MESSUI was removed from MESS's sourcecode and became, mostly, a dead project. Perhaps you missed the arguments about that on here.

It's only kept alive by Robbbert's efforts, although people like Mamesick (MAMEUIFX) also work on their own MAMEUI-based projects, also keeping it alive. John IV still updates the MAMEUI project, but as there are no actual MAMEUI developers driving development, but hackers applying quick fixes ensuring the whole ball of wax doesn't fall apart...

...

No offense to Robbbert, but you're honestly much better off using MESS itself from command-line, or learning to use it with a modern frontend such as QMC2. My $0.02.

Still, MESSUI will be around as people like Robbbert continue patching it to the latest MESS code and compiling it.

Anyhow, all that is a bit off-topic for this forum these days.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 06/11/14 01:26 PM

Anybody having trouble compiling?
Using the following commandline:

Code:
make -j3 TARGET=UME NOWERROR=1 USE_NETWORK=1 PTR64=1 sse4=1


I get this when it tries to link the executable:

Code:
Linking UME64.exe...
obj/windows64/UME/UME/libbus.a(epson_lx800.o):epson_lx800.c:(.text+0x5b5): undef
ined reference to `e05a03_device::write(address_space&, unsigned int, unsigned c
har, unsigned char)'
obj/windows64/UME/UME/libbus.a(epson_lx800.o):epson_lx800.c:(.text+0x5e3): undef
ined reference to `e05a03_device::read(address_space&, unsigned int, unsigned ch
ar)'
c:/mingw64-w64/bin/../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mi
ngw32/bin/ld.exe: obj/windows64/UME/UME/libbus.a(epson_lx800.o): bad reloc addre
ss 0x0 in section `.data'
c:/mingw64-w64/bin/../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mi
ngw32/bin/ld.exe: final link failed: Invalid operation
collect2: ld returned 1 exit status
make: *** [UME64.exe] Error 1


Any ideas?
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 06/11/14 01:54 PM

Looks like you need a "make clean", as the devices in the error messages recently got moved.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 06/11/14 02:32 PM

Nope. Just tried a make clean and I got the same error.
Posted By: Haze

Re: Can't compile latest MESS? READ THIS THREAD - 06/11/14 03:12 PM

I was having trouble compiling a plain MAME due to the same devices earlier, I think something has been set up incorrectly.
Posted By: etabeta78

Re: Can't compile latest MESS? READ THIS THREAD - 06/11/14 03:22 PM

are e05a03.* files still in mess/machine? if so, they shall probably be moved to emu/machine...

I'm not in the position to compile the source, though
Posted By: Tafoid

Re: Can't compile latest MESS? READ THIS THREAD - 06/11/14 03:23 PM

yeah, there is an issue on the MESS side, even with using 'make depend', 'make depend TARGET=mess', I still get that error.

EDIT: Fixed in r30944
Posted By: Ensjo

Re: Can't compile latest MESS? READ THIS THREAD - 07/31/14 04:06 AM

Can't compile revision 31475:

Code:
$ make TARGET=mess

…

Compiling src/osd/sdl/sdlmain.c...
In file included from src/osd/sdl/sdlmain.c:49:
In file included from src/osd/sdl/input.h:15:
In file included from src/osd/sdl/window.h:20:
In file included from src/osd/sdl/osd_opengl.h:32:
/Library/Frameworks/SDL.framework/Headers/SDL_opengl.h:3124:22: error: typedef redefinition with
      different types ('unsigned int' vs 'void *')
typedef unsigned int GLhandleARB;       /* shader object handle */
                     ^
/System/Library/Frameworks/OpenGL.framework/Headers/gltypes.h:65:15: note: previous definition is here
typedef void *GLhandleARB;
              ^
1 error generated.
make: *** [obj/sdl64/osd/sdl/sdlmain.o] Error 1
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 07/31/14 04:11 AM

That appears to be Mac OS X, but 31475 builds fine on my machine here (10.9 "Mavericks", latest Xcode 5 updates).

Are you doing anything unusual?
Posted By: Ensjo

Re: Can't compile latest MESS? READ THIS THREAD - 07/31/14 04:18 AM

Not that I'm aware of.

My OS X is 10.9.4, My Xcode is 3.2.4.

Edit: I'll install a newer Xcode and try again.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 07/31/14 04:32 AM

Using Xcode 3 on 10.9 (or 10.8, for that matter) is definitely unusual smile

Tip: with newer Xcodes, you'll need to install the command-line tools in the Downloads pane of the Preferences dialog.
Posted By: Ensjo

Re: Can't compile latest MESS? READ THIS THREAD - 08/01/14 05:44 AM

Installed a new Xcode.

Hm, didn't find anything about command-line tools in Downloads.

But in Locations I have:

Quote:
Command Line Tools: Xcode 5.1.1 (5B1008)
(There is a combo box, but that is the only value in the list.)

Anyway, running $make TARGET=mess I still get the same error as before.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 08/01/14 07:28 AM

Hmmm, are you using the latest version of SDL 1.2 (1.2.15)? Because GLhandleARB is defined as "void *" in SDL 1.2.15's SDL_opengl.h, but yours appears to use "unsigned int" instead. Note that for Mac OS X 10.9 SDL 1.2.15 is kinda mandatory.
Posted By: Ensjo

Re: Can't compile latest MESS? READ THIS THREAD - 08/02/14 03:52 AM

Installed newer SDL, MESS compiled. Thanks a lot! :-)
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 08/02/14 04:10 AM

Yeah, SDL 1.2.14 and earlier will crash on OS X 10.8 and later.
Posted By: datajerk

Re: Can't compile latest MESS? READ THIS THREAD - 08/29/14 08:59 PM

Hi, trying to build/run MESS for Raspberry Pi. I know this has been discussed a bit in the past, but I didn't find a lot of help in that thread. I also know that the expected experience is poor, but I wanted to see for myself. So....

RPi out of the box cannot compile latest MESS SVN without getting a compiler error (gcc 4.6). Using 4.7 I can build and link both mess and messd (the later requires 2GB of swap--use an external HD).

For 4.7 I had to add -Wno-error=narrowing -Wno-error=attributes to avoid C++11 issue with narrowing and inlining. I can post the make output if you all want to look at the warnings.

I get a segfault when I try to run mess, here's the backtrace:

Code:
(gdb) run
Starting program: /home/egan/src/mess47/messd 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[New Thread 0xb5452420 (LWP 3394)]
[New Thread 0xb4b83420 (LWP 3396)]

Program received signal SIGSEGV, Segmentation fault.
0x00000038 in ?? ()
(gdb) backtrace
#0  0x00000038 in ?? ()
#1  0x002b5470 in delegate_base<void, _noparam, _noparam, _noparam, _noparam, _noparam, _noparam, _noparam, _noparam, _noparam, _noparam, _noparam, _noparam>::operator() (this=0x39adb2c) at src/lib/util/delegate.h:649
#2  0x0222ed58 in running_machine::call_notifiers (this=0xbeffba70, which=MACHINE_NOTIFY_PAUSE) at src/emu/machine.c:825
#3  0x0222e740 in running_machine::pause (this=0xbeffba70) at src/emu/machine.c:693
#4  0x022e88cc in ui_menu_select_game::force_game_select (machine=..., container=0x3977cb0) at src/emu/ui/selgame.c:446
#5  0x0233e4a8 in empty_state::machine_start (this=0x3974ab8) at src/emu/drivers/empty.c:32
#6  0x0219e890 in driver_device::device_start (this=0x3974ab8) at src/emu/driver.c:221
#7  0x02157fcc in device_t::start (this=0x3974ab8) at src/emu/device.c:392
#8  0x0222f61c in running_machine::start_all_devices (this=0xbeffba70) at src/emu/machine.c:1053
#9  0x0222d3a4 in running_machine::start (this=0xbeffba70) at src/emu/machine.c:278
#10 0x0222d9e0 in running_machine::run (this=0xbeffba70, firstrun=true) at src/emu/machine.c:342
#11 0x0222ba18 in machine_manager::execute (this=0x392e638) at src/emu/mame.c:216
#12 0x02145b84 in cli_frontend::execute (this=0xbefff6b0, argc=1, argv=0xbefff824) at src/emu/clifront.c:243
#13 0x010be190 in main (argc=1, argv=0xbefff824) at src/osd/sdl/sdlmain.c:332


Looking for tips on how to proceed. Thanks.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 09/15/14 02:15 AM

Getting the following error trying to build latest:

Code:
process_begin: CreateProcess(NULL, python src/emu/cpu/h8/h8make.py src/emu/cpu
8/h8.lst o obj/windows64/emu/cpu/h8/h8.inc, ...) failed.
Generating H8-300H source file...
make (e=2): The system cannot find the file specified.
src/emu/cpu/cpu.mak:650: recipe for target 'obj/windows64/emu/cpu/h8/h8.inc' f
led
make: *** [obj/windows64/emu/cpu/h8/h8.inc] Error 2
make: *** Waiting for unfinished jobs....
process_begin: CreateProcess(NULL, python src/emu/cpu/h8/h8make.py src/emu/cpu
8/h8.lst h obj/windows64/emu/cpu/h8/h8h.inc, ...) failed.
make (e=2): The system cannot find the file specified.
src/emu/cpu/cpu.mak:654: recipe for target 'obj/windows64/emu/cpu/h8/h8h.inc'
iled
make: *** [obj/windows64/emu/cpu/h8/h8h.inc] Error 2
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 09/15/14 02:20 AM

datajerk: If you get it to run, we'd love to know how you did it. Seriously smile

arcadefan: you don't have Python in your $PATH. Run the setenv.bat file in the MinGW package first (worked for me on Win 8.1 with the August mega-update applied), or follow the instructions on the tools download page.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 09/15/14 03:05 AM

Okay got past that error. Now this happens:

Code:
obj/windows64/ume/ume/drivlist.o:drivlist.c:(.rdata+0x15c0): undefined reference
 to `driver_alphaone'
obj/windows64/ume/ume/drivlist.o:drivlist.c:(.rdata+0x15c8): undefined reference
 to `driver_alphaonea'
obj/windows64/ume/ume/drivlist.o:drivlist.c:(.rdata+0x23350): undefined referenc
e to `driver_metalmx'
obj/windows64/ume/ume/drivlist.o:drivlist.c:(.rdata+0x23538): undefined referenc
e to `driver_mhavoc'
obj/windows64/ume/ume/drivlist.o:drivlist.c:(.rdata+0x23540): undefined referenc
e to `driver_mhavoc2'
obj/windows64/ume/ume/drivlist.o:drivlist.c:(.rdata+0x23548): undefined referenc
e to `driver_mhavocp'
obj/windows64/ume/ume/drivlist.o:drivlist.c:(.rdata+0x23550): undefined referenc
e to `driver_mhavocrv'
collect2.exe: error: ld returned 1 exit status
makefile:897: recipe for target 'ume64.exe' failed
make: *** [ume64.exe] Error 1


Would doing a clean build help? I only resumed the build after I fixed the $PATH variable.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 09/15/14 03:11 AM

Yeah, I'd suggest a clean build with that error. Note that UME is supported more by Haze than by MAMEdev/MESSdev, so you might ask at his place if problems persist.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 09/15/14 01:35 PM

Okay that worked thanks!
I'll runany further problems by Haze if they come up as I exclusively use UME.
Posted By: eris23

Re: Can't compile latest MESS? READ THIS THREAD - 09/20/14 01:58 AM

Build failure ume64 on Linux rev 32220:

Compiling src/mess/drivers/besta.c...
Compiling src/mess/drivers/br8641.c...
src/mess/drivers/besta.c: In member function ‘virtual void besta_state::machine_reset()’:
src/mess/drivers/besta.c:123:44: error: ‘memset’ used with constant zero length parameter; this could be due to transposed parameters [-Werror=memset-transposed-args]
memset(m_mpcc_regs, sizeof(m_mpcc_regs), 0); // should initialize to defined values
^
Compiling src/mess/drivers/busicom.c...
cc1plus: all warnings being treated as errors
Compiling src/mess/video/busicom.c...
makefile:922: recipe for target 'obj/sdl64/mess/drivers/besta.o' failed
make: *** [obj/sdl64/mess/drivers/besta.o] Error 1
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 09/20/14 02:19 AM

Fixed. For future reports, please follow the guidelines as we are unable to debug psychically:

Please attempt to reproduce with normal MAME/MESS (not UME, it's not supported by the SDL team). If it happens, state your Linux distro, architecture (x86, x64, PowerPC, ARM...), and gcc --version.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 09/30/14 08:47 PM

I'm having trouble compiling the latest source.
Using the commandline:
Code:
make -j5 TARGET=mess NOWERROR=1 PTR64=1 USE_NETWORK=1 sse4=1


Gives the following:

Code:
/usr/bin/sh: objwindows64buildmakelist.exe: command not found
makefile:966: recipe for target 'obj/windows64/mess/mess/drivlist.c' failed
make: *** [obj/windows64/mess/mess/drivlist.c] Error 127
make: *** Waiting for unfinished jobs....


Why is it referencing the Linux bash shell?

If I try to continue, this happens:

Code:
Linking mess64.exe...
obj/windows64/libemu.a(clifront.o):clifront.c:(.rdata$.refptr._ZN11driver_list14
s_driver_countE[.refptr._ZN11driver_list14s_driver_countE]+0x0): undefined refer
ence to `driver_list::s_driver_count'
obj/windows64/libemu.a(clifront.o):clifront.c:(.rdata$.refptr._ZN11driver_list16
s_drivers_sortedE[.refptr._ZN11driver_list16s_drivers_sortedE]+0x0): undefined r
eference to `driver_list::s_drivers_sorted'
C:/mingw/mingw64-w64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.1/../../../../x86_64-
w64-mingw32/bin/ld.exe: obj/windows64/libemu.a(clifront.o): bad reloc address 0x
0 in section `.rdata$.refptr._ZN11driver_list16s_drivers_sortedE[.refptr._ZN11dr
iver_list16s_drivers_sortedE]'
collect2.exe: error: ld returned 1 exit status
makefile:897: recipe for target 'mess64.exe' failed
make: *** [mess64.exe] Error 1


Any ideas?
Posted By: crazyc

Re: Can't compile latest MESS? READ THIS THREAD - 09/30/14 09:04 PM

Maybe add SHELL=cmd to your command line.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 09/30/14 09:32 PM

That worked perfectly. Thanks! smile

Also, what changed in the source that SHELL=cmd is required for the Windows build? Just curious.
Posted By: peter ferrie

Re: Can't compile latest MESS? READ THIS THREAD - 10/01/14 01:25 AM

I'm trying a clean build with the latest MinGW, but I also see the same problem with MSVC:
make.exe: *** No rule to make target 'obj/windowsd/MESS/MESS.o', needed by 'MESSd.exe'. Stop.
MAME builds without issue, and I have built MESS successfully on this system, but quite some time in the past.
It's the only file that won't build. I can build the mess.o manually by swapping the MAME and MESS .c files, and then asking MAME to build it, but obviously that's not how it's supposed to be.
Posted By: Robbbert

Re: Can't compile latest MESS? READ THIS THREAD - 10/01/14 06:17 AM

Just built mess and messui at r32478 with standard tools, no problem (non-debug build). Looking at your error message it looks like you have TARGET=MESS instead of TARGET=mess. I believe the name of the target should be in lower case.
Posted By: peter ferrie

Re: Can't compile latest MESS? READ THIS THREAD - 10/01/14 03:17 PM

Yes, that was exactly the problem. I had it in uppercase because the other variables are in uppercase. I should have read the .mak more closely. It's clear now.
Thanks.
Posted By: drewcifer

Re: Can't compile latest MESS? READ THIS THREAD - 10/21/14 11:18 AM

This is a description of a problem I had with the new always-enabled SDL2 MAME building and my fix for making it work.

OS: CentOS 6.5

There is no CentOS rpm for SDL2, but I used this rpm maker here :
https://github.com/danfoster/SDL

There is no CentOS rpm for SDL2_ttf, so I downloaded and built the code from here :
https://www.libsdl.org/projects/SDL_ttf/

mame64 built with no issues, but running the debugger caused crashes. Turns out the makefile was building with the correct Qt library, but dynamically linking to an incorrect .so. I have two versions of Qt insttaled, and somehow running mame64 was ignoring my LD_LIBRARY_PATH. This was because the script named 'sdl2-config' (which gets installed with sdl2) embedded /usr/lib64 as an RPATH in the binary. The script that shipped with SDL1, 'sdl-config' did no such thing.

So I edited sdl2-config, and removed all occurrences of '-rpath /usr/lib64.' Then I built SDL_ttf, and rebuild MAME, and it worked.

YMMV. Just letting you know my experience :-).
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 10/21/14 12:03 PM

Just build with SDL 1.2 if you're stuck on an outdated distro. It's not ideal, but the 1.2 codepath isn't going away until at least next year.
Posted By: LoganB

Re: It's dangerous to go alone - take this! (NEW LIBS) - 11/04/14 07:29 PM

Using official tools and Windows 8
Code:
bash.exe: warning: could not find /tmp, please create!
/bin/sh: gcc: command not found
makefile:935: recipe for target 'obj/windows64/mame/drivers/goldstar.o' failed
make: *** [obj/windows64/mame/drivers/goldstar.o] Error 127
make: *** Waiting for unfinished jobs....

and then later
Code:
Linking mess64.exe...
obj/windows64/libemu.a(clifront.o):clifront.c:(.rdata$.refptr._ZN11driver_list14s_driver_countE[.refptr._ZN11driver_list14s_driver_countE]+0x0): undefined reference to `driver_list::s_driver_count'
obj/windows64/libemu.a(clifront.o):clifront.c:(.rdata$.refptr._ZN11driver_list16s_drivers_sortedE[.refptr._ZN11driver_list16s_drivers_sortedE]+0x0): undefined reference to `driver_list::s_drivers_sorted'
C:/xx/mingw64-w64/bin/../lib/gcc/x86_64-w64-mingw32
/4.9.1/../../../../x86_64-w64-mingw32/bin/ld.exe: obj/windows64/libemu.a(clifront.o): bad reloc address 0x0 in section `.rdata$.refptr._ZN11driver_list16s_drivers_sortedE[.refptr._ZN11driver_list16s_drivers_sortedE]'
collect2.exe: error: ld returned 1 exit status
makefile:910: recipe for target 'mess64.exe' failed
make: *** [mess64.exe] Error 1
Posted By: R. Belmont

Re: It's dangerous to go alone - take this! (NEW LIBS) - 11/04/14 07:32 PM

Did you do a clean build?
Posted By: LoganB

Re: It's dangerous to go alone - take this! (NEW LIBS) - 11/04/14 07:35 PM

Initially from a clean git clone, but building clean now as a just-in-case measure.

EDIT: Nope, still not compiling.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 11/11/14 04:35 PM

I'm having a bit of trouble compiling the latest build.
Using the following commandline:
Code:
make -j5 TARGET=mess ARCHOPTS=-march=native sse4=1 PTR64=1 NOWERROR=1 SHELL=cmd


Gives me the following error part way through:

Code:
Generating H8-300H source file...
  File "src/emu/cpu/h8/h8make.py", line 18
    print "Unknown chip type name %s" % name
                                    ^
SyntaxError: Missing parentheses in call to 'print'
src/emu/cpu/cpu.mak:650: recipe for target 'obj/windows64/emu/cpu/h8/h8.inc' fai
led
make: *** [obj/windows64/emu/cpu/h8/h8.inc] Error 1
make: *** Waiting for unfinished jobs....
  File "src/emu/cpu/h8/h8make.py", line 18
    print "Unknown chip type name %s" % name
                                    ^
SyntaxError: Missing parentheses in call to 'print'
src/emu/cpu/cpu.mak:654: recipe for target 'obj/windows64/emu/cpu/h8/h8h.inc' fa
iled
make: *** [obj/windows64/emu/cpu/h8/h8h.inc] Error 1


Any ideas?
Posted By: smf

Re: Can't compile latest MESS? READ THIS THREAD - 11/11/14 04:46 PM

maybe you have a different version of python in your path?
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 11/11/14 05:00 PM

What version of python am I supposed to be using?
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 11/11/14 05:11 PM

The one that we ship in the tools package smile
Posted By: LoganB

Re: Can't compile latest MESS? READ THIS THREAD - 11/11/14 07:13 PM

In other words, Python 2.*, not Python 3.*
Posted By: LoganB

Re: Can't compile latest MESS? READ THIS THREAD - 11/26/14 10:06 PM

Code:
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x5190): undefined reference to `driver_crsbingo'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x22770): undefined reference to `driver_mtrainnv'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x332e8): undefined reference to `driver_sharkpy'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x332f0): undefined reference to `driver_sharkpya'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x332f8): undefined reference to `driver_sharkpye'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x33d48): undefined reference to `driver_smoto16'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x33d50): undefined reference to `driver_smoto20'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x35f90): undefined reference to `driver_stisub'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x36ef0): undefined reference to `driver_tesorone'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x36ef8): undefined reference to `driver_tesorone230'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x36f00): undefined reference to `driver_tesorone240'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x37418): undefined reference to `driver_tisub'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x37420): undefined reference to `driver_tisuba'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x38a98): undefined reference to `driver_victor21'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x38aa0): undefined reference to `driver_victor5'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x38aa8): undefined reference to `driver_victor6'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x38ab0): undefined reference to `driver_victor6a'
obj/windows64/mame/mame/drivlist.o:drivlist.c:(.rdata+0x38ab8): undefined reference to `driver_victor6b'
collect2.exe: error: ld returned 1 exit status
makefile:910: recipe for target 'mame64.exe' failed
make: *** [mame64.exe] Error 1
Posted By: Tafoid

Re: Can't compile latest MESS? READ THIS THREAD - 11/26/14 10:12 PM

All those sets are part of subsino.c driver (drivers\mame\subsino.c). It is possible that the file got corrupted somewhere or an associated .a or .o file in OBJ didn't compile correctly?
Posted By: rfka01

Re: Can't compile latest MESS? READ THIS THREAD - 12/12/14 06:40 PM

I can't compile with latest git/svn. Python seems to barf on something:

Code:
Generating H8-300 source file...
Generating H8-300H source file...
  File "src/emu/cpu/h8/h8make.py", line 18
    print "Unknown chip type name %s" % name
                                    ^
SyntaxError: invalid syntax
  File "src/emu/cpu/h8/h8make.py", line 18
    print "Unknown chip type name %s" % name
                                    ^
SyntaxError: invalid syntax
Generating H8S/2000 source file...
src/emu/cpu/cpu.mak:677: recipe for target 'obj/windows64/emu/cpu/h8/h8.inc' fai
led
make: *** [obj/windows64/emu/cpu/h8/h8.inc] Error 1
make: *** Waiting for unfinished jobs....
src/emu/cpu/cpu.mak:681: recipe for target 'obj/windows64/emu/cpu/h8/h8h.inc' fa
iled
make: *** [obj/windows64/emu/cpu/h8/h8h.inc] Error 1
Generating H8S/2600 source file...
  File "src/emu/cpu/h8/h8make.py", line 18
    print "Unknown chip type name %s" % name
                                    ^
SyntaxError: invalid syntax
src/emu/cpu/cpu.mak:685: recipe for target 'obj/windows64/emu/cpu/h8/h8s2000.inc
' failed
make: *** [obj/windows64/emu/cpu/h8/h8s2000.inc] Error 1
  File "src/emu/cpu/h8/h8make.py", line 18
    print "Unknown chip type name %s" % name
                                    ^
SyntaxError: invalid syntax
src/emu/cpu/cpu.mak:689: recipe for target 'obj/windows64/emu/cpu/h8/h8s2600.inc
' failed
make: *** [obj/windows64/emu/cpu/h8/h8s2600.inc] Error 1

19:04:49
C:\mingw\mess|prompt $T$H$H$H $_$P$B

19:04:49
C:\mingw\mess|


Edit: I just saw the post a few post up .. I'll check my python installation, it's just that up until this week everything compiled fine.
Posted By: Vas Crabb

Re: Can't compile latest MESS? READ THIS THREAD - 12/12/14 08:40 PM

Is default python on your system Python 3? It needs to be Python 2 to work.
Posted By: rfka01

Re: Can't compile latest MESS? READ THIS THREAD - 12/12/14 09:20 PM

Yeah, I just removed Python 3 and installed 2.79 ... it's just curious that it worked until last week.

Edit: Working now, thanks.
Posted By: eris23

Re: Can't compile latest MESS? READ THIS THREAD - 12/15/14 08:30 AM

Build failed (for both mess and ume) on 64 bit Linux (Xubuntu - gcc 4.9.1) at:

src/mess/drivers/bitgraph.c: In member function ‘virtual void bitgraph_state::machine_reset()’:
src/mess/drivers/bitgraph.c:456:32: error: ‘memset’ used with constant zero length parameter; this could be due to transposed parameters [-Werror=memset-transposed-args]
memset(m_ppu, sizeof(m_ppu), 0);
^
Compiling src/mess/drivers/cosmicos.c...
cc1plus: all warnings being treated as errors
makefile:935: recipe for target 'obj/sdl64/mess/drivers/bitgraph.o' failed
make: *** [obj/sdl64/mess/drivers/bitgraph.o] Error 1

Last entry in git log: Dec 15 12:42:29 2014 +1100
Posted By: Shoegazer

Re: Can't compile latest MESS? READ THIS THREAD - 12/16/14 04:36 AM

Hello, hoping someone can help - having difficulties compiling the tools (chdman etc.) with Linux Mint 17.1 x64 using the stock .156 source as available from mamedev.org. Specifically, a "make TARGET=tools" fails with this:

Linking obj/sdl64/build/verinfo...
make: *** No rule to make target `obj/sdl64/tools/tools.o', needed by `tools64'. Stop.

Any ideas what this may be? Thanks.
Posted By: Osso

Re: Can't compile latest MESS? READ THIS THREAD - 12/16/14 09:42 AM

Shoegazer, it's make tools, not make TARGET=tools.
Posted By: Shoegazer

Re: Can't compile latest MESS? READ THIS THREAD - 12/16/14 01:51 PM

Ah, quite right. Thanks!
Posted By: eris23

Re: Can't compile latest MESS? READ THIS THREAD - 12/17/14 09:02 AM

commit bc795224f4c34853ed738ea2f8e9f2a94f0f5bbc fixed bitgraph compile problem in #97440 above. Thank you hap.
Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 12/25/14 09:17 AM

I'm trying to compile MESS and MAME using TortoiseGIT on Windows 7 but I'm receiving the following error message:

mkdir.exe -p obj/windows/osd/modules/sound
mkdir.exe -p obj/windows/osd/windows
mkdir.exe -p obj/windows/tools
Compiling src/osd/windows/vconv.c...
Compiling src/build/makedep.c...
Compiling src/lib/util/astring.c...
Compiling src/lib/util/corealloc.c...
Compiling src/lib/util/corefile.c...
Compiling src/lib/util/unicode.c...
src/lib/util/corealloc.c: In static member function 'static memory_entry* memory
_entry::allocate(size_t, void*, const char*, int, bool)':
src/lib/util/corealloc.c:294:43: error: cast from 'void*' to 'FPTR {aka unsigned
int}' loses precision [-fpermissive]
src/lib/util/corealloc.c: In static member function 'static memory_entry* memory
_entry::find(void*)':
src/lib/util/corealloc.c:319:42: error: cast from 'void*' to 'FPTR {aka unsigned
int}' loses precision [-fpermissive]
src/lib/util/corealloc.c: In static member function 'static void memory_entry::r
elease(memory_entry*, const char*, int)':
src/lib/util/corealloc.c:342:52: error: cast from 'void*' to 'FPTR {aka unsigned
int}' loses precision [-fpermissive]
make: *** [obj/windows/lib/util/corealloc.o] Error 1
make: *** Waiting for unfinished jobs....

The source code was compiling fine the last time I tried, which I think was on the weekend.
Posted By: Osso

Re: Can't compile latest MESS? READ THIS THREAD - 12/25/14 09:24 AM

You can add PTR64=1 to work around it for the time being.
Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 12/25/14 11:27 AM

Thanks for that. This worked for MESS, but not MAME though. I'm also using a clean build for both MESS and MAME.

Linking MAME64.exe...
obj/windows64/mame/dataeast.a(deco222.o):deco222.c:(.data$_ZTV15deco_222_device[
vtable for deco_222_device]+0x250): undefined reference to `non-virtual thunk to
m6502_device::memory_space_config(address_spacenum) const'
obj/windows64/mame/dataeast.a(deco222.o):deco222.c:(.data$_ZTV15deco_222_device[
vtable for deco_222_device]+0x2f8): undefined reference to `non-virtual thunk to
m6502_device::state_import(device_state_entry const&)'
c:/mingw64-w64/bin/../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mi
ngw32/bin/ld.exe: obj/windows64/mame/dataeast.a(deco222.o): bad reloc address 0x
2f8 in section `.data$_ZTV15deco_222_device[vtable for deco_222_device]'
c:/mingw64-w64/bin/../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mi
ngw32/bin/ld.exe: final link failed: Invalid operation
collect2: ld returned 1 exit status
make: *** [MAME64.exe] Error 1
Posted By: Osso

Re: Can't compile latest MESS? READ THIS THREAD - 12/25/14 01:15 PM

That happened to me after OG's debug changes, but a clean compile fixed it. You wrote you did a clean compile, so I can't help you..
Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 01/03/15 03:50 AM

I'm still not successful in trying to compile MAME and MESS. I'll try and be more accurate here. I'm using Windows 7 64-Bit, TortoiseGit and the same version of MingW64 from the MAMEDev website.

When I try and compile MAME, I get the following error:

C:\MAME GitHub>makemame
Deleting object tree obj/windows64...
Deleting mame64.exe...
Deleting ledutil.exe romcmp.exe chdman.exe jedutil.exe unidasm.exe ldresample.
e ldverify.exe regrep.exe srcclean.exe src2html.exe split.exe pngcmp.exe nltoo
exe ...
Deleting dependencies...
mkdir.exe -p obj/windows64
mkdir.exe -p obj/windows64/MAME/MAME
mkdir.exe -p obj/windows64/build
mkdir.exe -p obj/windows64/emu/audio
mkdir.exe -p obj/windows64/emu/bus
mkdir.exe -p obj/windows64/emu/bus/centronics
mkdir.exe -p obj/windows64/emu/bus/generic
mkdir.exe -p obj/windows64/emu/bus/isa
mkdir.exe -p obj/windows64/emu/bus/neogeo
mkdir.exe -p obj/windows64/emu/bus/rs232
mkdir.exe -p obj/windows64/emu/bus/scsi
mkdir.exe -p obj/windows64/emu/bus/vectrex
mkdir.exe -p obj/windows64/emu/cpu
mkdir.exe -p obj/windows64/emu/cpu/8x300
mkdir.exe -p obj/windows64/emu/cpu/adsp2100
mkdir.exe -p obj/windows64/emu/cpu/alph8201
mkdir.exe -p obj/windows64/emu/cpu/alto2
mkdir.exe -p obj/windows64/emu/cpu/am29000
mkdir.exe -p obj/windows64/emu/cpu/apexc
mkdir.exe -p obj/windows64/emu/cpu/arm
mkdir.exe -p obj/windows64/emu/cpu/arm7
mkdir.exe -p obj/windows64/emu/cpu/asap
mkdir.exe -p obj/windows64/emu/cpu/avr8
mkdir.exe -p obj/windows64/emu/cpu/ccpu
mkdir.exe -p obj/windows64/emu/cpu/cop400
mkdir.exe -p obj/windows64/emu/cpu/cosmac
mkdir.exe -p obj/windows64/emu/cpu/cp1610
mkdir.exe -p obj/windows64/emu/cpu/cubeqcpu
mkdir.exe -p obj/windows64/emu/cpu/dsp16
mkdir.exe -p obj/windows64/emu/cpu/dsp32
mkdir.exe -p obj/windows64/emu/cpu/dsp56k
mkdir.exe -p obj/windows64/emu/cpu/e132xs
mkdir.exe -p obj/windows64/emu/cpu/es5510
mkdir.exe -p obj/windows64/emu/cpu/esrip
mkdir.exe -p obj/windows64/emu/cpu/f8
mkdir.exe -p obj/windows64/emu/cpu/g65816
mkdir.exe -p obj/windows64/emu/cpu/h6280
mkdir.exe -p obj/windows64/emu/cpu/h8
mkdir.exe -p obj/windows64/emu/cpu/hcd62121
mkdir.exe -p obj/windows64/emu/cpu/hd61700
mkdir.exe -p obj/windows64/emu/cpu/i386
mkdir.exe -p obj/windows64/emu/cpu/i4004
mkdir.exe -p obj/windows64/emu/cpu/i8008
mkdir.exe -p obj/windows64/emu/cpu/i8085
mkdir.exe -p obj/windows64/emu/cpu/i8089
mkdir.exe -p obj/windows64/emu/cpu/i86
mkdir.exe -p obj/windows64/emu/cpu/i860
mkdir.exe -p obj/windows64/emu/cpu/i960
mkdir.exe -p obj/windows64/emu/cpu/ie15
mkdir.exe -p obj/windows64/emu/cpu/jaguar
mkdir.exe -p obj/windows64/emu/cpu/lc8670
mkdir.exe -p obj/windows64/emu/cpu/lh5801
mkdir.exe -p obj/windows64/emu/cpu/lr35902
mkdir.exe -p obj/windows64/emu/cpu/m37710
mkdir.exe -p obj/windows64/emu/cpu/m6502
mkdir.exe -p obj/windows64/emu/cpu/m6800
mkdir.exe -p obj/windows64/emu/cpu/m68000
mkdir.exe -p obj/windows64/emu/cpu/m6805
mkdir.exe -p obj/windows64/emu/cpu/m6809
mkdir.exe -p obj/windows64/emu/cpu/mb86233
mkdir.exe -p obj/windows64/emu/cpu/mb86235
mkdir.exe -p obj/windows64/emu/cpu/mb88xx
mkdir.exe -p obj/windows64/emu/cpu/mc68hc11
mkdir.exe -p obj/windows64/emu/cpu/mcs48
mkdir.exe -p obj/windows64/emu/cpu/mcs51
mkdir.exe -p obj/windows64/emu/cpu/mcs96
mkdir.exe -p obj/windows64/emu/cpu/minx
mkdir.exe -p obj/windows64/emu/cpu/mips
mkdir.exe -p obj/windows64/emu/cpu/mn10200
mkdir.exe -p obj/windows64/emu/cpu/nec
mkdir.exe -p obj/windows64/emu/cpu/pdp1
mkdir.exe -p obj/windows64/emu/cpu/pic16c5x
mkdir.exe -p obj/windows64/emu/cpu/pic16c62x
mkdir.exe -p obj/windows64/emu/cpu/powerpc
mkdir.exe -p obj/windows64/emu/cpu/pps4
mkdir.exe -p obj/windows64/emu/cpu/psx
mkdir.exe -p obj/windows64/emu/cpu/rsp
mkdir.exe -p obj/windows64/emu/cpu/s2650
mkdir.exe -p obj/windows64/emu/cpu/saturn
mkdir.exe -p obj/windows64/emu/cpu/sc61860
mkdir.exe -p obj/windows64/emu/cpu/scmp
mkdir.exe -p obj/windows64/emu/cpu/score
mkdir.exe -p obj/windows64/emu/cpu/scudsp
mkdir.exe -p obj/windows64/emu/cpu/se3208
mkdir.exe -p obj/windows64/emu/cpu/sh2
mkdir.exe -p obj/windows64/emu/cpu/sh4
mkdir.exe -p obj/windows64/emu/cpu/sharc
mkdir.exe -p obj/windows64/emu/cpu/sm8500
mkdir.exe -p obj/windows64/emu/cpu/spc700
mkdir.exe -p obj/windows64/emu/cpu/ssem
mkdir.exe -p obj/windows64/emu/cpu/ssp1601
mkdir.exe -p obj/windows64/emu/cpu/superfx
mkdir.exe -p obj/windows64/emu/cpu/t11
mkdir.exe -p obj/windows64/emu/cpu/tlcs90
mkdir.exe -p obj/windows64/emu/cpu/tlcs900
mkdir.exe -p obj/windows64/emu/cpu/tms0980
mkdir.exe -p obj/windows64/emu/cpu/tms32010
mkdir.exe -p obj/windows64/emu/cpu/tms32025
mkdir.exe -p obj/windows64/emu/cpu/tms32031
mkdir.exe -p obj/windows64/emu/cpu/tms32051
mkdir.exe -p obj/windows64/emu/cpu/tms32082
mkdir.exe -p obj/windows64/emu/cpu/tms34010
mkdir.exe -p obj/windows64/emu/cpu/tms57002
mkdir.exe -p obj/windows64/emu/cpu/tms7000
mkdir.exe -p obj/windows64/emu/cpu/tms9900
mkdir.exe -p obj/windows64/emu/cpu/unsp
mkdir.exe -p obj/windows64/emu/cpu/upd7725
mkdir.exe -p obj/windows64/emu/cpu/upd7810
mkdir.exe -p obj/windows64/emu/cpu/v30mz
mkdir.exe -p obj/windows64/emu/cpu/v60
mkdir.exe -p obj/windows64/emu/cpu/v810
mkdir.exe -p obj/windows64/emu/cpu/z180
mkdir.exe -p obj/windows64/emu/cpu/z8
mkdir.exe -p obj/windows64/emu/cpu/z80
mkdir.exe -p obj/windows64/emu/cpu/z8000
mkdir.exe -p obj/windows64/emu/debug
mkdir.exe -p obj/windows64/emu/drivers
mkdir.exe -p obj/windows64/emu/imagedev
mkdir.exe -p obj/windows64/emu/layout
mkdir.exe -p obj/windows64/emu/machine
mkdir.exe -p obj/windows64/emu/netlist
mkdir.exe -p obj/windows64/emu/netlist/analog
mkdir.exe -p obj/windows64/emu/netlist/devices
mkdir.exe -p obj/windows64/emu/sound
mkdir.exe -p obj/windows64/emu/ui
mkdir.exe -p obj/windows64/emu/video
mkdir.exe -p obj/windows64/lib/expat
mkdir.exe -p obj/windows64/lib/formats
mkdir.exe -p obj/windows64/lib/lib7z
mkdir.exe -p obj/windows64/lib/libflac
mkdir.exe -p obj/windows64/lib/libjpeg
mkdir.exe -p obj/windows64/lib/lua
mkdir.exe -p obj/windows64/lib/lua/lib
mkdir.exe -p obj/windows64/lib/portmidi
mkdir.exe -p obj/windows64/lib/softfloat
mkdir.exe -p obj/windows64/lib/sqlite3
mkdir.exe -p obj/windows64/lib/util
mkdir.exe -p obj/windows64/lib/web
mkdir.exe -p obj/windows64/lib/web/json
mkdir.exe -p obj/windows64/lib/zlib
mkdir.exe -p obj/windows64/mame/audio
mkdir.exe -p obj/windows64/mame/drivers
mkdir.exe -p obj/windows64/mame/layout
mkdir.exe -p obj/windows64/mame/machine
mkdir.exe -p obj/windows64/mame/video
mkdir.exe -p obj/windows64/osd
mkdir.exe -p obj/windows64/osd/modules
mkdir.exe -p obj/windows64/osd/modules/debugger
mkdir.exe -p obj/windows64/osd/modules/sound
mkdir.exe -p obj/windows64/osd/windows
mkdir.exe -p obj/windows64/tools
Compiling src/osd/windows/vconv.c...
Compiling src/build/makedep.c...
Compiling src/lib/util/astring.c...
Compiling src/lib/util/corealloc.c...
Compiling src/lib/util/corefile.c...
Compiling src/lib/util/unicode.c...
Compiling src/lib/util/tagmap.c...
Compiling src/osd/windows/main.c...
Compiling src/osd/windows/strconv.c...
Compiling src/osd/windows/windir.c...
Compiling src/osd/windows/winfile.c...
Compiling src/osd/windows/winmisc.c...
Compiling src/osd/windows/winsync.c...
Compiling src/osd/windows/wintime.c...
Compiling src/osd/windows/winutf8.c...
Compiling src/osd/windows/winutil.c...
Compiling src/osd/windows/winclip.c...
Compiling src/osd/windows/winsocket.c...
Compiling src/osd/windows/winwork.c...
Compiling src/osd/windows/winptty.c...
Compiling src/osd/windows/winos.c...
Compiling src/lib/zlib/adler32.c...
Compiling src/lib/zlib/compress.c...
Compiling src/lib/zlib/crc32.c...
Compiling src/lib/zlib/deflate.c...
Compiling src/lib/zlib/inffast.c...
Compiling src/lib/zlib/inflate.c...
Compiling src/lib/zlib/infback.c...
Compiling src/lib/zlib/inftrees.c...
Compiling src/lib/zlib/trees.c...
Compiling src/lib/zlib/uncompr.c...
Compiling src/lib/zlib/zutil.c...
Compiling src/build/makemak.c...
Compiling src/lib/util/corestr.c...
Compiling src/build/makelist.c...
Compiling src/lib/util/cstrpool.c...
Compiling src/build/png2bdc.c...
Compiling src/lib/util/bitmap.c...
Compiling src/lib/util/png.c...
Compiling src/lib/util/palette.c...
Compiling src/build/verinfo.c...
Compiling src/emu/cpu/m68000/m68kmake.c...
make: *** No rule to make target 'obj/windows64/MAME/MAME.o', needed by 'MAME6
exe'. Stop.
make: *** Waiting for unfinished jobs....

When I try to compile MESS, I get this error:

C:\MAME GitHub>makemess
Deleting object tree obj/windows64...
Deleting mame64.exe...
Deleting ledutil.exe romcmp.exe chdman.exe jedutil.exe unidasm.exe ldresample.ex
e ldverify.exe regrep.exe srcclean.exe src2html.exe split.exe pngcmp.exe nltool.
exe ...
Deleting dependencies...
mkdir.exe -p obj/windows64
mkdir.exe -p obj/windows64/MESS/MESS
mkdir.exe -p obj/windows64/build
mkdir.exe -p obj/windows64/emu/audio
mkdir.exe -p obj/windows64/emu/bus
mkdir.exe -p obj/windows64/emu/bus/a1bus
mkdir.exe -p obj/windows64/emu/bus/a2bus
mkdir.exe -p obj/windows64/emu/bus/a7800
mkdir.exe -p obj/windows64/emu/bus/a800
mkdir.exe -p obj/windows64/emu/bus/a8sio
mkdir.exe -p obj/windows64/emu/bus/abcbus
mkdir.exe -p obj/windows64/emu/bus/abckb
mkdir.exe -p obj/windows64/emu/bus/adam
mkdir.exe -p obj/windows64/emu/bus/adamnet
mkdir.exe -p obj/windows64/emu/bus/amiga/zorro
mkdir.exe -p obj/windows64/emu/bus/apf
mkdir.exe -p obj/windows64/emu/bus/arcadia
mkdir.exe -p obj/windows64/emu/bus/astrocde
mkdir.exe -p obj/windows64/emu/bus/bml3
mkdir.exe -p obj/windows64/emu/bus/bw2
mkdir.exe -p obj/windows64/emu/bus/c64
mkdir.exe -p obj/windows64/emu/bus/cbm2
mkdir.exe -p obj/windows64/emu/bus/cbmiec
mkdir.exe -p obj/windows64/emu/bus/centronics
mkdir.exe -p obj/windows64/emu/bus/chanf
mkdir.exe -p obj/windows64/emu/bus/coco
mkdir.exe -p obj/windows64/emu/bus/coleco
mkdir.exe -p obj/windows64/emu/bus/compucolor
mkdir.exe -p obj/windows64/emu/bus/comx35
mkdir.exe -p obj/windows64/emu/bus/cpc
mkdir.exe -p obj/windows64/emu/bus/crvision
mkdir.exe -p obj/windows64/emu/bus/dmv
mkdir.exe -p obj/windows64/emu/bus/ecbbus
mkdir.exe -p obj/windows64/emu/bus/econet
mkdir.exe -p obj/windows64/emu/bus/ep64
mkdir.exe -p obj/windows64/emu/bus/epson_sio
mkdir.exe -p obj/windows64/emu/bus/gameboy
mkdir.exe -p obj/windows64/emu/bus/gamegear
mkdir.exe -p obj/windows64/emu/bus/gba
mkdir.exe -p obj/windows64/emu/bus/generic
mkdir.exe -p obj/windows64/emu/bus/ieee488
mkdir.exe -p obj/windows64/emu/bus/imi7000
mkdir.exe -p obj/windows64/emu/bus/intv
mkdir.exe -p obj/windows64/emu/bus/iq151
mkdir.exe -p obj/windows64/emu/bus/isa
mkdir.exe -p obj/windows64/emu/bus/isbx
mkdir.exe -p obj/windows64/emu/bus/kc
mkdir.exe -p obj/windows64/emu/bus/lpci
mkdir.exe -p obj/windows64/emu/bus/macpds
mkdir.exe -p obj/windows64/emu/bus/megadrive
mkdir.exe -p obj/windows64/emu/bus/midi
mkdir.exe -p obj/windows64/emu/bus/msx_cart
mkdir.exe -p obj/windows64/emu/bus/msx_slot
mkdir.exe -p obj/windows64/emu/bus/neogeo
mkdir.exe -p obj/windows64/emu/bus/nes
mkdir.exe -p obj/windows64/emu/bus/nubus
mkdir.exe -p obj/windows64/emu/bus/odyssey2
mkdir.exe -p obj/windows64/emu/bus/oricext
mkdir.exe -p obj/windows64/emu/bus/pc_joy
mkdir.exe -p obj/windows64/emu/bus/pc_kbd
mkdir.exe -p obj/windows64/emu/bus/pce
mkdir.exe -p obj/windows64/emu/bus/pet
mkdir.exe -p obj/windows64/emu/bus/plus4
mkdir.exe -p obj/windows64/emu/bus/psx
mkdir.exe -p obj/windows64/emu/bus/ql
mkdir.exe -p obj/windows64/emu/bus/rs232
mkdir.exe -p obj/windows64/emu/bus/s100
mkdir.exe -p obj/windows64/emu/bus/saturn
mkdir.exe -p obj/windows64/emu/bus/scsi
mkdir.exe -p obj/windows64/emu/bus/scv
mkdir.exe -p obj/windows64/emu/bus/sega8
mkdir.exe -p obj/windows64/emu/bus/sms_ctrl
mkdir.exe -p obj/windows64/emu/bus/sms_exp
mkdir.exe -p obj/windows64/emu/bus/snes
mkdir.exe -p obj/windows64/emu/bus/spc1000
mkdir.exe -p obj/windows64/emu/bus/ti99_peb
mkdir.exe -p obj/windows64/emu/bus/tvc
mkdir.exe -p obj/windows64/emu/bus/vboy
mkdir.exe -p obj/windows64/emu/bus/vc4000
mkdir.exe -p obj/windows64/emu/bus/vcs
mkdir.exe -p obj/windows64/emu/bus/vcs_ctrl
mkdir.exe -p obj/windows64/emu/bus/vectrex
mkdir.exe -p obj/windows64/emu/bus/vic10
mkdir.exe -p obj/windows64/emu/bus/vic20
mkdir.exe -p obj/windows64/emu/bus/vidbrain
mkdir.exe -p obj/windows64/emu/bus/vip
mkdir.exe -p obj/windows64/emu/bus/vtech/ioexp
mkdir.exe -p obj/windows64/emu/bus/vtech/memexp
mkdir.exe -p obj/windows64/emu/bus/wangpc
mkdir.exe -p obj/windows64/emu/bus/wswan
mkdir.exe -p obj/windows64/emu/bus/x68k
mkdir.exe -p obj/windows64/emu/bus/z88
mkdir.exe -p obj/windows64/emu/cpu
mkdir.exe -p obj/windows64/emu/cpu/8x300
mkdir.exe -p obj/windows64/emu/cpu/adsp2100
mkdir.exe -p obj/windows64/emu/cpu/alph8201
mkdir.exe -p obj/windows64/emu/cpu/alto2
mkdir.exe -p obj/windows64/emu/cpu/am29000
mkdir.exe -p obj/windows64/emu/cpu/apexc
mkdir.exe -p obj/windows64/emu/cpu/arc
mkdir.exe -p obj/windows64/emu/cpu/arcompact
mkdir.exe -p obj/windows64/emu/cpu/arm
mkdir.exe -p obj/windows64/emu/cpu/arm7
mkdir.exe -p obj/windows64/emu/cpu/asap
mkdir.exe -p obj/windows64/emu/cpu/avr8
mkdir.exe -p obj/windows64/emu/cpu/ccpu
mkdir.exe -p obj/windows64/emu/cpu/cop400
mkdir.exe -p obj/windows64/emu/cpu/cosmac
mkdir.exe -p obj/windows64/emu/cpu/cp1610
mkdir.exe -p obj/windows64/emu/cpu/cubeqcpu
mkdir.exe -p obj/windows64/emu/cpu/dsp16
mkdir.exe -p obj/windows64/emu/cpu/dsp32
mkdir.exe -p obj/windows64/emu/cpu/dsp56k
mkdir.exe -p obj/windows64/emu/cpu/e132xs
mkdir.exe -p obj/windows64/emu/cpu/es5510
mkdir.exe -p obj/windows64/emu/cpu/esrip
mkdir.exe -p obj/windows64/emu/cpu/f8
mkdir.exe -p obj/windows64/emu/cpu/g65816
mkdir.exe -p obj/windows64/emu/cpu/h6280
mkdir.exe -p obj/windows64/emu/cpu/h8
mkdir.exe -p obj/windows64/emu/cpu/hcd62121
mkdir.exe -p obj/windows64/emu/cpu/hd61700
mkdir.exe -p obj/windows64/emu/cpu/i386
mkdir.exe -p obj/windows64/emu/cpu/i4004
mkdir.exe -p obj/windows64/emu/cpu/i8008
mkdir.exe -p obj/windows64/emu/cpu/i8085
mkdir.exe -p obj/windows64/emu/cpu/i8089
mkdir.exe -p obj/windows64/emu/cpu/i86
mkdir.exe -p obj/windows64/emu/cpu/i860
mkdir.exe -p obj/windows64/emu/cpu/i960
mkdir.exe -p obj/windows64/emu/cpu/ie15
mkdir.exe -p obj/windows64/emu/cpu/jaguar
mkdir.exe -p obj/windows64/emu/cpu/lc8670
mkdir.exe -p obj/windows64/emu/cpu/lh5801
mkdir.exe -p obj/windows64/emu/cpu/lr35902
mkdir.exe -p obj/windows64/emu/cpu/m37710
mkdir.exe -p obj/windows64/emu/cpu/m6502
mkdir.exe -p obj/windows64/emu/cpu/m6800
mkdir.exe -p obj/windows64/emu/cpu/m68000
mkdir.exe -p obj/windows64/emu/cpu/m6805
mkdir.exe -p obj/windows64/emu/cpu/m6809
mkdir.exe -p obj/windows64/emu/cpu/mb86233
mkdir.exe -p obj/windows64/emu/cpu/mb86235
mkdir.exe -p obj/windows64/emu/cpu/mb88xx
mkdir.exe -p obj/windows64/emu/cpu/mc68hc11
mkdir.exe -p obj/windows64/emu/cpu/mcs48
mkdir.exe -p obj/windows64/emu/cpu/mcs51
mkdir.exe -p obj/windows64/emu/cpu/mcs96
mkdir.exe -p obj/windows64/emu/cpu/minx
mkdir.exe -p obj/windows64/emu/cpu/mips
mkdir.exe -p obj/windows64/emu/cpu/mn10200
mkdir.exe -p obj/windows64/emu/cpu/nec
mkdir.exe -p obj/windows64/emu/cpu/pdp1
mkdir.exe -p obj/windows64/emu/cpu/pic16c5x
mkdir.exe -p obj/windows64/emu/cpu/pic16c62x
mkdir.exe -p obj/windows64/emu/cpu/powerpc
mkdir.exe -p obj/windows64/emu/cpu/pps4
mkdir.exe -p obj/windows64/emu/cpu/psx
mkdir.exe -p obj/windows64/emu/cpu/rsp
mkdir.exe -p obj/windows64/emu/cpu/s2650
mkdir.exe -p obj/windows64/emu/cpu/saturn
mkdir.exe -p obj/windows64/emu/cpu/sc61860
mkdir.exe -p obj/windows64/emu/cpu/scmp
mkdir.exe -p obj/windows64/emu/cpu/score
mkdir.exe -p obj/windows64/emu/cpu/scudsp
mkdir.exe -p obj/windows64/emu/cpu/se3208
mkdir.exe -p obj/windows64/emu/cpu/sh2
mkdir.exe -p obj/windows64/emu/cpu/sh4
mkdir.exe -p obj/windows64/emu/cpu/sharc
mkdir.exe -p obj/windows64/emu/cpu/sm8500
mkdir.exe -p obj/windows64/emu/cpu/spc700
mkdir.exe -p obj/windows64/emu/cpu/ssem
mkdir.exe -p obj/windows64/emu/cpu/ssp1601
mkdir.exe -p obj/windows64/emu/cpu/superfx
mkdir.exe -p obj/windows64/emu/cpu/t11
mkdir.exe -p obj/windows64/emu/cpu/tlcs90
mkdir.exe -p obj/windows64/emu/cpu/tlcs900
mkdir.exe -p obj/windows64/emu/cpu/tms0980
mkdir.exe -p obj/windows64/emu/cpu/tms32010
mkdir.exe -p obj/windows64/emu/cpu/tms32025
mkdir.exe -p obj/windows64/emu/cpu/tms32031
mkdir.exe -p obj/windows64/emu/cpu/tms32051
mkdir.exe -p obj/windows64/emu/cpu/tms32082
mkdir.exe -p obj/windows64/emu/cpu/tms34010
mkdir.exe -p obj/windows64/emu/cpu/tms57002
mkdir.exe -p obj/windows64/emu/cpu/tms7000
mkdir.exe -p obj/windows64/emu/cpu/tms9900
mkdir.exe -p obj/windows64/emu/cpu/unsp
mkdir.exe -p obj/windows64/emu/cpu/upd7725
mkdir.exe -p obj/windows64/emu/cpu/upd7810
mkdir.exe -p obj/windows64/emu/cpu/v30mz
mkdir.exe -p obj/windows64/emu/cpu/v60
mkdir.exe -p obj/windows64/emu/cpu/v810
mkdir.exe -p obj/windows64/emu/cpu/z180
mkdir.exe -p obj/windows64/emu/cpu/z8
mkdir.exe -p obj/windows64/emu/cpu/z80
mkdir.exe -p obj/windows64/emu/cpu/z8000
mkdir.exe -p obj/windows64/emu/debug
mkdir.exe -p obj/windows64/emu/drivers
mkdir.exe -p obj/windows64/emu/imagedev
mkdir.exe -p obj/windows64/emu/layout
mkdir.exe -p obj/windows64/emu/machine
mkdir.exe -p obj/windows64/emu/netlist
mkdir.exe -p obj/windows64/emu/netlist/analog
mkdir.exe -p obj/windows64/emu/netlist/devices
mkdir.exe -p obj/windows64/emu/sound
mkdir.exe -p obj/windows64/emu/ui
mkdir.exe -p obj/windows64/emu/video
mkdir.exe -p obj/windows64/lib/expat
mkdir.exe -p obj/windows64/lib/formats
mkdir.exe -p obj/windows64/lib/lib7z
mkdir.exe -p obj/windows64/lib/libflac
mkdir.exe -p obj/windows64/lib/libjpeg
mkdir.exe -p obj/windows64/lib/lua
mkdir.exe -p obj/windows64/lib/lua/lib
mkdir.exe -p obj/windows64/lib/portmidi
mkdir.exe -p obj/windows64/lib/softfloat
mkdir.exe -p obj/windows64/lib/sqlite3
mkdir.exe -p obj/windows64/lib/util
mkdir.exe -p obj/windows64/lib/web
mkdir.exe -p obj/windows64/lib/web/json
mkdir.exe -p obj/windows64/lib/zlib
mkdir.exe -p obj/windows64/mame/audio
mkdir.exe -p obj/windows64/mame/drivers
mkdir.exe -p obj/windows64/mame/layout
mkdir.exe -p obj/windows64/mame/machine
mkdir.exe -p obj/windows64/mame/video
mkdir.exe -p obj/windows64/mess/audio
mkdir.exe -p obj/windows64/mess/drivers
mkdir.exe -p obj/windows64/mess/layout
mkdir.exe -p obj/windows64/mess/machine
mkdir.exe -p obj/windows64/mess/machine/c64
mkdir.exe -p obj/windows64/mess/machine/ti99
mkdir.exe -p obj/windows64/mess/osd
mkdir.exe -p obj/windows64/mess/osd/windows
mkdir.exe -p obj/windows64/mess/tools/castool
mkdir.exe -p obj/windows64/mess/tools/floptool
mkdir.exe -p obj/windows64/mess/tools/imgtool
mkdir.exe -p obj/windows64/mess/tools/imgtool/modules
mkdir.exe -p obj/windows64/mess/video
mkdir.exe -p obj/windows64/osd
mkdir.exe -p obj/windows64/osd/modules
mkdir.exe -p obj/windows64/osd/modules/debugger
mkdir.exe -p obj/windows64/osd/modules/sound
mkdir.exe -p obj/windows64/osd/windows
mkdir.exe -p obj/windows64/tools
Compiling src/osd/windows/vconv.c...
Compiling src/build/makedep.c...
Compiling src/lib/util/astring.c...
Compiling src/lib/util/corealloc.c...
Compiling src/lib/util/corefile.c...
Compiling src/lib/util/unicode.c...
Compiling src/lib/util/tagmap.c...
Compiling src/osd/windows/main.c...
Compiling src/osd/windows/strconv.c...
Compiling src/osd/windows/windir.c...
Compiling src/osd/windows/winfile.c...
Compiling src/osd/windows/winmisc.c...
Compiling src/osd/windows/winsync.c...
Compiling src/osd/windows/wintime.c...
Compiling src/osd/windows/winutf8.c...
Compiling src/osd/windows/winutil.c...
Compiling src/osd/windows/winclip.c...
Compiling src/osd/windows/winsocket.c...
Compiling src/osd/windows/winwork.c...
Compiling src/osd/windows/winptty.c...
Compiling src/osd/windows/winos.c...
Compiling src/lib/zlib/adler32.c...
Compiling src/lib/zlib/compress.c...
Compiling src/lib/zlib/crc32.c...
Compiling src/lib/zlib/deflate.c...
Compiling src/lib/zlib/inffast.c...
Compiling src/lib/zlib/inflate.c...
Compiling src/lib/zlib/infback.c...
Compiling src/lib/zlib/inftrees.c...
Compiling src/lib/zlib/trees.c...
Compiling src/lib/zlib/uncompr.c...
Compiling src/lib/zlib/zutil.c...
Compiling src/build/makemak.c...
Compiling src/lib/util/corestr.c...
Compiling src/build/makelist.c...
Compiling src/lib/util/cstrpool.c...
Compiling src/build/png2bdc.c...
Compiling src/lib/util/bitmap.c...
Compiling src/lib/util/png.c...
Compiling src/lib/util/palette.c...
Compiling src/build/verinfo.c...
Compiling src/emu/cpu/m68000/m68kmake.c...
make: *** No rule to make target 'obj/windows64/MESS/MESS.o', needed by 'MESS64.
exe'. Stop.
make: *** Waiting for unfinished jobs....

I'm using a few batch files here to make my life easier. Previously nothing in these batch files caused a problem, but maybe it is now?

MAME Batch File:

@echo off
set path=c:\mingw\mingw64-w64\bin;c:\mingw\mingw64-w64\opt\bin;c:\mingw\mingw64-w64\Qt\bin;
make clean
make -j6 TARGET=MAME

MESS Batch File:

@echo off
set path=c:\mingw\mingw64-w64\bin;c:\mingw\mingw64-w64\opt\bin;c:\mingw\mingw64-w64\Qt\bin;
make clean
make -j6 TARGET=MESS

I have also used the 'PTR64=1' paramater but to no avail.

In my 'C:\MAME GitHub' folder, the 'src' folder has a red circle with a white ! in it, which usually indicates that certain files have changed and do not match the master branch, but I have downloaded the latest master branch. I have no idea how many of you use TortoiseGit, but to download the source you have to right click in the folder that contains the master branch, click on 'Git Sync...' then click on the 'Pull' button. I don't know any other way of doing this. Again, previously this was never a problem. I don't know if my set up is all wrong here or the problem lies within the structure of the source code.

I should also mention that prior to downloading a new version of mingw64 yesterday, I could at least compile MESS, although even though I was using the 'clean' command, I wasn't getting a clean compile, but it was working. MAME wouldn't compile at all. Now I can't compile anything.

Any help would be great.
Posted By: Just Desserts

Re: Can't compile latest MESS? READ THIS THREAD - 01/03/15 03:58 AM

Makefiles are CASE-SENSITIVE. This has been gone over multiple times. "TARGET=mess" or "TARGET=mame", NOT "TARGET=MAME" or "TARGET=MESS".
Posted By: Catweazle

Re: Can't compile latest MESS? READ THIS THREAD - 01/08/15 12:29 AM

Also, are there any optimization flags we can use when building MAME/MESS? (MAXOPT?)

Examples would be very welcome, as I am new to this.

EDIT: Thanks!
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 01/08/15 12:44 AM

There are no optimization flags, everything is pre-tuned to be as good as it gets.
Posted By: Shideravan

Re: Can't compile latest MESS? READ THIS THREAD - 01/08/15 10:55 PM

frown

Posted By: Tafoid

Re: Can't compile latest MESS? READ THIS THREAD - 01/08/15 11:12 PM

Use PTR64=1 in your compile string
Posted By: Shideravan

Re: Can't compile latest MESS? READ THIS THREAD - 01/08/15 11:50 PM

Thank you Tafoid!
I used:
Code:
set path=c:\mingw64-w64\bin
make -j5 TARGET=ume NOWERROR=1 PTR64=1 USE_NETWORK=1 sse4=1


And it take circa of 22 minutes in my i7-4790 :p
I thought that it could compile faster...
But the most important is that the code was been compiled!
Posted By: Shideravan

Re: Can't compile latest MESS? READ THIS THREAD - 01/09/15 12:24 AM

Ok, now I guessed that I could use avx2=1 rather than sse4=1, and took me 18 minutes.

Code:
set path=c:\mingw64-w64\bin
make -j5 TARGET=ume NOWERROR=1 PTR64=1 USE_NETWORK=1 avx2=1


Someone knows where I can find a list with these parameters that I can use, or at less the best compiling string for my processor?
I tried to find it, but I don't had sucess smirk
Posted By: eris23

Re: Can't compile latest MESS? READ THIS THREAD - 02/06/15 01:27 AM

build failed linux amd64 mess (and ume) gcc 4.9.2
last commit Fri Feb 6 01:13:55 2015 +0100

src/mess/drivers/pc9801.c: In member function ‘UINT16 pc9801_state::egc_do_partial_op(int, UINT16, UINT16, UINT16)’:
src/mess/drivers/pc9801.c:1372:6: error: unused variable ‘dst_off’ [-Werror=unused-variable]
int dst_off = (m_egc.regs[6] >> 4) & 0xf;
^
src/mess/drivers/pc9801.c:1373:9: error: unused variable ‘src_tmp’ [-Werror=unused-variable]
UINT16 src_tmp = src;
...
makefile:972: recipe for target 'obj/sdl64/mess/drivers/pc9801.o' failed
make: *** [obj/sdl64/mess/drivers/pc9801.o] Error 1

Is this commit the problem:

commit 86cadf5f710d1631ec81314c0bfa5e24fdf2647e
Author: cracyc <cracyc@users.noreply.github.com>
Date: Thu Feb 5 12:18:12 2015 -0600

(mess) pc9801: fix egc shifter (nw)

Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 02/07/15 03:30 AM

MESS compile error:

Archiving obj/windows64/mess/grundy.a...
Archiving obj/windows64/mess/heathkit.a...
Archiving obj/windows64/mess/hegener.a...
Archiving obj/windows64/mess/homebrew.a...
Archiving obj/windows64/mess/ideal.a...
Archiving obj/windows64/mess/intel.a...
Archiving obj/windows64/mess/kenner.a...
Archiving obj/windows64/mess/luxor.a...
ar: unable to rename 'obj/windows64/mess/kenner.a'; reason: File exists
makefile:1029: recipe for target 'obj/windows64/mess/kenner.a' failed
make: *** [obj/windows64/mess/kenner.a] Error 1
make: *** Waiting for unfinished jobs....

MAME compiles fine.
Posted By: Robbbert

Re: Can't compile latest MESS? READ THIS THREAD - 02/07/15 05:55 AM

eris23: that problem has been fixed.

MikeAbson: I just compiled MESS with no problems.
I'd suggest to try again.
Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 02/14/15 02:06 AM

So last week even after trying again, I was still getting a compile error (as above). I managed to fix it by using 'PTR64=1', but now today I'm having the same problem with MESS again, whereby MAME is compiling fine (although yesterday MAME would not compile - same error as I was getting with MESS). The problem also is that the file that can't be compiled I don't think actually exists? Each time I try I get the same error, but the file name is different (dms.a, marrow.a and now this time it's be.a). I've tried both with and without 'PTR64=1' but no success.

The error when compiling MESS this time is this:

Compiling src/mess/drivers/apricotp.c...
Archiving obj/windows64/mess/adc.a...
Compiling src/mess/drivers/alesis.c...
Archiving obj/windows64/mess/altos.a...
Compiling src/mess/drivers/amiga.c...
Compiling src/mess/drivers/pcw.c...
Compiling src/mess/drivers/mathmagi.c...
Compiling src/mess/video/apollo.c...
Compiling src/mess/drivers/mac.c...
Archiving obj/windows64/mess/applied.a...
Archiving obj/windows64/mess/arcadia.a...
Archiving obj/windows64/mess/ascii.a...
Archiving obj/windows64/mess/at.a...
Compiling src/mess/drivers/lynx.c...
Compiling src/mess/drivers/unixpc.c...
Archiving obj/windows64/mess/bally.a...
Compiling src/mess/drivers/wswan.c...
Archiving obj/windows64/mess/banctec.a...
Archiving obj/windows64/mess/be.a...
ar: unable to rename 'obj/windows64/mess/be.a'; reason: File exists
makefile:1029: recipe for target 'obj/windows64/mess/be.a' failed
make: *** [obj/windows64/mess/be.a] Error 1
make: *** Waiting for unfinished jobs....

The problem always occurs at:

obj/windows64/mess/<filename goes here.a>

With 'PTR64=1', my MESS batch file looks like this:

@echo off
set path=c:\mingw\mingw64-w64\bin;c:\mingw\mingw64-w64\opt\bin;c:\mingw\mingw64-w64\Qt\bin;
make clean
make -j6 TARGET=mess PTR64=1

Without 'PTR64=1, it's this:

@echo off
set path=c:\mingw\mingw64-w64\bin;c:\mingw\mingw64-w64\opt\bin;c:\mingw\mingw64-w64\Qt\bin;
make clean
make -j6 TARGET=mess

I've stated this before, but I will state it again. I'm using Windows 7 64-bit and TortoiseGIT.

No idea what's going on here... Any ideas?
Posted By: crazyc

Re: Can't compile latest MESS? READ THIS THREAD - 02/14/15 03:27 AM

This happens to me occasionally. If I run make again the build continues from where it left off.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 02/14/15 03:39 AM

I've seen it sometimes on Windows if you interrupt a build. Making clean and starting a new clean build usually works after that.
Posted By: Shideravan

Re: Can't compile latest MESS? READ THIS THREAD - 02/14/15 01:56 PM

Checkout from https://github.com/mamedev/mame, revision HEAD, Fully recursive, Externals included.


Ps.: Clean directory, new checkout.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 02/14/15 02:56 PM

Fine here with command-line git tools.
Posted By: Robbbert

Re: Can't compile latest MESS? READ THIS THREAD - 02/17/15 12:25 AM

Originally Posted By Shideravan
Checkout from https://github.com/mamedev/mame, revision HEAD, Fully recursive, Externals included.


Ps.: Clean directory, new checkout.


Looks like you're using TortoiseSVN. I had the same problems and had to give up with it and switch to using GIT tools (TortoiseGIT and msysgit in my case).


EDIT: forgot to mention that you should either use
github.com/mamedev/mame.git or github.com/mamedev/mame/trunk
so that you don't download all those useless branches.
Posted By: Shideravan

Re: Can't compile latest MESS? READ THIS THREAD - 02/20/15 05:18 PM

Thank you very much for all the tips, Robbbert!
Finally been able to download the code again smile

Posted By: Robert Gault

Re: Can't compile latest MESS? READ THIS THREAD - 02/22/15 05:21 PM

Robbbert,
I had the same problem as Shideravan but with dial-up went to my Library and downloaded a zip of your github.com/Robbbert/messui.

When I tried to compile it on a WinXP SP3 system with mingw and Python2.7.3 installed, I ran into errors. The first one was that pcap.h could not be found. On my system, the 3rdparty\winpcap\Include directory isn't being found.

I start compilation with

set path=C:\mingw\mingw64-w32\bin
set PATH=%~dp0bin;%~dp0i686-w64-mingw32\bin;%~dp0Qt\bin;%PATH%
set QT_PLUGIN_PATH=%~dp0Qt\plugins
SET CWD=%~dp0
assoc .py=Python.File
ftype Python.File=%~dp0bin\python.exe %1
make32 TARGET=mess OSD=winui

Any suggestions?
Posted By: rfka01

Re: Can't compile latest MESS? READ THIS THREAD - 02/22/15 05:42 PM

Code:
Compiling src/osd/modules/sync/work_osd.c...
Compiling src/osd/modules/lib/osdlib_win32.c...
Compiling src/osd/modules/osdmodule.c...
Compiling src/osd/windows/winptty.c...
make: *** No rule to make target 'obj/windows64/lib/zlib/adler32.o', needed by '
obj/windows64/libz.a'.  Stop.
make: *** Waiting for unfinished jobs....


I just downloaded the complete source from GIT via TortoiseSVN, but the compilation grinds to a halt soon after I have started it.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 02/22/15 08:26 PM

Get latest and try again.
Posted By: Vas Crabb

Re: Can't compile latest MESS? READ THIS THREAD - 02/22/15 09:54 PM

Seriously stop even trying to access the repo with Subversion tools. It's a recipe for pain. Even Visual Studio Express can clone the mamedev/mame repository painlessly.
Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 03/28/15 12:48 AM

I haven't had a proper internet connection for almost 3 weeks (I moved house), anyway I'm trying to compile the source code the same way I had before, which is using the previous method as opposed to using the new buildtools installer and the error I get is:

Generating m4510 source file...
Generating m6502 source file...
Generating m65c02 source file...
Generating m65ce02 source file...
Generating m6509 source file...
Generating m6510 source file...
Generating n2a03 source file...
Generating r65c02 source file...
Generating m740 source file...
Generating m6809 source file...
Generating hd6309 source file...
Generating konami source file...
Generating TMS57002 source file...
m68kmake.c
Linking build/generated/m68kmake.exe...
Generating M68K source files...

Musashi v4.90 680x0, CPU32, and ColdFire emulator
Copyright Karl Stenerud and the MAME team.

Generated 1972 opcode handlers from 523 primitives
makefile:352: *** MINGW64 is not set. Stop.

MingW64 was set before, so I don't know why it's not set any more. My set path looks like this:

set path=C:\mingw\mingw64-w64\bin;C:\mingw\mingw64-w64\opt\bin;C:\mingw\mingw64-w64\Qt\bin;

I suspect I need to add more paths? The set paths above are the ones listed on the MAME Dev website.

Any help would be great.
Posted By: Dagarman

Re: Can't compile latest MESS? READ THIS THREAD - 03/28/15 01:32 AM

I was told to add
set MINGW64=c:\mingw\ming64-w64
before the paths

It works for me in windows 7
Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 03/28/15 01:42 AM

Thanks for that, getting a bit further now, but still no luck in compiling. Now I'm getting:

Generating ../build/projects/mess/gmake-mingw64-gcc/yamaha.make...
Generating ../build/projects/mess/gmake-mingw64-gcc/zenith.make...
Generating ../build/projects/mess/gmake-mingw64-gcc/zpa.make...
Generating ../build/projects/mess/gmake-mingw64-gcc/zvt.make...
Generating ../build/projects/mess/gmake-mingw64-gcc/skeleton.make...
Generating ../build/projects/mess/gmake-mingw64-gcc/mess.make...
Done.
Creating ../../../win64_mingw-gcc/bin
Creating ../../../win64_mingw-gcc/bin
Creating ../../../win64_mingw-gcc/bin
Creating ../../../win64_mingw-gcc/bin
Creating ../../../win64_mingw-gcc/bin
Creating ../../../win64_mingw-gcc/bin
Compiling 3rdparty/softfloat/fsincos.c...
Compiling 3rdparty/libjpeg/jaricom.c...
Compiling 3rdparty/zlib/adler32.c...
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-g+
+ -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -Dmain=utf8_main -I.
./../../../src/emu -I../../../../src/lib -I../../../../src/lib/util -I../../../.
./3rdparty -I../../../../3rdparty/expat/lib -I../../../../src/osd -I../../../../
src/osd/windows -m64 --pipe -Wno-deprecated-declarations -O3 -fno-strict-aliasin
g -Werror -Wno-unknown-pragmas -Wall -Wcast-align -Wundef -Wformat-security -Wwr
ite-strings -Wno-sign-compare -Wno-conversion -Wno-unused-result -Wno-narrowing
-Wno-attributes -Wno-unused-variable -Wno-array-bounds -m64 "-DINLINE=static inl
ine" -x c++ -std=gnu++98 -Woverloaded-virtual -include C:/MAME GitHub/src/osd/wi
ndows/winprefix.h -o ../../../win64_mingw-gcc/obj/x64/Release/3rdparty/softfloat
/fsincos.o -MF ../../../win64_mingw-gcc/obj/x64/Release/3rdparty/softfloat/fsinc
os.d -c ../../../../3rdparty/softfloat/fsincos.c, ...) failed.
Compiling 3rdparty/expat/lib/xmlparse.c...
make (e=2): The system cannot find the file specified.
softfloat.make:259: recipe for target '../../../win64_mingw-gcc/obj/x64/Release/
3rdparty/softfloat/fsincos.o' failed
make[2]: *** [../../../win64_mingw-gcc/obj/x64/Release/3rdparty/softfloat/fsinco
s.o] Error 2
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-gc
c -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -Dmain=utf8_main -m6
4 --pipe -Wno-deprecated-declarations -O3 -fno-strict-aliasing -Werror -Wno-unkn
own-pragmas -Wall -Wcast-align -Wundef -Wformat-security -Wwrite-strings -Wno-si
gn-compare -Wno-conversion -Wno-unused-result -Wno-narrowing -Wno-attributes -Wn
o-unused-variable -Wno-array-bounds -m64 -std=gnu89 -Wpointer-arith -Wbad-functi
on-cast -Wstrict-prototypes -include C:/MAME GitHub/src/osd/windows/winprefix.h
-o ../../../win64_mingw-gcc/obj/x64/Release/3rdparty/libjpeg/jaricom.o -MF ../..
/../win64_mingw-gcc/obj/x64/Release/3rdparty/libjpeg/jaricom.d -c ../../../../3r
dparty/libjpeg/jaricom.c, ...) failed.
make (e=2): The system cannot find the file specified.
jpeg.make:517: recipe for target '../../../win64_mingw-gcc/obj/x64/Release/3rdpa
rty/libjpeg/jaricom.o' failed
make[2]: *** [../../../win64_mingw-gcc/obj/x64/Release/3rdparty/libjpeg/jaricom.
o] Error 2
Makefile:22: recipe for target 'softfloat' failed
make[1]: *** [softfloat] Error 2
make[1]: *** Waiting for unfinished jobs....
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-gc
c -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -Dmain=utf8_main -DZ
LIB_CONST -m64 --pipe -Wno-deprecated-declarations -O3 -fno-strict-aliasing -Wer
ror -Wno-unknown-pragmas -Wall -Wcast-align -Wundef -Wformat-security -Wwrite-st
rings -Wno-sign-compare -Wno-conversion -Wno-unused-result -Wno-narrowing -Wno-a
ttributes -Wno-unused-variable -Wno-array-bounds -m64 -std=gnu89 -Wpointer-arith
-Wbad-function-cast -Wstrict-prototypes -Wno-strict-prototypes -include C:/MAME
GitHub/src/osd/windows/winprefix.h -o ../../../win64_mingw-gcc/obj/x64/Release/
3rdparty/zlib/adler32.o -MF ../../../win64_mingw-gcc/obj/x64/Release/3rdparty/zl
ib/adler32.d -c ../../../../3rdparty/zlib/adler32.c, ...) failed.
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-g+
+ -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -Dmain=utf8_main -m6
4 --pipe -Wno-deprecated-declarations -O3 -fno-strict-aliasing -Werror -Wno-unkn
own-pragmas -Wall -Wcast-align -Wundef -Wformat-security -Wwrite-strings -Wno-si
gn-compare -Wno-conversion -Wno-unused-result -Wno-narrowing -Wno-attributes -Wn
o-unused-variable -Wno-array-bounds -m64 "-DINLINE=static inline" -x c++ -std=gn
u++98 -Woverloaded-virtual -include C:/MAME GitHub/src/osd/windows/winprefix.h -
o ../../../win64_mingw-gcc/obj/x64/Release/3rdparty/expat/lib/xmlparse.o -MF ../
../../win64_mingw-gcc/obj/x64/Release/3rdparty/expat/lib/xmlparse.d -c ../../../
../3rdparty/expat/lib/xmlparse.c, ...) failed.
make (e=2): The system cannot find the file specified.
Makefile:25: recipe for target 'jpeg' failed
zlib.make:307: recipe for target '../../../win64_mingw-gcc/obj/x64/Release/3rdpa
rty/zlib/adler32.o' failed
make[1]: *** [jpeg] Error 2
make (e=2): The system cannot find the file specified.
make[2]: *** [../../../win64_mingw-gcc/obj/x64/Release/3rdparty/zlib/adler32.o]
Error 2
expat.make:271: recipe for target '../../../win64_mingw-gcc/obj/x64/Release/3rdp
arty/expat/lib/xmlparse.o' failed
make[2]: *** [../../../win64_mingw-gcc/obj/x64/Release/3rdparty/expat/lib/xmlpar
se.o] Error 2
Compiling 3rdparty/libflac/src/libFLAC/bitmath.c...
Makefile:19: recipe for target 'zlib' failed
make[1]: *** [zlib] Error 2
Makefile:16: recipe for target 'expat' failed
make[1]: *** [expat] Error 2
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-gc
c -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -Dmain=utf8_main -DW
ORDS_BIGENDIAN=0 -DFLAC__NO_ASM -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFLA
C__HAS_OGG=0 -DVERSION=\"1.2.1\" -I../../../../3rdparty/libflac/src/libFLAC/incl
ude -I../../../../3rdparty/libflac/include -m64 --pipe -Wno-deprecated-declarati
ons -O3 -fno-strict-aliasing -Werror -Wno-unknown-pragmas -Wall -Wcast-align -Wu
ndef -Wformat-security -Wwrite-strings -Wno-sign-compare -Wno-conversion -Wno-un
used-result -Wno-narrowing -Wno-attributes -Wno-unused-variable -Wno-array-bound
s -m64 -std=gnu89 -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wno-u
nused-function -O0 -include C:/MAME GitHub/src/osd/windows/winprefix.h -o ../../
../win64_mingw-gcc/obj/x64/Release/3rdparty/libflac/src/libFLAC/bitmath.o -MF ..
/../../win64_mingw-gcc/obj/x64/Release/3rdparty/libflac/src/libFLAC/bitmath.d -c
../../../../3rdparty/libflac/src/libFLAC/bitmath.c, ...) failed.
make (e=2): The system cannot find the file specified.
flac.make:331: recipe for target '../../../win64_mingw-gcc/obj/x64/Release/3rdpa
rty/libflac/src/libFLAC/bitmath.o' failed
make[2]: *** [../../../win64_mingw-gcc/obj/x64/Release/3rdparty/libflac/src/libF
LAC/bitmath.o] Error 2
make[2]: *** Waiting for unfinished jobs....
Compiling 3rdparty/libflac/src/libFLAC/bitreader.c...
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-gc
c -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -Dmain=utf8_main -DW
ORDS_BIGENDIAN=0 -DFLAC__NO_ASM -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFLA
C__HAS_OGG=0 -DVERSION=\"1.2.1\" -I../../../../3rdparty/libflac/src/libFLAC/incl
ude -I../../../../3rdparty/libflac/include -m64 --pipe -Wno-deprecated-declarati
ons -O3 -fno-strict-aliasing -Werror -Wno-unknown-pragmas -Wall -Wcast-align -Wu
ndef -Wformat-security -Wwrite-strings -Wno-sign-compare -Wno-conversion -Wno-un
used-result -Wno-narrowing -Wno-attributes -Wno-unused-variable -Wno-array-bound
s -m64 -std=gnu89 -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wno-u
nused-function -O0 -include C:/MAME GitHub/src/osd/windows/winprefix.h -o ../../
../win64_mingw-gcc/obj/x64/Release/3rdparty/libflac/src/libFLAC/bitreader.o -MF
../../../win64_mingw-gcc/obj/x64/Release/3rdparty/libflac/src/libFLAC/bitreader.
d -c ../../../../3rdparty/libflac/src/libFLAC/bitreader.c, ...) failed.
make (e=2): The system cannot find the file specified.
flac.make:335: recipe for target '../../../win64_mingw-gcc/obj/x64/Release/3rdpa
rty/libflac/src/libFLAC/bitreader.o' failed
make[2]: *** [../../../win64_mingw-gcc/obj/x64/Release/3rdparty/libflac/src/libF
LAC/bitreader.o] Error 2
Makefile:28: recipe for target 'flac' failed
make[1]: *** [flac] Error 2
Compiling 3rdparty/lzma/C/7zBuf.c...
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-gc
c -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -Dmain=utf8_main -D_
7ZIP_PPMD_SUPPPORT -D_7ZIP_ST -m64 --pipe -Wno-deprecated-declarations -O3 -fno-
strict-aliasing -Werror -Wno-unknown-pragmas -Wall -Wcast-align -Wundef -Wformat
-security -Wwrite-strings -Wno-sign-compare -Wno-conversion -Wno-unused-result -
Wno-narrowing -Wno-attributes -Wno-unused-variable -Wno-array-bounds -m64 -std=g
nu89 -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -include C:/MAME Gi
tHub/src/osd/windows/winprefix.h -o ../../../win64_mingw-gcc/obj/x64/Release/3rd
party/lzma/C/7zBuf.o -MF ../../../win64_mingw-gcc/obj/x64/Release/3rdparty/lzma/
C/7zBuf.d -c ../../../../3rdparty/lzma/C/7zBuf.c, ...) failed.
make (e=2): The system cannot find the file specified.
7z.make:349: recipe for target '../../../win64_mingw-gcc/obj/x64/Release/3rdpart
y/lzma/C/7zBuf.o' failed
make[2]: *** [../../../win64_mingw-gcc/obj/x64/Release/3rdparty/lzma/C/7zBuf.o]
Error 2
make[2]: *** Waiting for unfinished jobs....
Compiling 3rdparty/lzma/C/7zBuf2.c...
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-gc
c -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -Dmain=utf8_main -D_
7ZIP_PPMD_SUPPPORT -D_7ZIP_ST -m64 --pipe -Wno-deprecated-declarations -O3 -fno-
strict-aliasing -Werror -Wno-unknown-pragmas -Wall -Wcast-align -Wundef -Wformat
-security -Wwrite-strings -Wno-sign-compare -Wno-conversion -Wno-unused-result -
Wno-narrowing -Wno-attributes -Wno-unused-variable -Wno-array-bounds -m64 -std=g
nu89 -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -include C:/MAME Gi
tHub/src/osd/windows/winprefix.h -o ../../../win64_mingw-gcc/obj/x64/Release/3rd
party/lzma/C/7zBuf2.o -MF ../../../win64_mingw-gcc/obj/x64/Release/3rdparty/lzma
/C/7zBuf2.d -c ../../../../3rdparty/lzma/C/7zBuf2.c, ...) failed.
make (e=2): The system cannot find the file specified.
7z.make:353: recipe for target '../../../win64_mingw-gcc/obj/x64/Release/3rdpart
y/lzma/C/7zBuf2.o' failed
make[2]: *** [../../../win64_mingw-gcc/obj/x64/Release/3rdparty/lzma/C/7zBuf2.o]
Error 2
Makefile:31: recipe for target '7z' failed
make[1]: *** [7z] Error 2
makefile:355: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2

Basically just a bunch of non-sensicle jibberish lol. I get the same, or roughly the same error message when trying to compile MESS as well, and I have ran make clean before hand.

My batch file looks like this (which was all working fine a few weeks ago)

MAME:

@echo off
set MINGW64=c:\mingw\ming64-w64
set path=c:\mingw\mingw64-w64\bin;c:\mingw\mingw64-w64\opt\bin;c:\mingw\mingw64-w64\Qt\bin;
make -j6 TARGET=mame
pause

MESS:

@echo off
set MINGW64=c:\mingw\ming64-w64
set path=c:\mingw\mingw64-w64\bin;c:\mingw\mingw64-w64\opt\bin;c:\mingw\mingw64-w64\Qt\bin;
make -j6 TARGET=mess
pause

I've added pause at the end so I can see what the error message is.

Again any help would be awesome!
Posted By: Dagarman

Re: Can't compile latest MESS? READ THIS THREAD - 03/28/15 02:15 AM

Mike,
I can't make my batch file work with it either. Just enter it from the command line and it works. If you figure out the trick to make the batch file work PM me with the batch commands
Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 03/28/15 02:21 AM

Alright, so I've decided to go the buildtools route because I think the version of MingW64 that I am using is obsolete now? I've managed to compile both MESS and MAME, but one, I can't make clean, I get this error:

Cleaning...
process_begin: CreateProcess(NULL, rm -rf build, ...) failed.
make (e=2): The system cannot find the file specified.
makefile:532: recipe for target 'clean' failed
make: [clean] Error 2 (ignored)
Cleaning genie

My make clean batch file looks like this:

@echo off
set MINGW64=C:\buildtools\vendor\mingw64
set path=C:\buildtools\vendor\mingw64\bin;C:\buildtools\vendor\mingw64\opt\bin;C:\buildtools\vendor\qt\mingw64\Qt\bin;
make clean
pause

And two, the instructions on the MAME Dev website say to run 'update' once in a while. The only update file I can find is located in \buildtools\bin, listed as 'update.bat' and when I run it, I get this error:

Updating MAME tools
====================
C:\buildtools\bin
'git' is not recognized as an internal or external command,
operable program or batch file.
The system cannot find the path specified.

I'm not really concerned that I can't run update, but I'd like make clean to work properly as this is needed sometimes.
Posted By: Robbbert

Re: Can't compile latest MESS? READ THIS THREAD - 03/28/15 03:13 AM

As you may have suspected, the build system has been replaced with a new one. There is no documentation. It replaces the large number of .mak files with .lua files that are located in the scripts directory. The obj folder is replaced by the build folder. You don't need to update your tools yet, the old ones work just fine.

The main thing is to set up a system variable so it knows where mingw is.

For a 64-bit build, SET MINGW64=e:\mingw\mingw64-w64
or for a 32-bit build, SET MINGW32=e:\mingw\mingw64-w32
(sample paths, obviously)
The build system works out your hardware platform, but you can override that to allow cross-compiling. So, for me to build 32-bit on my 64-bit machine, I need to add windows_x86 to the make command-line.

I have a 64-bit batch file, and a 32-bit one. The 64-bit one sets up MINGW64, while the 32-bit one sets up MINGW32 and also specifies windows_x86.

Since I normally work with 32-bit builds, I also have make.bat which simply calls up make32.bat -j4

I have never used make clean. If I want to do a clean build, I run clean.bat which simply deletes the obj and build folders, and then run make.bat

So far, I've converted to the new system for MAME (which builds fine btw), however it has no provision for MESSUI/MAMEUI/HBMAME, so for those I stayed with the old system, until I've reverse engineered the new system enough to understand it.
Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 03/28/15 05:59 AM

Well I've discovered the build folder was the previous obj folder, so now I just delete it before I run make both mess and mame and seems to compile just fine. Thanks for the explanation.
Posted By: LoganB

Re: Can't compile latest MESS? READ THIS THREAD - 03/30/15 05:45 PM

Code:
Compiling 3rdparty/expat/lib/xmlparse.c...
Compiling src/osd/strconv.c...
Compiling src/osd/modules/render/drawd3d.c...
process_begin: CreateProcess(NULL, C:\Users\Logan\Documents\MAME-MESS\mingw64-w6
4\x86_64-w64-mingw32/bin/x86_64-w64-mingw32-g++ -MMD -MP -DX64_WINDOWS_ABI -DPTR
64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_DLL -DNATIVE_DRC=drcbe_x64 -DLUA_C
OMPAT_APIINTCASTS -DWIN32 -m64 --pipe -Wno-deprecated-declarations -O3 -fno-stri
ct-aliasing -Werror -Wno-unknown-pragmas -Wall -Wcast-align -Wundef -Wformat-sec
urity -Wwrite-strings -Wno-sign-compare -Wno-conversion -Wno-unused-result -Wno-
narrowing -Wno-attributes -Wno-unused-variable -Wno-array-bounds -m64 "-DINLINE=
static inline" -x c++ -std=gnu++98 -Woverloaded-virtual -o ../../../../win64_min
gw-gcc/obj/x64/Release/3rdparty/expat/lib/xmlparse.o -MF ../../../../win64_mingw
-gcc/obj/x64/Release/3rdparty/expat/lib/xmlparse.d -c ../../../../../3rdparty/ex
pat/lib/xmlparse.c, ...) failed.
make (e=2): The system cannot find the file specified.
expat.make:253: recipe for target '../../../../win64_mingw-gcc/obj/x64/Release/3
rdparty/expat/lib/xmlparse.o' failed
make[2]: *** [../../../../win64_mingw-gcc/obj/x64/Release/3rdparty/expat/lib/xml
parse.o] Error 2
process_begin: CreateProcess(NULL, C:\Users\Logan\Documents\MAME-MESS\mingw64-w6
4\x86_64-w64-mingw32/bin/x86_64-w64-mingw32-g++ -MMD -MP -DX64_WINDOWS_ABI -DPTR
64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_DLL -DNATIVE_DRC=drcbe_x64 -DLUA_C
OMPAT_APIINTCASTS -DWIN32 -DUNICODE -D_UNICODE -DOSD_WINDOWS -DUSE_SDL=0 -DUSE_Q
TDEBUG=0 -DUSE_OPENGL=1 -DUSE_DISPATCH_GL=1 -DDIRECTINPUT_VERSION=0x0800 -DSDLMA
ME_NET_PCAP -Dmain=utf8_main -I../../../../../src/emu -I../../../../../src/osd -
I../../../../../src/lib -I../../../../../src/lib/util -I../../../../../src/osd/w
indows -I../../../../../src/lib/winpcap -m64 --pipe -Wno-deprecated-declarations
 -O3 -fno-strict-aliasing -Werror -Wno-unknown-pragmas -Wall -Wcast-align -Wunde
f -Wformat-security -Wwrite-strings -Wno-sign-compare -Wno-conversion -Wno-unuse
d-result -Wno-narrowing -Wno-attributes -Wno-unused-variable -Wno-array-bounds -
m64 "-DINLINE=static inline" -x c++ -std=gnu++98 -Woverloaded-virtual -include C
:/Users/Logan/Documents/MAME-MESS/mame/src/osd/windows/winprefix.h -o ../../../.
./win64_mingw-gcc/obj/x64/Release/ocore_windows/src/osd/strconv.o -MF ../../../.
./win64_mingw-gcc/obj/x64/Release/ocore_windows/src/osd/strconv.d -c ../../../..
/../src/osd/strconv.c, ...) failed.
process_begin: CreateProcess(NULL, C:\Users\Logan\Documents\MAME-MESS\mingw64-w6
4\x86_64-w64-mingw32/bin/x86_64-w64-mingw32-g++ -MMD -MP -DX64_WINDOWS_ABI -DPTR
64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_DLL -DNATIVE_DRC=drcbe_x64 -DLUA_C
OMPAT_APIINTCASTS -DWIN32 -DUNICODE -D_UNICODE -DOSD_WINDOWS -DUSE_SDL=0 -DUSE_Q
TDEBUG=0 -DUSE_OPENGL=1 -DUSE_DISPATCH_GL=1 -DDIRECTINPUT_VERSION=0x0800 -DSDLMA
ME_NET_PCAP -Dmain=utf8_main -DDIRECT3D_VERSION=0x0900 -I../../../../../src/emu
-I../../../../../src/osd -I../../../../../src/lib -I../../../../../src/lib/util
-I../../../../../src/osd/modules/render -I../../../../../3rdparty -I../../../../
../3rdparty/winpcap/Include -I../../../../../3rdparty/bgfx/include -I../../../..
/../3rdparty/bx/include -I../../../../../src/osd/windows -m64 --pipe -Wno-deprec
ated-declarations -O3 -fno-strict-aliasing -Werror -Wno-unknown-pragmas -Wall -W
cast-align -Wundef -Wformat-security -Wwrite-strings -Wno-sign-compare -Wno-conv
ersion -Wno-unused-result -Wno-narrowing -Wno-attributes -Wno-unused-variable -W
no-array-bounds -m64 "-DINLINE=static inline" -x c++ -std=gnu++98 -Woverloaded-v
irtual -include C:/Users/Logan/Documents/MAME-MESS/mame/src/osd/windows/winprefi
x.h -o ../../../../win64_mingw-gcc/obj/x64/Release/osd_windows/src/osd/modules/r
ender/drawd3d.o -MF ../../../../win64_mingw-gcc/obj/x64/Release/osd_windows/src/
osd/modules/render/drawd3d.d -c ../../../../../src/osd/modules/render/drawd3d.c,
 ...) failed.
Makefile:22: recipe for target 'expat' failed
make (e=2): The system cannot find the file specified.
make[1]: *** [expat] Error 2
make (e=2): The system cannot find the file specified.
make[1]: *** Waiting for unfinished jobs....
ocore_windows.make:323: recipe for target '../../../../win64_mingw-gcc/obj/x64/R
elease/ocore_windows/src/osd/strconv.o' failed
osd_windows.make:533: recipe for target '../../../../win64_mingw-gcc/obj/x64/Rel
ease/osd_windows/src/osd/modules/render/drawd3d.o' failed
make[2]: *** [../../../../win64_mingw-gcc/obj/x64/Release/ocore_windows/src/osd/
strconv.o] Error 2
make[2]: *** [../../../../win64_mingw-gcc/obj/x64/Release/osd_windows/src/osd/mo
dules/render/drawd3d.o] Error 2
Makefile:19: recipe for target 'ocore_windows' failed
make[1]: *** [ocore_windows] Error 2
Makefile:16: recipe for target 'osd_windows' failed
make[1]: *** [osd_windows] Error 2
makefile:452: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2


This is using a batch file like
Code:
set PATH=%~dp0bin;%~dp0opt\bin;%~dp0x86_64-w64-mingw32\bin;%~dp0Qt\bin;%PATH%
set QT_PLUGIN_PATH=%~dp0Qt\plugins
SET MINGW64=%~dp0x86_64-w64-mingw32
make clean
make -j3 SHELL=cmd TARGET=mame USE_NETWORK=1 avx=1
make -j3 SHELL=cmd TARGET=mess USE_NETWORK=1 avx=1
Posted By: Robbbert

Re: Can't compile latest MESS? READ THIS THREAD - 03/30/15 09:19 PM

I see you're setting the 64-bit variable MINGW64 to 32-bit tools. Read my post above.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 04/01/15 11:28 PM

I just managed to build MESS with the new tools. However, when I try to build the tools I get this error:

Code:
make: *** No rule to make target 'tools'.  Stop.


Did something change with the new build tools?
This is just invoking "make tools" on the commandline by the way.
Posted By: mahlemiut

Re: Can't compile latest MESS? READ THIS THREAD - 04/02/15 12:04 AM

Originally Posted By arcadefan
I just managed to build MESS with the new tools. However, when I try to build the tools I get this error:

Code:
make: *** No rule to make target 'tools'.  Stop.


Did something change with the new build tools?
This is just invoking "make tools" on the commandline by the way.


Try 'make TOOLS=1'
Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 04/03/15 03:27 AM

I'm wondering what the make parameter is to compile MAME/MESS using Direct3D instead of OpenGL as the default? I was hoping to regain some speed back at the expense of the reliability OpenGL provides. Any help would be great.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 04/03/15 07:42 AM

AFAICT, neither Direct3D (d3d) nor OpenGL (opengl) are defaults for -video in the Windows OSD. The default is "auto", whatever that may be (OpenGL?). However, you can simply decide which one to use on the command line (-video d3d), or through mame.ini/mess.ini or a front-end.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 04/07/15 10:11 PM

Again I am having trouble compiling MESS.

I start the build with:

Code:
make -j5 TARGET=mess NOWERROR=1 USE_OPENGL=1 avx=1 USE_NETWORK=1 TOOLS=1


Near the beginning of the process it prints the following errors and stops.

Code:
Compiling src/osd/strconv.c...
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-g+
+ -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -DOSD_WINDOWS -D_WIN
32_WINNT=0x0501 -DUNICODE -D_UNICODE -Dmain=utf8_main -DUSE_NETWORK -DOSD_NET_US
E_PCAP -DUSE_SDL=0 -I../../../../../src/emu -I../../../../../src/osd -I../../../
../../src/lib -I../../../../../src/lib/util -I../../../../../src/osd/windows -I.
./../../../../src/lib/winpcap -m64 --pipe -Wno-deprecated-declarations -O3 -fno-
strict-aliasing -Wno-unknown-pragmas -Wall -Wcast-align -Wundef -Wformat-securit
y -Wwrite-strings -Wno-sign-compare -Wno-conversion -Wno-unused-result -Wno-narr
owing -Wno-attributes -Wno-unused-variable -Wno-array-bounds -m64 "-DINLINE=stat
ic inline" -x c++ -std=gnu++98 -Woverloaded-virtual -o ../../../../win64_mingw-g
cc/obj/x64/Release/ocore_windows/src/osd/strconv.o -MF ../../../../win64_mingw-g
cc/obj/x64/Release/ocore_windows/src/osd/strconv.d -c ../../../../../src/osd/str
conv.c, ...) failed.
make (e=2): The system cannot find the file specified.
elease/ocore_windows/src/osd/strconv.o' failed
make[2]: *** [../../../../win64_
mingw-gcc/obj/x64/Release/ocore_windows/src/osd/strconv.o] Error 2
make[2]: *** Waiting for unfinished jobs....
Compiling src/osd/windows/main.c...
Compiling src/osd/osdnet.c...
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-g+
+ -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -DOSD_WINDOWS -D_WIN
32_WINNT=0x0501 -DUNICODE -D_UNICODE -Dmain=utf8_main -DUSE_NETWORK -DOSD_NET_US
E_PCAP -DUSE_SDL=0 -DUSE_OPENGL=1 -DUSE_BGFX -DUSE_QTDEBUG=0 -DDIRECT3D_VERSION=
0x0900 -DDIRECTINPUT_VERSION=0x0800 -I../../../../../3rdparty/winpcap/Include -I
../../../../../3rdparty/bgfx/include -I../../../../../3rdparty/bx/include -I../.
./../../../src/emu -I../../../../../src/osd -I../../../../../src/lib -I../../../
../../src/lib/util -I../../../../../src/osd/modules/render -I../../../../../3rdp
arty -I../../../../../src/osd/windows -m64 --pipe -Wno-deprecated-declarations -
O3 -fno-strict-aliasing -Wno-unknown-pragmas -Wall -Wcast-align -Wundef -Wformat
-security -Wwrite-strings -Wno-sign-compare -Wno-conversion -Wno-unused-result -
Wno-narrowing -Wno-attributes -Wno-unused-variable -Wno-array-bounds -m64 "-DINL
INE=static inline" -x c++ -std=gnu++98 -Woverloaded-virtual -o ../../../../win64
_mingw-gcc/obj/x64/Release/osd_windows/src/osd/osdnet.o -MF ../../../../win64_mi
ngw-gcc/obj/x64/Release/osd_windows/src/osd/osdnet.d -c ../../../../../src/osd/o
sdnet.c, ...) failed.
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-g+
+ -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -DOSD_WINDOWS -D_WIN
32_WINNT=0x0501 -DUNICODE -D_UNICODE -Dmain=utf8_main -DUSE_NETWORK -DOSD_NET_US
E_PCAP -DUSE_SDL=0 -I../../../../../src/emu -I../../../../../src/osd -I../../../
../../src/lib -I../../../../../src/lib/util -I../../../../../src/osd/windows -I.
./../../../../src/lib/winpcap -m64 --pipe -Wno-deprecated-declarations -O3 -fno-
strict-aliasing -Wno-unknown-pragmas -Wall -Wcast-align -Wundef -Wformat-securit
y -Wwrite-strings -Wno-sign-compare -Wno-conversion -Wno-unused-result -Wno-narr
owing -Wno-attributes -Wno-unused-variable -Wno-array-bounds -m64 "-DINLINE=stat
ic inline" -x c++ -std=gnu++98 -Woverloaded-virtual -o ../../../../win64_mingw-g
cc/obj/x64/Release/ocore_windows/src/osd/windows/main.o -MF ../../../../win64_mi
ngw-gcc/obj/x64/Release/ocore_windows/src/osd/windows/main.d -c ../../../../../s
rc/osd/windows/main.c, ...) failed.
Compiling src/lib/util/delegate.c...
make (e=2): The system cannot find the file specified.
make (e=2): The system cannot find the file specified.
ocore_windows.make:331: recipe for target '../../../../win64_mingw-gcc/obj/x64/R
elease/ocore_windows/src/osd/windows/main.o' failed
osd_windows.make:540: recipe for target '../../../../win64_mingw-gcc/obj/x64/Rel
ease/osd_windows/src/osd/osdnet.o' failed
make[2]: *** [../../../../win64_mingw-gcc/obj/x64/Release/ocore_windows/src/osd/
windows/main.o] Error 2
make[2]: *** [../../../../win64_mingw-gcc/obj/x64/Release/osd_windows/src/osd/os
dnet.o] Error 2
makefile:19: recipe for target 'ocore_windows' failed
make[1]: *** [ocore_windows] Error 2
make[1]: *** Waiting for unfinished jobs....
makefile:16: recipe for target 'osd_windows' failed
make[1]: *** [osd_windows] Error 2
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-g+
+ -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -I../../../../../src
/osd -I../../../../../src/lib/util -I../../../../../3rdparty -I../../../../../3r
dparty/expat/lib -I../../../../../3rdparty/zlib -m64 --pipe -Wno-deprecated-decl
arations -O3 -fno-strict-aliasing -Wno-unknown-pragmas -Wall -Wcast-align -Wunde
f -Wformat-security -Wwrite-strings -Wno-sign-compare -Wno-conversion -Wno-unuse
d-result -Wno-narrowing -Wno-attributes -Wno-unused-variable -Wno-array-bounds -
m64 "-DINLINE=static inline" -x c++ -std=gnu++98 -Woverloaded-virtual -o ../../.
./../win64_mingw-gcc/obj/x64/Release/src/lib/util/delegate.o -MF ../../../../win
64_mingw-gcc/obj/x64/Release/src/lib/util/delegate.d -c ../../../../../src/lib/u
til/delegate.c, ...) failed.
make (e=2): The system cannot find the file specified.
utils.make:491: recipe for target '../../../../win64_mingw-gcc/obj/x64/Release/s
rc/lib/util/delegate.o' failed
make[2]: *** [../../../../win64_mingw-gcc/obj/x64/Release/src/lib/util/delegate.
o] Error 2
makefile:25: recipe for target 'utils' failed
make[1]: *** [utils] Error 2
Compiling src/lib/formats/flopimg.c...
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-g+
+ -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -I../../../../../src
/osd -I../../../../../src/emu -I../../../../../src/lib -I../../../../../src/lib/
util -I../../../../../3rdparty -I../../../../../3rdparty/zlib -m64 --pipe -Wno-d
eprecated-declarations -O3 -fno-strict-aliasing -Wno-unknown-pragmas -Wall -Wcas
t-align -Wundef -Wformat-security -Wwrite-strings -Wno-sign-compare -Wno-convers
ion -Wno-unused-result -Wno-narrowing -Wno-attributes -Wno-unused-variable -Wno-
array-bounds -m64 "-DINLINE=static inline" -x c++ -std=gnu++98 -Woverloaded-virt
ual -o ../../../../win64_mingw-gcc/obj/x64/Release/src/lib/formats/flopimg.o -MF
 ../../../../win64_mingw-gcc/obj/x64/Release/src/lib/formats/flopimg.d -c ../../
../../../src/lib/formats/flopimg.c, ...) failed.
make (e=2): The system cannot find the file specified.
formats.make:1092: recipe for target '../../../../win64_mingw-gcc/obj/x64/Releas
e/src/lib/formats/flopimg.o' failed
make[2]: *** [../../../../win64_mingw-gcc/obj/x64/Release/src/lib/formats/flopim
g.o] Error 2
make[2]: *** Waiting for unfinished jobs....
Compiling src/lib/formats/abcfd2_dsk.c...
process_begin: CreateProcess(NULL, c:\mingw\ming64-w64/bin/x86_64-w64-mingw32-g+
+ -MMD -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_
DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -DWIN32 -I../../../../../src
/osd -I../../../../../src/emu -I../../../../../src/lib -I../../../../../src/lib/
util -I../../../../../3rdparty -I../../../../../3rdparty/zlib -m64 --pipe -Wno-d
eprecated-declarations -O3 -fno-strict-aliasing -Wno-unknown-pragmas -Wall -Wcas
t-align -Wundef -Wformat-security -Wwrite-strings -Wno-sign-compare -Wno-convers
ion -Wno-unused-result -Wno-narrowing -Wno-attributes -Wno-unused-variable -Wno-
array-bounds -m64 "-DINLINE=static inline" -x c++ -std=gnu++98 -Woverloaded-virt
ual -o ../../../../win64_mingw-gcc/obj/x64/Release/src/lib/formats/abcfd2_dsk.o
-MF ../../../../win64_mingw-gcc/obj/x64/Release/src/lib/formats/abcfd2_dsk.d -c
../../../../../src/lib/formats/abcfd2_dsk.c, ...) failed.
make (e=2): The system cannot find the file specified.
formats.make:1120: recipe for target '../../../../win64_mingw-gcc/obj/x64/Releas
e/src/lib/formats/abcfd2_dsk.o' failed
make[2]: *** [../../../../win64_mingw-gcc/obj/x64/Release/src/lib/formats/abcfd2
_dsk.o] Error 2
makefile:28: recipe for target 'formats' failed
make[1]: *** [formats] Error 2
makefile:611: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2


Any ideas?
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 04/08/15 07:25 PM

Bump
Posted By: Osso

Re: Can't compile latest MESS? READ THIS THREAD - 04/08/15 08:10 PM

Be sure you:

a) have an updated scripts directory;
b) have SET your mingw path properly.

If you think you have both but still have problems, try using cmder instead of the prompt. It might help.
Posted By: Bavarese

Re: Can't compile latest MESS? READ THIS THREAD - 04/13/15 01:36 PM

How am i supposed to build "vmessd.exe" under Windows (with new buildtools)? I tried

DEBUG=1 SYMBOLS=1

to no avail...

I also tried to execute "vcvarsall.bat" before. Is it automagic?

It seems my make options (above) are ignored (and ´mess.exe´ gets built) smile

The old DirectX SDK 2010 is obsolete / unneccessary under VS2013, right?

Thanks for answering!

(Win 7 64 bit + VS2013)
Posted By: fulivi

Re: Can't compile latest MESS? READ THIS THREAD - 04/13/15 01:45 PM

I just rebased my driver (imds2) to today's master branch on GitHub in order to push my changes and I got a bad surprise: my "tiny" project to compile just my driver doesn't work anymore. I guess it has something to do with the recent switch to genie. Basically, I changed my tiny-like makefile to lua script but the same error I got in linking stage a few weeks ago resurfaced:

flopimg.c:(.text+0x2b5f): undefined reference to `pool_free_lib(object_pool*)'
../../../../linux64_gcc/bin/x64/libformats64.a(flopimg.o): In function `floppy_open_internal(void*, io_procs const*, char const*, FloppyFormat const*, int, int, floppy_image_legacy**, int*)':
flopimg.c:(.text+0x2c6b): undefined reference to `pool_alloc_lib(void (*)(char const*))'
... etc ...

When I was using makefiles I included something like:
DRVLIBS = \
$(OBJ)/emu/drivers/emudummy.o \
$(OBJ)/lib/util/opresolv.o

to solve the problem (basing on info gathered on this forum).
But I'm not an expert at all in either genie or lua, so: how do I achieve the same thing in the lua script?

Thanks a lot.

-- F.Ulivi
Posted By: Shoegazer

Re: Can't compile latest MESS? READ THIS THREAD - 05/01/15 10:14 PM

A few questions regarding these compile options posted above:

Quote:
make -j5 TARGET=mess NOWERROR=1 USE_OPENGL=1 avx=1 USE_NETWORK=1 TOOLS=1

1) I assume "USE_OPENGL=1" isn't necessary for linux builds?
2) What does "avx=1" and "USE_NETWORK=1" do for the build?
3) Can someone confirm that it's sufficient to just use: make -j9 TARGET=mess for a build that maximizes the features of an x64 linux/haswell platform?

Thanks. The makefile itself isn't too descriptive about these compile options and I don't believe they're documented anywhere else atm.
Posted By: mahlemiut

Re: Can't compile latest MESS? READ THIS THREAD - 05/01/15 10:35 PM

Originally Posted By Shoegazer
A few questions regarding these compile options posted above:

Quote:
make -j5 TARGET=mess NOWERROR=1 USE_OPENGL=1 avx=1 USE_NETWORK=1 TOOLS=1

1) I assume "USE_OPENGL=1" isn't necessary for linux builds?
2) What does "avx=1" and "USE_NETWORK=1" do for the build?
3) Can someone confirm that it's sufficient to just use: make -j9 TARGET=mess for a build that maximizes the features of an x64 linux/haswell platform?


1) Nope. I don't believe it's necessary for win32 (non-SDL) builds either, now.
2) USE_NETWORK enables use of a tap/tun device (Linux) or pcap (Win32 or OS X) to create a network connection, allowing emulated systems to connect to your local network. Note that pcap can slow MESS down a fair bit when in use. Tap/tun devices do not though, so you should be fine there. I believe it is also now enabled by default. AVX, I think, allows for the binary to be optimised using that set of CPU instructions, only enable it if your CPU supports it.
3) Should do. 64-bit should be auto-detected.
Posted By: Shoegazer

Re: Can't compile latest MESS? READ THIS THREAD - 05/02/15 02:43 AM

Thanks, Barry. Now that you mention it, AVX is supported with Haswell (and a host of other CPUs). I guess I'll use that one, but I'm not sure if there are any other extensions I should turn on to squeeze out even more performance. It would be great if it could auto-detect the CPU and add the correct extensions automatically, but I'm sure there are reasons it doesn't or can't.
Posted By: JL

Re: Can't compile latest MESS? READ THIS THREAD - 05/19/15 11:25 PM

Hi,

I know messui is not supported and that qmc2 is recommended, but I have need to compile a new .161 messui. I am using the mame .161 source and the messui .161 source [http://messui.1emulation.com/]


I am unable to create the ui version:

my make command:
make -j7 TOOLS=1 Target=mess OSD=messui PTR64=1

Unsupported value 'winui' for OSD
stack traceback:
[C]: in function 'error'
C:/buildtools/src/mess/scripts/genie.lua:1087: in main chunk
[C]: in upvalue 'builtin_dofile'
[string "premake = { }..."]:67: in function 'dofile'
[string "_WORKING_DIR = os.getcwd()..."]:41: in function '_premake_main'
makefile:665: recipe for target 'build/projects/winui/mess/gmake-mingw64-gcc/Makefile' failed
make: *** [build/projects/winui/mess/gmake-mingw64-gcc/Makefile] Error 1


while unsupported here hoping someone will be kind enough to give me the correct command/syntax. Many thanks!
Posted By: Robbbert

Re: Can't compile latest MESS? READ THIS THREAD - 05/20/15 10:07 AM

I think 'Target' should be 'TARGET'.

Since you specified 'OSD=messui' i don't know why it says 'winui' is unsupported, since you didn't say 'winui'. Unfortunately, the rest of the error message is meaningless.

Also, I haven't tested if TOOLS=1 works, maybe you should leave it out and see if it makes any difference.

If it still doesn't work, I'd suggest to continue this on the official messui forum, as discussion of it is frowned upon here.
Posted By: JL

Re: Can't compile latest MESS? READ THIS THREAD - 05/20/15 11:31 AM

thanks robbbert
with TARGET in CAPS - I now get "C:/buildtools/src/mess/scripts/genie.lua:1087: Unsupported value 'messui' for OSD"


where is official mess forum?
Posted By: etabeta78

Re: Can't compile latest MESS? READ THIS THREAD - 05/20/15 12:17 PM

the official MESS forum is the one you are posting into... problem is that messui is not officially supported since a couple of years wink
Posted By: Robbbert

Re: Can't compile latest MESS? READ THIS THREAD - 05/20/15 04:18 PM

Originally Posted By JL
thanks robbbert
with TARGET in CAPS - I now get "C:/buildtools/src/mess/scripts/genie.lua:1087: Unsupported value 'messui' for OSD"


where is official mess forum?


I assume you mean official messui forum...
http://www.1emulation.com/forums/forum/125-messui/
you'll need to register.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 07/02/15 02:53 AM

Getting the following error when I try to build from latest:

Code:
In file included from ../../../../../src/lib/formats/flopimg.c:18:0:
../../../../../src/emu/emu.h:65:22: fatal error: dimemory.h: No such file or directory
 #include "dimemory.h"
                      ^
compilation terminated.
formats.make:1144: recipe for target '../../../../mingw-gcc/obj/x64/Release/src/lib/formats/flopimg.o' failed
make[2]: *** [../../../../mingw-gcc/obj/x64/Release/src/lib/formats/flopimg.o] Error 1
makefile:28: recipe for target 'formats' failed


Any ideas?
Posted By: Robbbert

Re: Can't compile latest MESS? READ THIS THREAD - 07/02/15 04:25 AM

Works fine here.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 07/02/15 01:01 PM

Nevermind, just redownloaded entire source from git. It seems to be compiling fine now.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 07/04/15 01:38 PM

I seem to have the worst luck getting mame to compile properly.
I'm getting this error now:

Code:
In file included from ../../../../../src/emu/machine/netlist.c:17:0:
../../../../../src/emu/netlist/devices/net_lib.h:53:24: fatal error: nld_mm5837.h: No such file or directory
 #include "nld_mm5837.h"
                        ^
compilation terminated.
optional.make:7301: recipe for target '../../../../mingw-gcc/obj/x64/Release/src/emu/machine/netlist.o' failed make[2]: *** [../../../../mingw-gcc/obj/x64/Release/src/emu/machine/netlist.o] Error 1♪◙make[2]: *** Waiting for unfinished jobs....
Compiling src/emu/cpu/arcompact/arcompact.c...
makefile:79: recipe for target 'optional' failed
make[1]: *** [optional] Error 2
makefile:739: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2


I used the following commandline:
Code:
make -j5 NOWERROR=1 USE_NETWORK=1 sse4=1 TOOLS=1 PTR64=1 TARGET=mame

Any ideas?
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 07/04/15 03:59 PM

That's a real problem, git isn't guaranteed to compile at all times.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 07/04/15 05:59 PM

Current git is building right now again as I post this.
Posted By: JL

Re: Can't compile latest MESS? READ THIS THREAD - 08/22/15 01:41 PM

Hi - is there a list of all the command line compile options for the current version of MESS [err I mean MAME]. I tried web searches but could not locate.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 08/22/15 04:18 PM

The closest you'll get is here:

http://www.mameworld.info/ubbthreads/sho...part=1&vc=1

My specific examples there turn out to suck, but you get the idea.
Posted By: rfka01

Re: Can't compile latest MESS? READ THIS THREAD - 09/26/15 07:33 AM

I like the possibility of building single driver executables. When I build the PC-D part, all the layouts from the src/mame/layout directory get converted too ... is there a chance to really only include what's absolutely necessary?
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 09/26/15 08:23 AM

Not at the moment. Layouts convert so fast it's not really an issue, especially on any kind of multicore/parallel build.
Posted By: rfka01

Re: Can't compile latest MESS? READ THIS THREAD - 09/26/15 08:27 AM

OK, thanks. On my main machine I do a SUBTARGET=mess build with -j9, but on an old notebook I like to keep around the layouts alone take a few minutes.
Posted By: Edstrom

Re: Can't compile latest MESS? READ THIS THREAD - 10/11/15 06:31 AM

I just did a rebase to MAME 166 and SUBTARGET seems to faint on me

$ make SUBTARGET=hk68v10 DRIVERS=src/mame/drivers/hk68v10.c REGENIE=1 DEBUG=1 -j9
make: *** No rule to make target `scripts/target/mame/hk68v10.lua', needed by `build/projects/sdl/mamehk68v10/gmake-linux/Makefile'. Stop.

This worked in MAME 165, has the syntax changed?

The usual 'make SUBTARGET=mess -j9' works though but takes for ever to complete after a clean.
Posted By: Duke

Re: Can't compile latest MESS? READ THIS THREAD - 10/11/15 07:20 AM

You need to read the git changes: http://git.redump.net/mame/commit/?id=8e22b1d22f1e1e616ca5e08f1064cad614387b2e
Posted By: Edstrom

Re: Can't compile latest MESS? READ THIS THREAD - 10/11/15 07:41 AM

Ahh great, thx!
Posted By: Dullaron

Re: Can't compile latest MESS? READ THIS THREAD - 11/06/15 02:34 PM

Having a problem for two days.

Ever since I update the MinGW I getting errors. I even deleted it and start over from scratch. Still the same error. buildtools.bat doesn't even fix the issue.

It run make ok but it stop here at.

Archiving liboptional.a...
makefile:777: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2
Press any key to continue . . .

I open the Make.bat file and then added make clean. Clean also have the error too.

Cleaning...
process_begin: CreateProcess(NULL, rm -rf build, ...) failed.
make (e=2): The system cannot find the file specified.
makefile:1089: recipe for target 'clean' failed
make: [clean] Error 2 (ignored)

Is there anything I need to change in my Make.bat file?

@echo off
set MINGW64=E:\MAME\dev\buildtools\vendor\mingw64
set path=E:\MAME\dev\buildtools\vendor\mingw64\bin;E:\MAME\dev\buildtools\vendor\mingw64\x86_64-w64-mingw32\bin;E:\MAME\dev\buildtools\vendor\mingw64\opt\bin;E:\MAME\dev\buildtools\vendor\qt\mingw64\Qt\bin;
cd E:\MAME\dev\source
make -j6 PTR64=1 TOOLS=1 SYMBOLS=1 STRIP_SYMBOLS=1
pause

Works before I updated and re-downloaded the buildtools.
Posted By: Dullaron

Re: Can't compile latest MESS? READ THIS THREAD - 11/06/15 09:17 PM

Trying this out. http://www.mameworld.info/ubbthreads/sho...part=1&vc=1

@echo off
SET PROCESSOR_ARCHITECTURE=AMD64
call E:\MAME\dev\buildtools\vendor\env.bat
cd E:\MAME\dev\source
make -j6 PTR64=1 TOOLS=1 SYMBOLS=1 STRIP_SYMBOLS=1
pause

Hope this will fix the issue.

////////////////////////////////

Heh error pop up.

E:/MAME/dev/buildtools/vendor/mingw64/bin/../lib/gcc/x86Compiling src/devices/machine/jvsdev.c...
_64-w64-mingw32/5.2.0/../../../..Compiling src/mame/drivers/inufuku.c...
/x86_64-w64-mingw32/bin/ar.exe: unable to rename '../../../../mingw-gcc/bin/x64/Release/mame_mame/libyunsung.a'; reason: Permission denied
yunsung.make:245: recipe for target '../../../../mingw-gcc/bin/x64/Release/mame_mame/libyunsung.a' failed
make[2]: *** [../../../../mingw-gcc/bin/x64/Release/mame_mame/libyunsung.a] Error 1
makefile:370: recipe for target 'yunsung' failed
make[1]: *** [yunsung] Error 2
make[1]: *** Waiting for unfinished jobs....

I think that is why this came up.

Archiving liboptional.a...
makefile:777: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2
Posted By: Robbbert

Re: Can't compile latest MESS? READ THIS THREAD - 11/07/15 02:13 AM

Quote:
Permission denied


File is read-only, or file is in use.

Most common fix: close windows explorer. It has a bug since windows 7 of grabbing random files, even if you never looked at them.
Posted By: Haze

Re: Can't compile latest MESS? READ THIS THREAD - 11/07/15 02:19 AM

Originally Posted By Robbbert
Quote:
Permission denied


File is read-only, or file is in use.

Most common fix: close windows explorer. It has a bug since windows 7 of grabbing random files, even if you never looked at them.


yeah I've seen it sometimes on Win7/10, I think some of it comes from the antivirus trying to scan a file at the same time, or windows indexing crap.

I've never seen them grab a file in a way that can't be resolved just by typing make again tho.
Posted By: Dullaron

Re: Can't compile latest MESS? READ THIS THREAD - 11/07/15 07:24 AM

I kill that issue. Microsoft OneDrive was messing with it. Why would it be pointing at the drive E not C? Some weird shit Microsoft have done.

Edit... Remember close Microsoft OneDrive and then reboot before run make. All good on this part. Other word disabled it!

One problem left still. Moving it to drive C to test out.

Archiving liboptional.a...
makefile:777: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2

///////////////////////////////

Moved buildtools and Source to C drive.

Made another Bat file with Kill command. I ran it first. Hope it killed stuff that might be messing with the files.

TASKKILL /f /im explorer.exe
START explorer.exe
START .
pause

Then I'm running the Run_Make.Bat file which was rename from Make.Bat.

Still running some test.

///////////////////////////////

All fix now. Problem solved. smile
Posted By: Gyruss

Re: Can't compile latest MESS? READ THIS THREAD - 11/09/15 04:38 AM

Is this the right forum for MAME compilation help? mamedev.org's developer forum is empty other than the version announcements and the support forum links here...

Same as Dullaron I can't compile 0.167.

D:\src\buildtools\mame>make TOOLS=1
Compiling 3rdparty/bgfx/src/renderer_d3d12.cpp...
In file included from ../../../../../3rdparty/bgfx/3rdparty/dxsdk/include/dxgi.h:143:0,
from ../../../../../3rdparty/bgfx/3rdparty/dxsdk/include/d3d12.h:168,
from ../../../../../3rdparty/bgfx/src/renderer_d3d12.h:12,
from ../../../../../3rdparty/bgfx/src/renderer_d3d12.cpp:9:
../../../../../3rdparty/bgfx/3rdparty/dxsdk/include/dxgitype.h:21:0: error: "DXGI_ERROR_INVALID_CALL" redefined
[-Werror]
# define DXGI_ERROR_INVALID_CALL MAKE_DXGI_HRESULT(1)
^
In file included from D:/src/buildtools/vendor/mingw64/x86_64-w64-mingw32/include/winbase.h:2377:0,
from D:/src/buildtools/vendor/mingw64/x86_64-w64-mingw32/include/windows.h:70,
from ../../../../../3rdparty/bx/include/bx/os.h:13,
from ../../../../../3rdparty/bgfx/src/bgfx_p.h:109,
from ../../../../../3rdparty/bgfx/src/renderer_d3d12.cpp:6:
D:/src/buildtools/vendor/mingw64/x86_64-w64-mingw32/include/winerror.h:3446:0: note: this is the location of th
e previous definition

...snip about 40 additional redefinition notes

In file included from D:/src/buildtools/vendor/mingw64/x86_64-w64-mingw32/include/winbase.h:2377:0,
from D:/src/buildtools/vendor/mingw64/x86_64-w64-mingw32/include/windows.h:70,
from ../../../../../3rdparty/bx/include/bx/os.h:13,
from ../../../../../3rdparty/bgfx/src/bgfx_p.h:109,
from ../../../../../3rdparty/bgfx/src/renderer_d3d12.cpp:6:
D:/src/buildtools/vendor/mingw64/x86_64-w64-mingw32/include/winerror.h:3460:0: note: this is the location of th
e previous definition
#define DXGI_ERROR_REMOTE_OUTOFMEMORY _HRESULT_TYPEDEF_(0x887A0024)
^
cc1plus.exe: all warnings being treated as errors
bgfx.make:434: recipe for target '../../../../mingw-gcc/obj/x64/Release/3rdparty/bgfx/src/renderer_d3d12.o' fai
led
make[2]: *** [../../../../mingw-gcc/obj/x64/Release/3rdparty/bgfx/src/renderer_d3d12.o] Error 1
makefile:70: recipe for target 'bgfx' failed
make[1]: *** [bgfx] Error 2
makefile:764: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2

D:\src\buildtools\mame>
Posted By: Dullaron

Re: Can't compile latest MESS? READ THIS THREAD - 11/09/15 04:54 PM

You at the right place since MESS is part of MAME source now. Look like DirectX making errors on your end. Leaving the Dev on this one.
Posted By: Jezze

Re: Can't compile latest MESS? READ THIS THREAD - 11/12/15 12:28 PM

I have a problem to compile MAME as debug build (release build is totally fine). The compiling itself actually works, but I get an .exe file that is over 2.5 GB large and cannot be opened.

I compile with the official MAME Build Tools from GitHub and using the following command line.

Code:
set MINGW64=C:\Projects\MAME\buildtools\vendor\mingw64
set PATH=%MINGW64%\bin;%MINGW64%\opt\bin;%MINGW64%\Qt\bin;%PATH%

gcc -v

make DEBUG=1 SYMBOLS=1


I also tried to compile a debug build with Visual Studio and got a similar result. Furthermore no .pdb file is generated.

Code:
set VSENV="C:\Programme (x86)\Microsoft Visual Studio 12.0\VC"

call %VSENV%\vcvarsall.bat amd64
call %VSENV%\dx_setenv.cmd amd64

make MSVC_BUILD=1 DEBUG=1 SYMBOLS=1


The last version of MAME I could compile as debug build with .pdb file was 0.159, where the .exe file was around 180 MB and the .pdb filearound 400 MB, which could be debugged perfectly well with Visual Studio.

Anyway, the .pdb file would be really nice to have, but the oversized .exe file is completely useless.

I hope someone can give me an advice how to fix this.
Posted By: Just Desserts

Re: Can't compile latest MESS? READ THIS THREAD - 11/12/15 01:36 PM

Use a subtarget instead of a full build. You're probably most concerned with arcade games, so use SUBTARGET=arcade when invoking make.
Posted By: Jezze

Re: Can't compile latest MESS? READ THIS THREAD - 11/12/15 02:13 PM

Thanks for the hint. The .exe file is still oversized (1.6 GB), but can now be opened.

Originally Posted By Jezze
The last version of MAME I could compile as debug build with .pdb file was 0.159 [...]

To be more precise, it was UME not MAME.
Posted By: Dullaron

Re: Can't compile latest MESS? READ THIS THREAD - 11/12/15 03:00 PM

Use this STRIP_SYMBOLS=1 with SYMBOLS=1. It will shrink the exe size down into the 100mb or over. smile
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 11/12/15 03:31 PM

STRIP_SYMBOLS also makes the result unable to be debugged, which is kind of important for Jezze smile
Posted By: Dullaron

Re: Can't compile latest MESS? READ THIS THREAD - 11/13/15 04:52 PM

That sucks
Posted By: rfka01

Re: Can't compile latest MESS? READ THIS THREAD - 11/25/15 06:16 PM

I've had the compilation of MAME stopped since one or two major revisions (now again with 0.168) on lucky8.lay without any error message, just hanging on make.exe.

This is with latest, updated official build tools on Windows 10 x64, clean build from current GIT.

It's always lucky8.lay, on different machines.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 11/26/15 03:01 PM

I'm having trouble compiling MAME from git on Ubuntu using the following commandline:

Code:
make -j9 NOWERROR=1 PTR64=1 sse4=1


Part way through I get the following:

Code:
Archiving libnetlist.a...
make: *** [linux_x64] Error 2
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 11/26/15 03:46 PM

The error occured prior to that line, look up through the log for something failing and copy/paste that part.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 11/26/15 04:45 PM

Turns out I was missing the libsdl2-ttf-dev package. Oops.
Posted By: dlabi

Re: Can't compile latest MESS? READ THIS THREAD - 12/21/15 09:43 PM

I'm struggling with compilation of mess using VC 2012(using mingw works fine). I have latest mame sources and buildtools.
My compile.bat looks like this

Quote:
call "c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" amd64
call "c:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Utilities\bin\dx_setenv.cmd" x64
make -j9 MSBUILD=1 DEBUG=1 SYMBOLS=1 SUBTARGET=mess DIRECTINPUT=8 PTR64=1
I'm running compile.bat within buildtools console. I've tried instead of MSBUILD use MSVC_BUILD=1 without luck. I need to get pdb's for debugging inside VC IDE

It seems to me regardless MSBUILD=1 mingw is used and no vmess64d is generated. Thanx
Posted By: dlabi

Re: Can't compile latest MESS? READ THIS THREAD - 12/24/15 02:05 PM

I think I got it. I added parameter vs2012 so my command line looked following

Quote:
make -j9 MSBUILD=1 DEBUG=1 SYMBOLS=1 SUBTARGET=mess DIRECTINPUT=8 PTR64=1 vs2012


I don't know if all the parameters before vs2012 are neccess
ary (it's not running compilation) I left them there

This cmd creates vs2012 project which could be loaded into VC, there were few compile issues to deal with but fortunately I've managed to get .exe with pdbs. There is also possible to build xp compatible exe(I did not give try)

Merry Christmess to all guys!
Posted By: Edstrom

Re: Can't compile latest MESS? READ THIS THREAD - 01/03/16 07:19 PM

I just found the hard way that 7 segment display support ain't included in a build statement like
Code:
make SUBTARGET=tec1 SOURCES=src/mame/drivers/tec1.cpp REGENIE=1 DEBUG=2

but LED:s and some other artwork features are.

Is there a list of files I need to add to the SOURCES parameter to get a complete artwork support?
Posted By: Edstrom

Re: Can't compile latest MESS? READ THIS THREAD - 01/13/16 03:29 PM

Ok so I made it, I set up the Mingw environment and compiled MESS on a 64 bit Windows 7 using the buildtools package and the instructions found on the Tools page. It worked after a few quirks:

Code:
[MINGW64] C:\Users\jolar\work\mame>git checkout didact_r4 
fatal: unable to join threaded lstat                      

I fixed by an additional git config thingie:
Code:
git config --replace-all core.preloadIndex false

I also had to set my HOME environment variable before anything worked
Code:
set HOME=\Users\jolar

Also the instructions lists two git commands on the same line which will not work.

However, this is soo much easier than my previous two failed attempts to get a Windows environment for MESS/MAME up and running. Thanks a lot for that!:)
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 01/13/16 03:51 PM

For the case where something isn't included automatically on a SOURCES= you just have to manually add that to the SOURCES. For instance, Apple II min-build looks like:

SOURCES=src/mame/drivers/apple2.cpp,src/mame/drivers/apple2e.cpp,src/mame/video/apple2.cpp

It doesn't (or didn't a few weeks ago at least) pick up the video/ file automatically.
Posted By: Edstrom

Re: Can't compile latest MESS? READ THIS THREAD - 01/16/16 03:02 PM

yes, I just don't know what other files I need in the SOURCES argument to get the BCD display to work. It do compile and link but the display is dead. Is there a way to get genie to check for unsatisfied requirements or is this hidden by the late bindings?

Also for the record, I got a valuable tip from QMC2 regarding the lack of debugger keyboard short cuts in MAME-169 with Qt5 on Linux. Remove the appmenu-qt5 package and it works again:
Code:
sudo apt-get remove appmenu-qt5
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 01/16/16 07:09 PM

If you link successfully, then you are not missing anything.

In order to have an LED display on a driver, you must include a layout file. My recently submitted prophet600.cpp driver shows a pretty simple example with a 2-digit LED display.
Posted By: Edstrom

Re: Can't compile latest MESS? READ THIS THREAD - 01/18/16 07:40 AM

Ahh, ok a linktime layout that is? Because it works by just dropping the layout in the artwork folder once the full MESS or MAME binary is used, but I guess it contains already some linked in layouts... That doesn't work right now with the single driver build, which is explained now, thx smile
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 01/18/16 01:49 PM

You must #include "filename.lh" to establish the link between your driver and the layout (where "filename" is the name of the .lay file), and add MCFG_DEFAULT_LAYOUT(layout_filename) to the machine configuration. Then you're good to go even for single-driver builds.
Posted By: Breiztiger

Re: Can't compile latest MESS? READ THIS THREAD - 01/18/16 04:52 PM

sorry for my ignorance but ...

i got a

'head' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
GCC 4.9.1 detected
Building configurations...

...

makefile:830: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2

with mingw env

my last good compilation is from 3 january 2016

can someone tell me what i can change to compil again ;-)

thanks in advance
Posted By: Edstrom

Re: Can't compile latest MESS? READ THIS THREAD - 01/18/16 09:31 PM

RB: Thanks for the tip! :-)

For the interested reader I can point out that the layout_filename really IS the unquoted symbolname created by concatenating "layout_" and the prefix of the layout filename, in my case layout_mp68a and layout_md6802. The symbol is created by the make system by parsing the layout file into the .lh file. There is no compile error trying a string or some other ignorance. The next thing to lookout for is the -debug switch that seems to block the late binding of the 7seg IF more than one machine driver is provided in the build and the selection menu appears. Then you need to explicit say which driver to debug on the command line, for example:

Code:
./didact64d mp68a -window -debug
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 01/18/16 10:00 PM

Yeah. Single-driver builds are more accurately single-driver file builds; you get all the drivers in the driver .cpp so you still have to specify the game name on the command line.
Posted By: Breiztiger

Re: Can't compile latest MESS? READ THIS THREAD - 01/22/16 05:18 PM

sorry for my ignorance but ...

i got a

'head' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
GCC 4.9.1 detected
Building configurations...

...

makefile:830: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2

with mingw env

my last good compilation is from 3 january 2016

can someone tell me what i can change to compil again ;-)

thanks in advance
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 01/22/16 05:30 PM

You aren't using the latest Windows tools, which are GCC 5.3.1.
Posted By: crazyc

Re: Can't compile latest MESS? READ THIS THREAD - 01/22/16 05:51 PM

Even with the newest tools I've found win32 make sometimes fails for no reason. If there was no other error just try running make again and see if it finishes.
Posted By: Breiztiger

Re: Can't compile latest MESS? READ THIS THREAD - 01/24/16 09:13 AM

hi

thanks for the reply

i'd go from mingw to msys64, after some path tweak of my batch, compilation work again ;-)

i have sometime also make errors but retry and pass like crazyc

thanks a lot !!!
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 01/26/16 01:31 PM

I'm also having trouble compiling.
I get the following with the current build tools:

Code:
make -j9 USE_NETWORK=1 sse4=1 PTR64=1 NOWERROR=1


Code:
../../../../../src/emu/luaengine.cpp: In member function 'void lua_engine::start_console()':
../../../../../src/emu/luaengine.cpp:1026:2: error: 'thread' is not a member of 'std'
  std::thread th(::serve_lua, this);
  ^
../../../../../src/emu/luaengine.cpp:1027:2: error: 'th' was not declared in this scope
  th.detach();
  ^
../../../../../src/emu/luaengine.cpp: At global scope:
../../../../../src/emu/luaengine.cpp:864:14: warning: 'void* serve_lua(void*)' defined but not used [-Wunused-function]
 static void *serve_lua(void *param)
              ^
make[2]: *** [../../../../mingw-gcc/obj/x64/Release/src/emu/luaengine.o] Error 1
make[1]: *** [emu] Error 2


Near the beginning I notice this:

Code:
emu.make:1286: recipe for target '../../../../mingw-gcc/obj/x64/Release/src/emu/luaengine.o' failed
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 01/26/16 07:29 PM

bump
Posted By: Osso

Re: Can't compile latest MESS? READ THIS THREAD - 01/26/16 07:40 PM

you have outdated build tools. Download the latest from https://github.com/mamedev/buildtools
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 02/24/16 09:15 PM

Using the commandline:

Code:
make -j9 NOWERROR=1 PTR64=1 sse4=1 USE_NETWORK=1


I get the following when it tries to link the executable:

Code:
Linking mame64.exe...
../../../../mingw-gcc/bin/x64/Release/mame_mame/libseibu.a: file not recognized: File format not recognized
collect2.exe: error: ld returned 1 exit status
mame.make:228: recipe for target '../../../../../mame64.exe' failed
make[2]: *** [../../../../../mame64.exe] Error 1
Makefile:952: recipe for target 'mame' failed
make[1]: *** [mame] Error 2
makefile:847: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2


Any ideas?
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 02/24/16 09:24 PM

That tends to happen if you interrupted the build (control-C) for some reason. Delete the x64\Release\mame_mame\libseibu.a file and try again.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 02/24/16 09:51 PM

That worked. Thanks!
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 03/04/16 01:56 AM

Having some issues compiling latest with the commandline:
Code:
make -j9 PTR64=1 NOWERROR=1 USE_NETWORK=1 sse4=1 TOOLS=1


Code:
Compiling src/mame/drivers/mephisto.cpp...

../../../../../src/mame/drivers/mephisto.cpp:70:29: fatal error: includes/mboard.h: No such file or directory
compilation terminatArchiving libhartung.a...e
d.
hegener.make:284: recipe for target '../../../../mingw-gcc/obj/x64/Release/src/mame/drivers/mephisto.o' failed
Compiling src/mame/drivers/h89.cpp...
make[2]: *** [../../../../mingw-gcc/obj/x64/Release/src/mame/drivers/mephisto.o] Error 1
make[2]: *** Waiting for unfinished jobs....


Code:
Makefile:577: recipe for target 'hegener' failed
make[1]: *** [hegener] Error 2
make[1]: *** Waiting for unfinished jobs....


Near the bottom:
Code:
Archiving liboptional.a...
makefile:851: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2


Any ideas?
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 03/04/16 01:57 AM

If you pay any attention to the commit logs, you'll notice several words in common between them and the errors you're getting. IOW, wait for them to get fixed.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 03/04/16 02:07 AM

Sorry about that. I'll try to pay more attention to the logs in the future.
Posted By: Squash

Re: Can't compile latest MESS? READ THIS THREAD - 03/08/16 03:59 AM

How do you build the tools, like chdman?

Old tutorials say various things (including in this thread) but none seem to work.

Have tried
Code:
make
make SUBTARGET=mess tools
make TARGET=mess tools
make tools
make SUBTARGET=mess TOOLS=1
make TARGET=mess TOOLS=1

and other things. Many of those will build mame and mess, but the tools are nowhere to be found. Or am I missing something?

Using MAME/MESS v 0.170 on MSYS2 (MinGW32 under Windows XP SP3). The resulting MAME and MESS executables work.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 03/08/16 06:00 AM

Your problem is that when you run make a non-virgin source pull you need to specify REGENIE=1 to recalculate the makefiles. (Doing so takes a while, which is why you don't want to specify that once you've locked in an agreeable built/test/repeat cycle).

make (whatever) REGENIE=1 TOOLS=1 builds the tools.

A side note: the Ensoniq drivers got updated in .171 (the LCD emulation and front panel emulation was much improved for the SQ-1 and SQ-R, among other things) so if you plan to work on the SD-1 and friends it's advisable to work off of at least .171 and ideally a fresh pull from Github.
Posted By: Squash

Re: Can't compile latest MESS? READ THIS THREAD - 03/10/16 04:21 PM

Anybody gotten MAME >= 0.165 to build via Eclipse CDT & MSYS2/MinGW32 ?

I have set up Eclipse 4.4.1 Luna to successfully build C++ projects via the MSYS2 tool chain, and I can build MAME 0.171 via MSYS2 command line.

However, when trying to build MAME 0.171 in Eclipse, I basically get the wigglies on every identifier. I imported the project via File>New>Makefile Project with Existing Code, and used the makefile in the source root.

Before I dig into this problem, are there any special problems with MAME on Eclipse?

("Setup Eclipse for MESS" is extremely outdated)
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 03/10/16 05:23 PM

Automated import of the makefile won't work; MAME's current build system (GENie, a fork of premake) is actually in a mix of Make, Lua, and Python.

On Windows, "make vs2015" to generate a VS2015 .sln and projects is preferred if you want an IDE.
Posted By: Duke

Re: Can't compile latest MESS? READ THIS THREAD - 03/10/16 07:49 PM

Had some weird issues with the CDT indexer as well. It looks like it works now though. In the project properties, select "C/C++ general", then "Preprocessor Include Paths". Go to "Providers", select "CDT GCC Built-in Compiler Settings MinGW" and add " -std=c++14" to the command line. Then rebuild the index a few times.
Posted By: Squash

Re: Can't compile latest MESS? READ THIS THREAD - 03/10/16 10:40 PM

What is the oldest Visual Studio that can build and debug MAME?

VS2010? VS2013?
Posted By: Edstrom

Re: Can't compile latest MESS? READ THIS THREAD - 03/10/16 11:30 PM

Just got a couple of wierd freezes when running the latest GIT on Ubuntu 14.04, it hogs almost all CPU and sometimes it just freezes the whole window system and I had to reboot once as well. I have tried both a new driver and an old known good single driver build and both has worked like a charm up until now.

Mingw under Win-7 compiles and runs the same drivers nicely, however the load and start up time is about 30 seconds now which is like 3-5 times longer than before.

Both are 64bit and I just add the -debug and -window flags at the command lines. EDIT: Ubuntu is running on an ASUS K52J laptop, Intel Core i5 - 480M @ 2.88Ghz, 4Gb RAM and an AMD Radeon HD 6370M. Mingw runs on a newer DELL laptop with a Core i7 and same or better of the rest.

I'll check the full build now.
Posted By: Edstrom

Re: Can't compile latest MESS? READ THIS THREAD - 03/11/16 08:01 AM

Yep, even make SUBTARGET=mess DEBUG=1 REGENIE=1 after a make clean creates a binary, started with './mess64d -debug -window' that will freeze the Ubuntu 14.04 window system when quitting from the debugger in one of my known working driver sessions chosen from the new internal UI. I even had to chicken out via a virtual terminal by Ctl-Alt-Del.

Is it the new UI on Ubuntu that I should avoid and how so? (I just realized that this is probably the wrong thread, sorry...)
Posted By: Vas Crabb

Re: Can't compile latest MESS? READ THIS THREAD - 03/11/16 09:47 AM

Originally Posted By Squash
What is the oldest Visual Studio that can build and debug MAME?


You really need VS2015 for adequate C++14 support.
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 03/11/16 12:34 PM

And conveniently, VS2015 is the first version where you can get a full-flavor copy for free.
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 03/11/16 10:37 PM

Having trouble compiling on Ubuntu with the following commandline:

Code:
make -j9 PTR64=1 NOWERROR=1 USE_NETWORK=1 sse4=1 TOOLS=1


I get the following:

Code:
../../../../generated/osd/modules/debugger/qt/windowqt.moc.cpp:13:2: error: #error "This file was generated using the moc from 4.8.6. It"
 #error "This file was generated using the moc from 4.8.6. It"
  ^
../../../../generated/osd/modules/debugger/qt/windowqt.moc.cpp:14:2: error: #error "cannot be used with the include files from this version of Qt."
 #error "cannot be used with the include files from this version of Qt."
  ^
../../../../generated/osd/modules/debugger/qt/windowqt.moc.cpp:15:2: error: #error "(The moc has changed too much.)"
 #error "(The moc has changed too much.)"
  ^
Compiling src/lib/util/unzip.cpp...
../../../../generated/osd/modules/debugger/qt/debuggerview.moc.cpp:13:2: error: #error "This file was generated using the moc from 4.8.6. It"
 #error "This file was generated using the moc from 4.8.6. It"
  ^
../../../../generated/osd/modules/debugger/qt/debuggerview.moc.cpp:14:2: error: #error "cannot be used with the include files from this version of Qt."
 #error "cannot be used with the include files from this version of Qt."
  ^
../../../../generated/osd/modules/debugger/qt/debuggerview.moc.cpp:15:2: error: #error "(The moc has changed too much.)"
 #error "(The moc has changed too much.)"


Any ideas on how to fix this?
Posted By: arcadefan

Re: Can't compile latest MESS? READ THIS THREAD - 03/12/16 12:32 AM

Nevermind. I figured out the problem after. Adding QT_SELECT=5 to the commandline fixed it.
Posted By: Squash

Re: Can't compile latest MESS? READ THIS THREAD - 03/13/16 11:26 PM

forget about it
Posted By: Squash

Re: Can't compile latest MESS? READ THIS THREAD - 03/13/16 11:27 PM

forget about it
Posted By: rfka01

Re: Can't compile latest MESS? READ THIS THREAD - 04/03/16 10:03 AM

For me the update in the MSYS64 build tools isn't working ... there was something about it in the shoutbox yesterday that had half scrolled off by the time I saw it.

I'm using the Feb 16 archive, set up as described on http://mamedev.org/tools/

When I try to update via "pacman -Syu", the new packages are downloaded, but I get the following error on many modules befor the update simply dies

Code:
      61 [main] pacman (520) C:\msys64\usr\bin\pacman.exe: *** fatal error - cygheap base mismatch detected - 0x180326400/0x180330400.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.
54468701 [main] pacman 6020 fork: child -1 - forked process 520 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
Fehler: Konnte keinen neuen Prozess starten (Resource temporarily unavailable)


There is no other CYGWIN on my machine, and MSYS64 sits in standard c:\msys64

On a different note ... despite being on a fast machine, building all those layout files takes quite a while ... RB mentioned over on MW that
Quote:
All of the layout files (and all of the disk/tape format files) compile regardless of what the actual target is. That's a choice Micko made, because it doesn't generally take long to build those.
... Micko, if it's not too much of a hassle, it would be great if only the relevant layout files, e.g. on single machine builds, would get compiled.
Posted By: qmc2

Re: Can't compile latest MESS? READ THIS THREAD - 04/03/16 10:10 AM

Last time I updated I used "update-core" before the pacman / package update. This worked just fine.
Posted By: rfka01

Re: Can't compile latest MESS? READ THIS THREAD - 04/03/16 10:23 AM

That did the trick, thanks!

Edith says: Almost ... With the updated compile tools, my AV (Avast) complains about collect2.exe being FileRep malware ...
Posted By: remax

Re: Can't compile latest MESS? READ THIS THREAD - 04/04/16 02:15 PM

Originally Posted By qmc2
Last time I updated I used "update-core" before the pacman / package update. This worked just fine.


Wow yeah... had to do the same.

Update was quite tedious this time...
Posted By: mizapf

Re: Can't compile latest MESS? READ THIS THREAD - 04/12/16 10:38 AM

For your information, I attempted to build MAME 0.172 on freshly installed Ubuntu and openSUSE Linux. The typical problem is that new people fail at building because they do not find out what packages to install, while those who are already doing builds for a longer time just don't remember what packages they installed in the past.

Packages to install for Ubuntu (15.10):

Code:
git
qt5-default
libsdl2-ttf-dev 
libfontconfig1-dev


Packages to install for openSUSE (42.1 LEAP)

Code:
git-core
gcc5-c++ 
libqt5-qtbase-devel
xorg-x11-devel
alsa-devel
libSDL2_ttf-devel


More packages are automatically pulled in by the dependencies resolution.
Posted By: MikeAbson

Re: Can't compile latest MESS? READ THIS THREAD - 04/15/16 11:55 AM

Not having much luck here. Same error since last Saturday actually. I'm on Windows 7 64-bit. Error occurs after updating to the latest source. I'm also getting a similar error about 3/4 of the way through. If I type make -j6 again it seems to continue on until it tries to link the MAME exe.

GCC 5.3.0 detected
Linking mame64.exe...
../../../../mingw-gcc/bin/x64/Release/libocore_windows.a(osdlib_win32.o):osdlib_
win32.cpp:(.text+0x160): multiple definition of `osd_get_clipboard_text()'
../../../../mingw-gcc/bin/x64/Release/libocore_windows.a(winclip.o):winclip.cpp:
(.text+0x0): first defined here
../../../../mingw-gcc/bin/x64/Release/lib7z.a(7zIn.o):7zIn.c:(.text+0xe59): unde
fined reference to `SzFolder_Decode'
../../../../mingw-gcc/bin/x64/Release/lib7z.a(7zIn.o):7zIn.c:(.text+0x18bb): und
efined reference to `SzFolder_Decode'
collect2.exe: error: ld returned 1 exit status
mame.make:234: recipe for target '../../../../../mame64.exe' failed
make[2]: *** [../../../../../mame64.exe] Error 1
makefile:946: recipe for target 'mame' failed
make[1]: *** [mame] Error 2
makefile:900: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2
Posted By: Vas Crabb

Re: Can't compile latest MESS? READ THIS THREAD - 04/15/16 12:03 PM

Nuke all .a files under the build directory - you haven't done a clean build since stuff was moved around (or delete the build directory altogether).
Posted By: Bavarese

Re: Can't compile latest MESS? READ THIS THREAD - 06/15/16 02:07 PM

EDIT: PROBLEM SOLVED

Apply green sections. cool

---- (problem description) :
Visual Studio 2015 SP2 doesn't (on Windows 10).
GIT source from June 15th.

I get syntax errors after "Typedefs for dynamically loaded functions" (lines below). A MINGW64 build works!

File:
\src\mame\src\osd\modules\diagnostics\diagnostics_win32.cpp

(line 31+), all with syntax errors:
typedef BOOL WINAPI (*StackWalk64_fn)(DWORD, HANDLE, HANDLE, LPSTACKFRAME64, PVOID, PREAD_PROCESS_MEMORY_ROUTINE64, PFUNCTION_TABLE_ACCESS_ROUTINE64, PGET_MODULE_BASE_ROUTINE64, PTRANSLATE_ADDRESS_ROUTINE64);
typedef BOOL WINAPI (*SymInitialize_fn)(HANDLE, LPCTSTR, BOOL);
typedef PVOID WINAPI (*SymFunctionTableAccess64_fn)(HANDLE, DWORD64);
typedef DWORD64 WINAPI (*SymGetModuleBase64_fn)(HANDLE, DWORD64);
typedef BOOL WINAPI (*SymFromAddr_fn)(HANDLE, DWORD64, PDWORD64, PSYMBOL_INFO);
typedef BOOL WINAPI (*SymGetLineFromAddr64_fn)(HANDLE, DWORD64, PDWORD, PIMAGEHLP_LINE64);
typedef PIMAGE_SECTION_HEADER WINAPI (*ImageRvaToSection_fn)(PIMAGE_NT_HEADERS, PVOID, ULONG);
typedef PIMAGE_NT_HEADERS WINAPI (*ImageNtHeader_fn)(PVOID);
typedef VOID WINAPI (*RtlCaptureContext_fn)(PCONTEXT);
Posted By: Bavarese

Re: Can't compile latest MESS? READ THIS THREAD - 06/16/16 08:01 AM

If you were affected by the changes from yesterday (June 15th; see last post), you will also need a second patch to avoid an assert in XAUDIO2 at startup.

Link and description:

"Add WINAPI to other needed functions for stdcall calling convention on 32-bit"

http://git.redump.net/mame/commit/?id=9f214108eb78991227595a5b3e9080b90a16ac09
Code:
/src/osd/modules/sound/xaudio2_sound.cpp
/src/osd/modules/font/font_dwrite.cpp
/src/osd/modules/input/input_xinput.h
/src/osd/modules/render/d3d/d3dhlsl.h
/src/osd/modules/render/drawd3d.cpp
Posted By: R. Belmont

Re: Can't compile latest MESS? READ THIS THREAD - 06/16/16 12:03 PM

Of course, if you're running 32-bit you're giving away 20% performance for no reason smile
Posted By: Edstrom

Re: Can't compile latest MESS? READ THIS THREAD - 07/09/16 03:41 PM

I get this compilation error under mingw on Win64 and I can't get rid of it even when I remove the build catalog and do make 'clean'. I just do
Code:
$ rm -rf build
$ make clean
$ make

And then I get:
Code:
Compiling src/osd/modules/render/d3d/d3dhlsl.cpp...                                                                                       
../../../../../src/osd/modules/render/d3d/d3dhlsl.cpp: In member function 'void movie_recorder::record()':                                
../../../../../src/osd/modules/render/d3d/d3dhlsl.cpp:96:24: error: no matching function for call to 'avi_write::record()'                
   m_avi_writer->record();                                                                                                                
                        ^                                                                                                                 
In file included from ../../../../../src/osd/modules/render/d3d/d3dhlsl.cpp:22:0:                                                         
../../../../../src/osd/modules/render/aviwrite.h:25:7: note: candidate: void avi_write::record(const char*)                               
  void record(const char *name);                                                                                                          
       ^                                                                                                                                  
../../../../../src/osd/modules/render/aviwrite.h:25:7: note:   candidate expects 1 argument, 0 provided                                   
osd_windows.make:1315: recipe for target '../../../../mingw-gcc/obj/x64/Release/osd_windows/src/osd/modules/render/d3d/d3dhlsl.o' failed  
make[2]: *** [../../../../mingw-gcc/obj/x64/Release/osd_windows/src/osd/modules/render/d3d/d3dhlsl.o] Error 1                             
makefile:19: recipe for target 'osd_windows' failed                                                                                       
make[1]: *** [osd_windows] Error 2                                                                                                        
makefile:947: recipe for target 'windows_x64' failed                                                                                      
make: *** [windows_x64] Error 2                                                                                                           
Posted By: Robbbert

Re: Can't compile latest MESS? READ THIS THREAD - 07/10/16 02:05 AM

works for me...

'rm' is an unknown command on my system. Perhaps you could try 'rd /s/q build' instead.
Posted By: Edstrom

Re: Can't compile latest MESS? READ THIS THREAD - 07/11/16 07:08 AM

I checked out an earlier SHA at 0175+ somewhere and there it works fine. I haven't had the time to track down exact where the problem started, it seems to be a clean build that is the problem and changes has been made in both build system and around the avi recorder. I suspect a missing dependency of some sort
Posted By: xinyingho

Re: Can't compile latest MESS? READ THIS THREAD - 07/25/16 06:01 PM

I'm trying to compile MAME (master branch as of today) with Visual Studio 2015 Update 3 on Windows 10/64-bit.

I've downloaded the official MingW pack and launched "make vs2015 PYTHON_EXECUTABLE=c:/msys64/mingw64/bin/python.exe" to generate the default VS project file. Then I launched mame.vln, changed the config to Debug/x64, and ran Build.

The build command always raised this error:
LNK1210 exceeded internal ILK size limit; link with /INCREMENTAL:NO

Is there a way to fix this?

Edit: I don't get this error when selecting Debug/Win32. It shouldn't be a RAM issue as I have 16 GB of RAM on my computer. But then I don't know how to raise the internal ILK size limit.
Posted By: Breiztiger

Re: Can't compile latest MESS? READ THIS THREAD - 09/21/16 02:26 PM

hi

i get that error with last svn when i try to build it

1 [main] make (1544) S:\msys64\usr\bin\make.exe: *** fatal error - cygheap base mismatch detected - 0x1802FE408/0xE5E408.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version. The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution. Rebooting is also suggested if you
are unable to find another cygwin DLL.
2 [main] make 1572 fork: child -1 - forked process 1544 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
make: fork: Resource temporarily unavailable
make: *** Waiting for unfinished jobs....

i have made a good build on 15 september

what can i modify to succes building mame again ?

thanks in advance
Posted By: Breiztiger

Re: Can't compile latest MESS? READ THIS THREAD - 01/05/17 05:38 PM

hi

another error with gcc 6.2

In file included from S:/src/mame/3rdparty/bx/include/bx/simd_t.h:364:0,
from S:/src/mame/3rdparty/bx/include/bx/float4x4_t.h:9,
from S:/src/mame/3rdparty/bgfx/src/bgfx_p.h:129,
from ../../../../../3rdparty/bgfx/src/bgfx.cpp:13:
S:/src/mame/3rdparty/bx/include/bx/simd256_avx.inl:41:23: error: 'simd256_avx_t_t' does not name a type
BX_SIMD_FORCE_INLINE simd256_avx_t_t simd_splat(float _a)
^~~~~~~~~~~~~~~
S:/src/mame/3rdparty/bx/include/bx/simd256_avx.inl:47:23: error: 'simd256_avx_t_t' does not name a type
BX_SIMD_FORCE_INLINE simd256_avx_t_t simd_isplat(uint32_t _a)
^~~~~~~~~~~~~~~
S:/src/mame/3rdparty/bx/include/bx/simd256_avx.inl:56:23: error: 'simd256_avx_t_t' does not name a type
BX_SIMD_FORCE_INLINE simd256_avx_t_t simd_itof(simd256_avx_t_t _a)
^~~~~~~~~~~~~~~
S:/src/mame/3rdparty/bx/include/bx/simd256_avx.inl:65:23: error: 'simd256_avx_t_t' does not name a type
BX_SIMD_FORCE_INLINE simd256_avx_t_t simd_ftoi(simd256_avx_t_t _a)
^~~~~~~~~~~~~~~

last good build i've made from 01/01/2017

i use this for option
set _OptCompil=TOOLS=1 OPTIMIZE=3 -j6 USE_NETWORK=1 ARCHOPTS="-march=native -msse4.2"

thanks in advance
Posted By: Breiztiger

Re: Can't compile latest MESS? READ THIS THREAD - 01/06/17 08:10 AM

hi

with only TOOLS=1 in compil option gcc build lastest sources

sorry
Posted By: rfka01

Re: Can't compile latest MAME? READ THIS THREAD - 03/27/17 12:46 PM

I've registered my driver "mfabfz" in mame.lst, mess.lua and mess.flt. The driver compiles fine, but I get the following linking error:

Code
GCC 6.3.0 detected
Linking mess64.exe...
../../../../mingw-gcc/obj/x64/Release/generated/mame/mess/drivlist.o:drivlist.cpp:(.rdata+0x2a60): undefined reference to `driver_mfabfz'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [mess.make:253: ../../../../../mess64.exe] Fehler 1
make[1]: *** [Makefile:733: mess] Fehler 2
make: *** [makefile:994: windows_x64] Fehler 2


Where else do I have to make my new driver known?
Posted By: R. Belmont

Re: Can't compile latest MAME? READ THIS THREAD - 03/27/17 12:55 PM

Did you make with REGENIE=1?
Posted By: rfka01

Re: Can't compile latest MAME? READ THIS THREAD - 03/27/17 01:13 PM

Just tried - yes, same error. I'm making a clean compilation run now and will report back.

Edit: I get the same error after a "make clean" and despite REGENIE=1.
Posted By: Duke

Re: Can't compile latest MAME? READ THIS THREAD - 03/27/17 01:51 PM

Can you paste a diff for those files?
Posted By: Vas Crabb

Re: Can't compile latest MAME? READ THIS THREAD - 03/28/17 01:26 AM

You have to add the sources to the appropriate lua file or it won't compile/link them.
Posted By: rfka01

Re: Can't compile latest MAME? READ THIS THREAD - 03/28/17 06:08 AM

This is the driver I'm toying with ... I hope that a kind soul will scrap that completely and make a nice bus/card system for the MFA smile

mfabfz.cpp

I've added the entries


Code
createMESSProjects(_target, _subtarget, "mfa")
files {
	MAME_DIR .. "src/mame/drivers/mfabfz.cpp",
}


to mess.lua
Code
@source:mfabfz.cpp
mfabfz                          // (c) 1982 Berufsfoerderungszentrum Essen


to mame.lst

and

Code
mfabfz.cpp


to mess.flt

Then I've compiled with REGENIE=1

The driver file gets compiled, but after that every attempt to get it linked results in

Code
Linking mess64.exe...                           
../../../../mingw-gcc/obj/x64/Release/generated/
z'                                              
collect2.exe: error: ld returned 1 exit status  
make[2]: *** [mess.make:253: ../../../../../mess
make[1]: *** [Makefile:733: mess] Fehler 2      
make: *** [makefile:994: windows_x64] Fehler 2  
Posted By: Duke

Re: Can't compile latest MAME? READ THIS THREAD - 03/28/17 07:26 AM

You forgot to add it to the linkProjects_mame_mess function.
Posted By: rfka01

Re: Can't compile latest MAME? READ THIS THREAD - 03/29/17 03:01 PM

Thanks, Duke.
I added it but it looks like the problem is still with my cobbled together driver file, although the compilation pass finishes.
Posted By: Breiztiger

Re: Can't compile latest MAME? READ THIS THREAD - 05/17/17 02:04 PM

hi

just for info

with my old gcc 6.2 mame does'nt compil anymore

just update to gcc 6.3 and it's ok !!!
Posted By: Robbbert

Re: Can't compile latest MAME? READ THIS THREAD - 05/17/17 03:30 PM

Still works with 5.3.0
Posted By: EoceneMiacid

Re: Can't compile latest MAME? READ THIS THREAD - 05/31/17 08:44 AM

Originally Posted by Breiztiger
hi

just for info

with my old gcc 6.2 mame does'nt compil anymore

just update to gcc 6.3 and it's ok !!!


Yeah i'm running into problems with 6.2 as well

How did you update to 6.3? I'm on a custom Kubuntu derivative and I can't find a working repository.
Not looking forward to compiling GCC first smirk
Posted By: Vas Crabb

Re: Can't compile latest MAME? READ THIS THREAD - 05/31/17 09:23 AM

Originally Posted by EoceneMiacid
How did you update to 6.3? I'm on a custom Kubuntu derivative and I can't find a working repository.
Not looking forward to compiling GCC first smirk


It's not actually GCC that's the problem, it's the libstdc++ headers, so if you build a new GCC you need to make it build against an updated libstdc++ or it won't solve anything. It's pretty easy to build GCC and make it install to an alternate path. Just add something like this to whatever other configure options you need:

Code
--prefix=/opt/gcc63 --mandir=/opt/gcc63/share/man --infodir=/opt/gcc63/share/info


Then put options like this in useroptions.mak for MAME:

Code
OVERRIDE_CC=/opt/gcc63/bin/gcc
OVERRIDE_CXX=/opt/gcc63/bin/g++
ARCHOPTS=-Wl,-R,/opt/gcc63/lib64
Posted By: EoceneMiacid

Re: Can't compile latest MAME? READ THIS THREAD - 05/31/17 01:28 PM

Vas to the rescue! Indeed all that needed to be done was update libstdc++ and then a make clean.

Thanks!
Posted By: mizapf

Re: Can't compile latest MAME? READ THIS THREAD - 06/28/17 06:14 PM

Since I usually only work in Linux, gcc/clang is the typical tool chain for me. However, I consider to build mame binaries (for a subset of drivers) for Windows also. So I tried Visual Studio ... for the first time, following http://wiki.mamedev.org/index.php/Building_MAME_using_Microsoft_Visual_Studio_compilers

On that path, I found some points that are unclear to me.

  • Once you've done that, simply run: make ...

make is not found in the plain cmd. I suppose I have to run win32env.bat in msys64 first, then go to the mame folder.

  • Browse to folder containing solution file and open it with Visual Studio

I have no idea what a solution file is; sorry, utter newbie, as I said. Google said these are files with suffix .sln, so I searched the mame folder for such a file and got 24 of them. The one that sounds most promising, mame.sln, is located in a deep subdirectory (C:\prg\mame\build\projects\windows\mame\vs2015); is that the one to be opened?
Posted By: R. Belmont

Re: Can't compile latest MAME? READ THIS THREAD - 06/28/17 06:39 PM

Yes, that's the one to open. It *is* created super-deep; this is not uncommon for tool-generated Visual Studio SLNs.
Posted By: mizapf

Re: Can't compile latest MAME? READ THIS THREAD - 06/29/17 09:29 AM

Mmm ... still getting lots of error output ... I'll have to dig deeper.

For the time being, why not simply compile with mingw gcc? Assuming that I don't want to do debugging, just create a tailored image for the typical user?

I remember that some days ago the howto for mingw was still there, now there is only the VS topic.
Posted By: qmc2

Re: Can't compile latest MAME? READ THIS THREAD - 06/29/17 11:16 AM

Originally Posted by mizapf
  • Once you've done that, simply run: make ...

make is not found in the plain cmd. I suppose I have to run win32env.bat in msys64 first, then go to the mame folder.

I think it's "nmake" what the author meant. Should be changed in the wiki I suppose.
Posted By: Vas Crabb

Re: Can't compile latest MAME? READ THIS THREAD - 06/29/17 11:11 PM

Originally Posted by qmc2
Originally Posted by mizapf
  • Once you've done that, simply run: make ...

make is not found in the plain cmd. I suppose I have to run win32env.bat in msys64 first, then go to the mame folder.

I think it's "nmake" what the author meant. Should be changed in the wiki I suppose.

No, it's not nmake - you need to have gnu make in your path. The make command generates the solution and project files for Visual Studio. Once you've done that, you can open the solution in Visual Studio or build it with msbuild. We don't use nmake.
Posted By: R. Belmont

Re: Can't compile latest MAME? READ THIS THREAD - 06/30/17 12:00 AM

I compiled correctly on a Windows machine recently using "make vs2015" and VS2017 with the 2015 toolchain installed as an option (it asks during install). If you're using real VS2015, make sure you have SP3 installed - they fixed a lot of C++ compliance in the compiler between GM and SP3.
Posted By: mizapf

Re: Can't compile latest MAME? READ THIS THREAD - 06/30/17 07:39 AM

OK then, I'll try. Still, I'd suggest someone have a look at the Developers Wiki entry and make it fool-proof (for fools like me :-) ). If you are not experienced with Visual Studio, this may be a bit too terse right now.

There's still my question from above: I understand that VS produced somewhat better output, but just for the purpose of building a small MAME version with only a few drivers and to offer it for downloading, would the traditional MinGW / gcc toolchain still work, or it that generally discouraged?
Posted By: Vas Crabb

Re: Can't compile latest MAME? READ THIS THREAD - 06/30/17 07:51 AM

Visual Studio has better i386 code generation and the debugging tools tend to be better than GDB on Windows. GCC compiles a lot faster and has better x86-64 code generation. We recommend using MinGW GCC to build binaries for distribution to ensure they behave more like standard MAME releases.

If you're planning to release binaries, we recommend you build using the same flags we use for binary releases. You can see the options used in build-release.bat in the build repository. Currently the they are (the only difference: difference between the lines is the PTR64 setting):

Code
make TARGET=mame TOOLS=1 SEPARATE_BIN=1 PTR64=0 OPTIMIZE=3 SYMBOLS=1 SYMLEVEL=1 REGENIE=1 -j9
make TARGET=mame TOOLS=1 SEPARATE_BIN=1 PTR64=1 OPTIMIZE=3 SYMBOLS=1 SYMLEVEL=1 REGENIE=1 -j9


If you're building with a subset of drivers, do something like:

Code
make TARGET=mame SUBTARGET=subset SOURCES=src/mame/drivers/mydriver.cpp TOOLS=1 SEPARATE_BIN=1 PTR64=0 OPTIMIZE=3 SYMBOLS=1 SYMLEVEL=1 REGENIE=1 -j9
make TARGET=mame SUBTARGET=subset SOURCES=src/mame/drivers/mydriver.cpp TOOLS=1 SEPARATE_BIN=1 PTR64=1 OPTIMIZE=3 SYMBOLS=1 SYMLEVEL=1 REGENIE=1 -j9


(Note that you can't actually run the two commands in direct succession on Windows - you need to switch environments between doing 32-bit and 64-bit builds.)
Posted By: mizapf

Re: Can't compile latest MAME? READ THIS THREAD - 06/30/17 09:21 AM

Yes, thanks, I'm doing small builds with gcc under Linux for some time already, so this looks familiar. I'm not using TARGET and SUBTARGET, though - are those important when I have SOURCES?
Posted By: Vas Crabb

Re: Can't compile latest MAME? READ THIS THREAD - 06/30/17 09:53 AM

TARGET defaults to MAME. If you're doing multiple builds with different combinations of drivers it helps to use different SUBTARGET so they don't overwrite each other. It's also useful to give it a different SUBTARGET name to make it obvious that it isn't a full MAME build (even if the small size implies that). If you're setting SOURCES, you can make up any SUBTARGET and it will generate rules to build the executable with that name.
Posted By: Luigi30

Re: Can't compile latest MAME? READ THIS THREAD - 09/03/17 06:22 PM

I'm trying to compile the latest MAME on Windows 10 with mingw. I get a Lua error:

Code
Luigi@Luigi-PC MSYS /c/mame
$ make SOURCES=src/mame/drivers/atarisy1.cpp REGENIE=1
GCC 6.3.0 detected
[string "function os.executef(cmd, ...)..."]:167: 'popen' not supported
stack traceback:
        [C]: in function 'io.popen'
        [string "function os.executef(cmd, ...)..."]:167: in function 'os.outputof'
        c:/mame/scripts/genie.lua:1335: in main chunk
        [C]: in upvalue 'builtin_dofile'
        [string "premake = { }..."]:84: in function 'dofile'
        [string "_WORKING_DIR        = os.getcwd()..."]:45: in function '_premake_main'
make: *** [makefile:986: build/projects/windows/mame/gmake-mingw64-gcc/Makefile] Error 1
Posted By: rfka01

Re: Can't compile latest MAME? READ THIS THREAD - 09/28/17 08:44 PM

Bit of a head scratcher here, this is on an i7-4790K (four physical cores), 16GB and a dedicated fast SSD, on Windows 10

MAME compilation for some time has become very slow, over 1h for a SUBTARGET=MESS build with -j9

The build environment is MSYS64 from the current tools. If you look at the statistics for the eight virtual cores, they're all busy but maybe at 10-20% maximum.

Now I have kept an old set of build tools that was manually updated from the 2016 archive ... I tried that today, and all virtual cores are at roughly 90%, the same build is done in just over 20min.

What's happening here?
Posted By: Haze

Re: Can't compile latest MAME? READ THIS THREAD - 09/28/17 08:47 PM

unrelated, but I don't recommend using an SSD drive for compilation, you'll smash the write limit on them very quickly and end up with a dead SSD, compiling is very I/O intensive.

Posted By: Duke

Re: Can't compile latest MAME? READ THIS THREAD - 09/29/17 08:38 AM

That might have been true for very old SSDs, but it's really a non-issue now. Even the cheap ones support writing terabytes of data. I don't even have a traditional HDD in my system anymore.
Posted By: arcadefan

Re: Can't compile latest MAME? READ THIS THREAD - 06/05/18 03:49 PM

having some trouble compiling the latest build from git. Part way through I get this:

Code
mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ar.exe: unable to rename '../../../../mingw-gcc/bin/x64/Release/mame_mame/libie15.a'; reason: File exists
ie15.make:265: recipe for target '../../../../mingw-gcc/bin/x64/Release/mame_mame/libie15.a' failed
make[2]: *** [../../../../mingw-gcc/bin/x64/Release/mame_mame/libie15.a] Error 1
Posted By: R. Belmont

Re: Can't compile latest MAME? READ THIS THREAD - 06/05/18 11:21 PM

Try a make clean and a re-make. It sounds like a file got stuck somehow.
Posted By: arcadefan

Re: Can't compile latest MAME? READ THIS THREAD - 06/06/18 01:20 PM

Just tried that and I get the same error but at a different spot.

Code
4/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ar.exe: unable to rename '../Archiving libvsystem.a...
Compiling src/mame/video/crt.cpp...
../../../mingw-gcc/bin/x64/Release/mame_mame/libmicrokey.a'; reason: File exists
microkey.make:279: recipe for target '../../../../mingw-gcc/bin/x64/Release/mame_mame/libmicrokey.a' failed
make[2]: *** [../../../../mingw-gcc/bin/x64/Release/mame_mame/libmicrokey.a] Error 1
makefile:724: recipe for target 'microkey' failed
make[1]: *** [microkey] Error 2
Compiling src/mame/drivers/gts3a.cpp...
make[1]: *** Waiting for unfinished jobs....


I used the following commandline:

Code
[MINGW64] C:\msys64\home\mfora\mame>make -j9 avx2=1 NOWERROR=1 USE_NETWORK=1 TOOLS=1 ARCHOPTS=-march=native
Posted By: R. Belmont

Re: Can't compile latest MAME? READ THIS THREAD - 06/06/18 01:48 PM

Try turning down the j9 to j5 or something. It seems like something in your system doesn't like the full stress.
Posted By: arcadefan

Re: Can't compile latest MAME? READ THIS THREAD - 06/06/18 02:37 PM

Nope still doesn't like that

Code
Archiving libflac.a...
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ar.exe: unable to rename '../../../../minCompiling src/osd/windows/winutil.cpp...
gw-gcc/bin/x64/Release/libflac.a'; reason: File exists
flac.make:319: recipe for target '../../../../mingw-gcc/bin/x64/Release/libflac.a' failed
make[2]: *** [../../../../mingw-gcc/bin/x64/Release/libflac.a] Error 1
makefile:52: recipe for target 'flac' failed
make[1]: *** [flac] Error 2
make[1]: *** Waiting for unfinished jobs....
Posted By: Duke

Re: Can't compile latest MAME? READ THIS THREAD - 06/06/18 02:49 PM

Maybe your anti-virus is interfering.
Posted By: R. Belmont

Re: Can't compile latest MAME? READ THIS THREAD - 06/06/18 02:54 PM

Ooh, yeah, I forgot about that. Set your AV to exclude the MAME tree.
Posted By: arcadefan

Re: Can't compile latest MAME? READ THIS THREAD - 06/06/18 03:19 PM

Still Nothing

Code
C:/msyCompiling src/mame/audio/jedi.cpp...
s64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ar.exe: unable to rename '../../../../mingw-gcc/bin/x64/Release/mame_mame/libbaCompiling src/mame/machine/lisa.cpp...
lly.a'; reason: File exiCompiling src/mame/audio/wswan.cpp...
stCompiling src/mame/audio/llander.cpp...
s
Archiving libbanctec.a...
bally.make:265: recipe for target '../../../../mingw-gcc/bin/x64/Release/mame_mame/libbally.a' failed
make[2]: *** [../../../../mingw-gcc/bin/x64/Release/mame_mame/libbally.a] Error 1
makefile:463: recipe for target 'bally' failed
make[1]: *** [bally] Error 2
make[1]: *** Waiting for unfinished jobs....
Posted By: crazyc

Re: Can't compile latest MAME? READ THIS THREAD - 06/06/18 03:34 PM

This happens to me a lot. Just run the compile again and it'll start from where it stopped and finish successfully.
Posted By: arcadefan

Re: Can't compile latest MAME? READ THIS THREAD - 06/06/18 05:25 PM

Perfect! Just had to run it another couple of times and it finally finished successfully. Thanks! smile
Posted By: Tafoid

Re: Can't compile latest MAME? READ THIS THREAD - 06/06/18 07:54 PM

Just as a reminder, add -k to your make string which will compile everything except what doesn't compile. If you have that happen again, your reattempt will be much shorter as most of the source will be compiled.
Posted By: robcfg

Re: Can't compile latest MAME? READ THIS THREAD - 09/27/18 05:26 PM

Hi,

I'm trying to compile 0.202 on OSX El Capitan 10.11.6 and I get the following error when running make:

Quote
Compiling src/mame/drivers/alpha68k.cpp...
In file included from ../../../../../src/mame/drivers/alpha68k.cpp:1:
In file included from ../../../../../src/emu/emu.h:104:
/Users/herrrober/Projects/mame0202/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/devcb.h:1258:12: error:
'consume' is a protected member of 'devcb_write<unsigned char, '\xFF'>::builder_base'
{ m_sink.consume(); }
^
/Users/herrrober/Projects/mame0202/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/devcb.h:1497:11: note:
in instantiation of function template specialization 'devcb_write<unsigned char,
'\xFF'>::first_transform_builder<devcb_write<unsigned char,
'\xFF'>::delegate_builder<device_delegate<void (address_space &, unsigned int, unsigned char,
unsigned char)> >::wrapped_builder, (lambda at
/Users/herrrober/Projects/mame0202/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/devcb.h:255:52)>::first_transform_builder<(lambda
at
/Users/herrrober/Projects/mame0202/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/devcb.h:255:52)>'
requested here
return first_transform_builder<wrapped_builder, std::remove_reference...
^
/Users/herrrober/Projects/mame0202/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/devcb.h:255:42: note:
in instantiation of function template specialization 'devcb_write<unsigned char,
'\xFF'>::delegate_builder<device_delegate<void (address_space &, unsigned int, unsigned char,
unsigned char)> >::transform<(lambda at
/Users/herrrober/Projects/mame0202/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/devcb.h:255:52)>'
requested here
auto trans(static_cast<Impl &>(*this).transform([val] (offs_t offset...
^
/Users/herrrober/Projects/mame0202/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/devcb.h:1142:8: note:
declared protected here
void consume() { m_consumed = true; }
^
/Users/herrrober/Projects/mame0202/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/devcb.h:1267:11: error:
'consume' is a protected member of 'devcb_write<unsigned char, '\xFF'>::builder_base'
m_sink.consume();
^
/Users/herrrober/Projects/mame0202/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/devcb.h:255:9: note:
in instantiation of member function 'devcb_write<unsigned char,
'\xFF'>::first_transform_builder<devcb_write<unsigned char,
'\xFF'>::delegate_builder<device_delegate<void (address_space &, unsigned int, unsigned char,
unsigned char)> >::wrapped_builder, (lambda at
/Users/herrrober/Projects/mame0202/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/devcb.h:255:52)>::first_transform_builder'
requested here
auto trans(static_cast<Impl &>(*this).transform([val] (offs_t offset...
^
/Users/herrrober/Projects/mame0202/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/devcb.h:1142:8: note:
declared protected here
void consume() { m_consumed = true; }
^
2 errors generated.
make[2]: *** [../../../../osx_clang/obj/x64/Release/src/mame/drivers/alpha68k.o] Error 1
make[1]: *** [alpha] Error 2
make: *** [macosx_x64_clang] Error 2


My version of Clang is as follows:
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin15.6.0
Thread model: posix

I don't remember having to do anything special to make it work on previous releases, but if that has changed, could you give a pointer on what to do?

Thanks and keep up the good work!
Posted By: Robbbert

Re: Can't compile latest MAME? READ THIS THREAD - 09/28/18 12:02 AM

I believe you have to make

void consume() { m_consumed = true; }

public instead of protected.

I think there's an official way instead of just modifying the file, but you'd have to ask cuavas as it's his code.
Posted By: robcfg

Re: Can't compile latest MAME? READ THIS THREAD - 05/01/19 09:36 AM

On devcb.h , you can find this code:
Code
//**************************************************************************
//  DETECT PROBLEMATIC COMPILERS
//**************************************************************************

#if defined(__GNUC__) && !defined(__clang__)
#if __GNUC__ >= 8
#define MAME_DEVCB_GNUC_BROKEN_FRIEND 1
#endif // __GNUC__ >= 8
#endif // defined(__GNUC__) && !defined(__clang__)


As the compiler identifies as Clang, this code is not triggered.

For now, just adding:
Code
#define MAME_DEVCB_GNUC_BROKEN_FRIEND 1

after the previous code, will make MAME compile.

At least until this point:
Code
Objective-C compiling 3rdparty/bgfx/src/renderer_mtl.mm...
In file included from ../../../../../3rdparty/bgfx/src/renderer_mtl.mm:10:
../../../../../3rdparty/bgfx/src/renderer_mtl.h:365:12: error: instance method '-setLabel:' not found
      (return type defaults to 'id') [-Werror,-Wobjc-method-access]
                                [m_obj setLabel:@(_label)];
Posted By: Shoegazer

Re: Can't compile latest MAME? READ THIS THREAD - 06/28/19 06:38 PM

Hello, under linux and GCC 8, compilation of MAME 0.211 fails with the following message:

Code
In function ‘char* strcat(char*, const char*)’,
    inlined from ‘void nubus_image_device::file_cmd_w(address_space&, offs_t, u32, u32)’ at ../../../../../src/devices/bus/nubus/nubus_image.cpp:262:10:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:128:33: error: ‘char* __builtin___strcat_chk(char*, const char*, long unsigned int)’ accessing 129 or more bytes at offsets 1028 and 900 may overlap 1 byte at offset 1028 [-Werror=restrict]
   return __builtin___strcat_chk (__dest, __src, __bos (__dest));
          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Compiling src/devices/bus/nubus/nubus_wsportrait.cpp...
Compiling src/devices/bus/nubus/pds30_30hr.cpp...
cc1plus: all warnings being treated as errors
Compiling src/devices/bus/nubus/pds30_cb264.cpp...
optional.make:16346: recipe for target '../../../../linux_gcc/obj/x64/Release/src/devices/bus/nubus/nubus_image.o' failed
make[2]: *** [../../../../linux_gcc/obj/x64/Release/src/devices/bus/nubus/nubus_image.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Makefile:94: recipe for target 'optional' failed
make[1]: *** [optional] Error 2
makefile:1292: recipe for target 'linux_x64' failed
make: *** [linux_x64] Error 2


Any ideas what could be causing this?
Posted By: Duke

Re: Can't compile latest MAME? READ THIS THREAD - 06/28/19 07:28 PM

Originally Posted by Shoegazer
Any ideas what could be causing this?


https://github.com/mamedev/mame/issues/4191
Posted By: Kaede

Re: Can't compile latest MAME? READ THIS THREAD - 06/28/19 07:30 PM

_FORTIFY_SOURCE is mentionned in the compiling docs too: https://docs.mamedev.org/initialsetup/compilingmame.html
Posted By: Shoegazer

Re: Can't compile latest MAME? READ THIS THREAD - 06/28/19 09:38 PM

Ah yes, got it. Thanks!
© 2019 Forums