There is a linker argument that only Apple's GCC recognizes in the latest build. In libs/wine/Makefile.in, there is a variable that reads: Code: DYLIB_LDFLAGS = -compatibility_version $(SOVERSION) -current_version $(VERSION) -headerpad_max_install_names in order for non-Apple GCC to successfully build, it needs to pass-through the argument to the linker. The line should read: Code: DYLIB_LDFLAGS = -compatibility_version $(SOVERSION) -current_version $(VERSION) -Wl,-headerpad_max_install_names
Charles Davis
2011-Oct-12 17:50 UTC
[Wine] 1.3.30 build error on Mac OS X with non-Apple GCC
On Oct 12, 2011, at 8:59 AM, ischou wrote:> There is a linker argument that only Apple's GCC recognizes in the latest build. In libs/wine/Makefile.in, there is a variable that reads: > > > Code: > DYLIB_LDFLAGS = -compatibility_version $(SOVERSION) -current_version $(VERSION) -headerpad_max_install_names > > > > in order for non-Apple GCC to successfully build, it needs to pass-through the argument to the linker. The line should read: > > > Code: > DYLIB_LDFLAGS = -compatibility_version $(SOVERSION) -current_version $(VERSION) -Wl,-headerpad_max_install_namesOK, I've sent a patch. But tell me: why are you using FSF GCC on Darwin? AFAICT, support for mainline GCC on Darwin has stagnated ever since Apple left to avoid the GPLv3 (which they hate and fear because it legally obligates them to allow people to replace software on devices running iOS). Chip
Charles Davis wrote:> But tell me: why are you using FSF GCC on Darwin? AFAICT, support for mainline GCC on Darwin has stagnated ever since Apple left to avoid the GPLv3 (which they hate and fear because it legally obligates them to allow people to replace software on devices running iOS).Honestly, I don't remember. I upgraded to GCC 4.6.0 at some point because I needed it to build something, and wine had been building just fine with it, so I just kept using it. I still have the 4.2.1 from Xcode on the system, but I've been happily building with the new GCC. I don't need to build FAT binaries, so I never went back to 4.2.1 after I installed 4.6.0.