WineHQ
Bug Tracking Database – Bug 18586

 Bugzilla

 

Last modified: 2011-09-09 12:54:34 UTC  

Cannot build wine-1.1.22 on OpenSolaris snv_112 with GNU ld

Bug 18586 - Cannot build wine-1.1.22 on OpenSolaris snv_112 with GNU ld
Cannot build wine-1.1.22 on OpenSolaris snv_112 with GNU ld
Status: CLOSED FIXED
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: build-env
1.1.22
x86 Solaris
: P2 blocker
: ---
Assigned To: Mr. Bugs
: source
: 26291 (view as bug list)
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2009-05-23 07:17 UTC by eugene
Modified: 2011-09-09 12:54 UTC (History)
5 users (show)

See Also:
Regression SHA1:
Fixed by SHA1:
Distribution: ---
Staged patchset:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description eugene 2009-05-23 07:17:44 UTC
Errors when building:
gcc -c -I../../../wine-1.1.22/dlls/acledit -I. -I../../../wine-1.1.22/include -I../../include  -D__WINESRC__  -D
_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wtype-limits -W
pointer-arith  -march=pentium-m -mtune=pentium-m  -o main.o ../../../wine-1.1.22/dlls/acledit/main.c
../../tools/winegcc/winegcc  -B../../tools/winebuild -shared ../../../wine-1.1.22/dlls/acledit/acledit.spec    m
ain.o       -o acledit.dll.so  -lkernel32  ../../libs/port/libwine_port.a   -lsocket -lnsl
Archive member included because of file (symbol)

../../dlls/winecrt0/libwinecrt0.a(dll_entry.o)
                              acledit.dll-Phx6qc.spec.o (__wine_spec_dll_entry)
../../dlls/winecrt0/libwinecrt0.a(init.o)
                              ../../dlls/winecrt0/libwinecrt0.a(dll_entry.o) (__wine_spec_init_state)
../../dlls/winecrt0/libwinecrt0.a(stub.o)
                              acledit.dll-Phx6qc.spec.o (__wine_spec_unimplemented_stubacledit.dll-LoJFfh.map:3:
 undefined symbol `A0x1000' referenced in expression
collect2: ld returned 1 exit status

I think this error because of winegcc creates linker's map files that GNU ld doesn't understand.

The file tools/winegcc/winegcc.c contains line
create_file( mapfile, 0644, "text = A%s;\ndata = A%s;\n", align, align );

that produces this "undefined symbol A0x1000"
Comment 1 Daniel Vergien 2009-10-08 11:45:33 UTC
I can confirm the same behavior on Solaris 10 with gnu ld and wine 1.1.30 and trunk.
As a quick and dirty workaround I commented out the "case PLATFORM_SOLARIS" block around line 892 and then it works.
The problem seems to be that the code assumes that if "__sun" is defined, which is defined if you use gcc on solaris, also solaris ld is used.
There should be a check which linker is used instead of which operating system is used.
Comment 2 Niki W. Waibel 2010-09-12 09:31:23 UTC
same here with
===
SunOS sol10u8.test.net 5.10 Generic_142901-15 i86pc i386 i86pc Solaris
gcc (GCC) 4.5.1
GNU ld (Linux/GNU Binutils) 2.20.51.0.11.20100810
wine-1.3.2
===
Comment 3 Austin English 2011-03-03 13:21:32 UTC
*** Bug 26291 has been marked as a duplicate of this bug. ***
Comment 4 Juan Lang 2011-03-03 13:39:39 UTC
Multiple confirmations and a dup, marking confirmed.
Comment 5 Ken Mays 2011-08-27 11:43:10 UTC
(In reply to comment #4)
> Multiple confirmations and a dup, marking confirmed.

You can close this ticket. We successfully build Wine 1.3.27 on OpenIndiana_b151 (Solaris 11 Express) without any issues.
Comment 6 Austin English 2011-08-28 19:58:05 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > Multiple confirmations and a dup, marking confirmed.
> 
> You can close this ticket. We successfully build Wine 1.3.27 on
> OpenIndiana_b151 (Solaris 11 Express) without any issues.

Was it fixed in wine or ld/solaris? Can you see if 1.3.2 fails to build?
Comment 7 Ken Mays 2011-08-29 08:39:28 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > (In reply to comment #4)
> > > Multiple confirmations and a dup, marking confirmed.
> > 
> > You can close this ticket. We successfully build Wine 1.3.27 on
> > OpenIndiana_b151 (Solaris 11 Express) without any issues.
> 
> Was it fixed in wine or ld/solaris? Can you see if 1.3.2 fails to build?

Austin - Resolved by Wine 1.1.44. Wine 1.1.22 does fail basic compilation on OpenIndiana 151 (OpenSolaris snv_151/GNU ld (GNU Binutils) 2.19.

Wine 1.1.22 - build fails
Wine 1.1.44 - build completed successfully
Wine 1.3.2 - build completed successfully
Wine 1.3.27 - build completed successfully

The Wine 1.1.22 build fail was:
gcc -c -I. -I. -I../../include -I../../include  -D__WINESRC__  -D_REENTRANT -fPI
C -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings
 -Wpointer-arith  -g -O2  -o ifenum.o ifenum.c
ifenum.c: In function `getInterfacePhysicalByName':
ifenum.c:322: error: structure has no member named `ifr_hwaddr'
ifenum.c:367: error: structure has no member named `ifr_hwaddr'
ifenum.c:367: error: structure has no member named `ifr_hwaddr'
ifenum.c:376: error: structure has no member named `ifr_hwaddr'
gmake[2]: *** [ifenum.o] Error 1
gmake[2]: Leaving directory `wine-1.1.22/dlls/iphlpapi'
gmake[1]: *** [iphlpapi] Error 2
gmake[1]: Leaving directory `wine-1.1.22/dlls'
gmake: *** [dlls] Error 2

So, this bug is resolved. Migrate to Wine 1.1.44/1.2.3 or 1.3.27.
Comment 8 Austin English 2011-08-29 12:22:16 UTC
Thanks Ken!
Comment 9 Alexandre Julliard 2011-09-09 12:54:34 UTC
Closing bugs fixed in 1.3.28.


Privacy Policy
If you have a privacy inquiry regarding this site, please write to [email protected]

Hosted By CodeWeavers