Regression testing - compilation error after second bisect

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
James Huk

Regression testing - compilation error after second bisect

Post by James Huk »

OK, I'm trying to make regression test for ddraw. Here is exactly what I
did:

1:

git clone git://source.winehq.org/git/wine.git wine-git
cd wine-git

2:

git bisect start dlls/ddraw
git bisect good wine-0.9.15
git bisect bad

Now first test:

CC="ccache gcc" ./configure –verbose && make depend -j2 && make -j2

Compilation successful regression present, another run:

CC="ccache gcc" ./configure –verbose && make depend -j2 && make -j2

Compilation successful regression still present, another run:

CC="ccache gcc" ./configure –verbose && make depend -j2 && make -j2

compilation failed:

../../tools/winegcc/winegcc -B../../tools/winebuild -shared
./winex11.drv.spec bitblt.o bitmap.o brush.o clipboard.o clipping.o
codepage.o dce.o desktop.o dib.o dib_convert.o dib_dst_swap.o dib_src_swap.o
event.o graphics.o init.o keyboard.o mouse.o opengl.o palette.o pen.o
scroll.o settings.o text.o window.o winpos.o wintab.o x11ddraw.o
x11drv_main.o xdnd.o xfont.o xim.o xrandr.o xrender.o xvidmode.o -o
winex11.drv.so -luser32 -lgdi32 -ladvapi32 -lkernel32 -lntdll -lSM -lICE
-lXxf86vm -lXext -lX11 ../../libs/port/libwine_port.a
palette.o: In function `X11DRV_RealizeDefaultPalette':
/home/james/wine-git/dlls/winex11.drv/palette.c:1267: undefined reference to
`GDI_GetObjPtr'
/home/james/wine-git/dlls/winex11.drv/palette.c:1283: undefined reference to
`GDI_ReleaseObj'
palette.o: In function `X11DRV_PALETTE_ToPhysical':
/home/james/wine-git/dlls/winex11.drv/palette.c:828: undefined reference to
`GDI_GetObjPtr'
/home/james/wine-git/dlls/winex11.drv/palette.c:976: undefined reference to
`GDI_ReleaseObj'
/home/james/wine-git/dlls/winex11.drv/palette.c:920: undefined reference to
`GDI_ReleaseObj'
/home/james/wine-git/dlls/winex11.drv/palette.c:898: undefined reference to
`GDI_ReleaseObj'
/home/james/wine-git/dlls/winex11.drv/palette.c:859: undefined reference to
`GDI_ReleaseObj'
/home/james/wine-git/dlls/winex11.drv/palette.c:866: undefined reference to
`GDI_ReleaseObj'
palette.o:/home/james/wine-git/dlls/winex11.drv/palette.c:881: more
undefined references to `GDI_ReleaseObj' follow
palette.o: In function `X11DRV_RealizePalette':
/home/james/wine-git/dlls/winex11.drv/palette.c:1251: undefined reference to
`GDI_GetObjPtr'
/home/james/wine-git/dlls/winex11.drv/palette.c:1253: undefined reference to
`GDI_ReleaseObj'
collect2: ld returned 1 exit status
winegcc: ccache failed.
make: *** [winex11.drv.so] Error 2

Now I'm stuck – anybody got any idea how can I fix above error? This error
is probably not system related (I use Debian Etch – wine-0.9.15 and newer
build without any problems.

Thanks in advance.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-us ... chment.htm>
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: Regression testing - compilation error after second bise

Post by vitamin »

James Huk wrote:git bisect start dlls/ddraw
git bisect good wine-0.9.15
git bisect bad
That won't work. This far back you can't bisect only one dll. You have to do the bisect on whole Wine.

DDraw tightly integrated with wined3d. And there were lots of changes in both since that version.
James Huk

Regression testing - compilation error after second bisect

Post by James Huk »

2009/4/18 vitamin <[email protected]>
James Huk wrote:
git bisect start dlls/ddraw
git bisect good wine-0.9.15
git bisect bad
That won't work. This far back you can't bisect only one dll. You have to
do the bisect on whole Wine.

DDraw tightly integrated with wined3d. And there were lots of changes in
both since that version.





I see - I tried that already, and also end up with errors (winex11driver
related if I remember correctly). I will try again later. However I got one
more question - git related:

Can I somehow- using git - fetch all patches from date x, for custom dll? I
mean can I get all patches from wine-0.9.15 onward for dsound.dll? If so,
will I be able to apply them for wine-0.9.15 source?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-us ... chment.htm>
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: Regression testing - compilation error after second bise

Post by vitamin »

James Huk wrote:Can I somehow- using git - fetch all patches from date x, for custom dll?
That's exactly what git does. You literally cloning the entire repository all patches since day 1.
James Huk wrote:I mean can I get all patches from wine-0.9.15 onward for dsound.dll? If so, will I be able to apply them for wine-0.9.15 source?
No. There were lots of wholesale changes in Wine source tree. You can't backport big changes to each individual dll, especially if it relies on lots of other things.
James Huk

Regression testing - compilation error after second bisect

Post by James Huk »

2009/4/18 vitamin <[email protected]>
James Huk wrote:
Can I somehow- using git - fetch all patches from date x, for custom dll?
That's exactly what git does. You literally cloning the entire repository
all patches since day 1.


James Huk wrote:
I mean can I get all patches from wine-0.9.15 onward for dsound.dll? If
so, will I be able to apply them for wine-0.9.15 source?

No. There were lots of wholesale changes in Wine source tree. You can't
backport big changes to each individual dll, especially if it relies on lots
of other things.





I see. I tried again with:

git bisect start
git bisect good wine-0.9.15
git bisect bad

and... well:

1st compilation successful - bug present
2nd compilation successful - bug present
3th compilation successful - well now even winecfg doesn't want to start –
some kind of “can't create window” error (sorry I didn't write it down). Now
I tried again with git bisect bad and recompilation – but wine was never
able to create window. Few compilations later it failed to compile at all.

My questions are:

1.Is there a way to compile and test wine using above git bisect?
2.If I found regression between 0.9.15 and 0.9.16 – should I report it at
all? This is after all very old wine version...

Thank You
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-us ... chment.htm>
austin987
Wine Developer
Wine Developer
Posts: 2383
Joined: Fri Feb 22, 2008 8:19 pm

Regression testing - compilation error after second bisect

Post by austin987 »

On Mon, Apr 20, 2009 at 1:27 AM, James Huk <[email protected]> wrote:
2009/4/18 vitamin <[email protected]>
James Huk wrote:
Can I somehow- using git - fetch all patches from date x, for custom dll?
That's exactly what git does. You literally cloning the entire repository
all patches since day 1.


James Huk wrote:
I mean can I get all patches from wine-0.9.15 onward for dsound.dll? If
so, will I be able to apply them for wine-0.9.15 source?

No. There were lots of wholesale changes in Wine source tree. You can't
backport big changes to each individual dll, especially if it relies on lots
of other things.





I see. I tried again with:

git bisect start
git bisect good wine-0.9.15
git bisect bad

and... well:

1st compilation successful - bug present
2nd compilation successful - bug present
3th compilation successful - well now even winecfg doesn't want to start –
some kind of “can't create windowâ€
Locked