Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v5.21.8-323-ga752046 broke win32 gcc builds #14631

Closed
p5pRT opened this issue Apr 1, 2015 · 10 comments
Closed

v5.21.8-323-ga752046 broke win32 gcc builds #14631

p5pRT opened this issue Apr 1, 2015 · 10 comments

Comments

@p5pRT
Copy link

p5pRT commented Apr 1, 2015

Migrated from rt.perl.org#124221 (status was 'resolved')

Searchable as RT124221$

@p5pRT
Copy link
Author

p5pRT commented Apr 1, 2015

From @tonycoz

The mentioned patch added a new macro TESTPREPGCC so that VC++ builds would not need
to depend on the test-prep-gcc target, unfortunately, for gcc builds TESTPREPGCC is
defined after it's used, so the targets that need to depend on test-prep-gcc dont.

The build itself succeeds, but many tests, including any involving taint and all of the XS-APItests fail (with gcc 4.8.3 x64).

Since this is a regression introduced in 5.21 I believe it should be a blocker and plan to apply the attached patch.

Tony

@p5pRT
Copy link
Author

p5pRT commented Apr 1, 2015

From @tonycoz

0002-fix-dmake-test-for-gcc.patch
From a387b91fff24c8439732c9b0dc92f817129efc56 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Wed, 1 Apr 2015 16:40:33 +1100
Subject: [PATCH 2/2] fix dmake test for gcc

a752046a added TESTPREPGCC to allow VC++ builds to succeed, but
unfortunately defined TESTPREPGCC after use, which meant the
test-prep-gcc target wasn't being treated as a dependency.

Define TESTPREPGCC earlier.
---
 win32/makefile.mk | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/win32/makefile.mk b/win32/makefile.mk
index 5fd10dc..d4e2162 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -512,6 +512,8 @@ LIBOUT_FLAG	=
 
 BUILDOPT	+= -fno-strict-aliasing -mms-bitfields
 
+TESTPREPGCC	= test-prep-gcc
+
 .ELSE
 
 # All but the free version of VC++ 7.x can load DLLs on demand.  Makes the test
@@ -657,6 +659,8 @@ OBJOUT_FLAG	= -Fo
 EXEOUT_FLAG	= -Fe
 LIBOUT_FLAG	= /out:
 
+TESTPREPGCC	=
+
 .ENDIF
 
 CFLAGS_O	= $(CFLAGS) $(BUILDOPT)
@@ -1630,15 +1634,14 @@ test-prep : all utils ..\pod\perltoc.pod $(TESTPREPGCC)
 # Without this copying, the op/taint.t test script will fail.
 
 .IF "$(CCTYPE)" == "GCC"
-TESTPREPGCC	= test-prep-gcc
+
 test-prep-gcc :
 	if exist $(CCDLLDIR)\libgcc_s_seh-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_seh-1.dll ..\t\$(NULL)
 	if exist $(CCDLLDIR)\libgcc_s_sjlj-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_sjlj-1.dll ..\t\$(NULL)
 	if exist $(CCDLLDIR)\libgcc_s_dw2-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_dw2-1.dll ..\t\$(NULL)
 	if exist $(CCDLLDIR)\libstdc++-6.dll $(XCOPY) $(CCDLLDIR)\libstdc++-6.dll ..\t\$(NULL)
 	if exist $(CCDLLDIR)\libwinpthread-1.dll $(XCOPY) $(CCDLLDIR)\libwinpthread-1.dll ..\t\$(NULL)
-.ELSE
-TESTPREPGCC	=
+
 .ENDIF
 
 test : test-prep
-- 
1.9.5.msysgit.0

@p5pRT
Copy link
Author

p5pRT commented Apr 5, 2015

@jkeenan - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Apr 6, 2015

From @steve-m-hay

On 1 April 2015 at 06​:48, Tony Cook <perlbug-followup@​perl.org> wrote​:

# New Ticket Created by Tony Cook
# Please include the string​: [perl #124221]
# in the subject line of all future correspondence about this issue.
# <URL​: https://rt-archive.perl.org/perl5/Ticket/Display.html?id=124221 >

The mentioned patch added a new macro TESTPREPGCC so that VC++ builds would not need
to depend on the test-prep-gcc target, unfortunately, for gcc builds TESTPREPGCC is
defined after it's used, so the targets that need to depend on test-prep-gcc dont.

The build itself succeeds, but many tests, including any involving taint and all of the XS-APItests fail (with gcc 4.8.3 x64).

Since this is a regression introduced in 5.21 I believe it should be a blocker and plan to apply the attached patch.

Yes, please do! I also see test failures in op/taint.t and noise about
TESTPREPGCC at the start of the build, both fixed by your patch.

@p5pRT
Copy link
Author

p5pRT commented Apr 7, 2015

From @tonycoz

On Mon Apr 06 06​:10​:37 2015, shay wrote​:

On 1 April 2015 at 06​:48, Tony Cook <perlbug-followup@​perl.org> wrote​:

The build itself succeeds, but many tests, including any involving
taint and all of the XS-APItests fail (with gcc 4.8.3 x64).

Since this is a regression introduced in 5.21 I believe it should be
a blocker and plan to apply the attached patch.

Yes, please do! I also see test failures in op/taint.t and noise about
TESTPREPGCC at the start of the build, both fixed by your patch.

I've applied this, since it at least fixes the op/taint.t failure.

Unfortunately I'm still seeing all XS-APItest test fail - are you seeing
that?

Tony

@p5pRT
Copy link
Author

p5pRT commented Apr 7, 2015

From @steve-m-hay

On Mon Apr 06 17​:52​:47 2015, tonyc wrote​:

On Mon Apr 06 06​:10​:37 2015, shay wrote​:

On 1 April 2015 at 06​:48, Tony Cook <perlbug-followup@​perl.org> wrote​:

The build itself succeeds, but many tests, including any involving
taint and all of the XS-APItests fail (with gcc 4.8.3 x64).

Since this is a regression introduced in 5.21 I believe it should be
a blocker and plan to apply the attached patch.

Yes, please do! I also see test failures in op/taint.t and noise about
TESTPREPGCC at the start of the build, both fixed by your patch.

I've applied this, since it at least fixes the op/taint.t failure.

Unfortunately I'm still seeing all XS-APItest test fail - are you seeing
that?

No, I don't see that using http​://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/gcc-4.8-release/x86_64-w64-mingw32-gcc-4.8.0-win64_rubenvb.7z

Where did you get your gcc-4.8.3 build from?

@p5pRT
Copy link
Author

p5pRT commented Apr 7, 2015

From @tonycoz

On Tue Apr 07 00​:24​:35 2015, shay wrote​:

On Mon Apr 06 17​:52​:47 2015, tonyc wrote​:

I've applied this, since it at least fixes the op/taint.t failure.

Unfortunately I'm still seeing all XS-APItest test fail - are you
seeing
that?

No, I don't see that using http​://sourceforge.net/projects/mingw-
w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/gcc-
4.8-release/x86_64-w64-mingw32-gcc-4.8.0-win64_rubenvb.7z

Where did you get your gcc-4.8.3 build from?

Strawberry perl 5.20.1.1 64-bit portable.

Tony

@p5pRT
Copy link
Author

p5pRT commented Apr 9, 2015

From @steve-m-hay

On 8 April 2015 at 00​:49, Tony Cook via RT <perlbug-followup@​perl.org> wrote​:

On Tue Apr 07 00​:24​:35 2015, shay wrote​:

On Mon Apr 06 17​:52​:47 2015, tonyc wrote​:

I've applied this, since it at least fixes the op/taint.t failure.

Unfortunately I'm still seeing all XS-APItest test fail - are you
seeing
that?

No, I don't see that using http​://sourceforge.net/projects/mingw-
w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/gcc-
4.8-release/x86_64-w64-mingw32-gcc-4.8.0-win64_rubenvb.7z

Where did you get your gcc-4.8.3 build from?

Strawberry perl 5.20.1.1 64-bit portable.

With PATH set to C​:\Strawberry\c\bin;C​:\Windows\system32;C​:\Windows
and CCHOME set to C​:\Strawberry\c I have all tests successful with
that StrawberryPerl.

@p5pRT
Copy link
Author

p5pRT commented Apr 14, 2015

From @tonycoz

On Thu Apr 09 02​:12​:08 2015, shay wrote​:

On 8 April 2015 at 00​:49, Tony Cook via RT <perlbug-followup@​perl.org>
wrote​:

On Tue Apr 07 00​:24​:35 2015, shay wrote​:

On Mon Apr 06 17​:52​:47 2015, tonyc wrote​:

I've applied this, since it at least fixes the op/taint.t failure.

Unfortunately I'm still seeing all XS-APItest test fail - are you
seeing
that?

No, I don't see that using http​://sourceforge.net/projects/mingw-
w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/gcc-
4.8-release/x86_64-w64-mingw32-gcc-4.8.0-win64_rubenvb.7z

Where did you get your gcc-4.8.3 build from?

Strawberry perl 5.20.1.1 64-bit portable.

With PATH set to C​:\Strawberry\c\bin;C​:\Windows\system32;C​:\Windows
and CCHOME set to C​:\Strawberry\c I have all tests successful with
that StrawberryPerl.

It works now, I must have had something mis-set.

Closing.

Tony

@p5pRT p5pRT closed this as completed Apr 14, 2015
@p5pRT
Copy link
Author

p5pRT commented Apr 14, 2015

@tonycoz - Status changed from 'open' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant