http://bugs.winehq.org/show_bug.cgi?id=20763
Summary: make crosstest fails on Mac OS X Product: Wine Version: 1.1.33 Platform: PC OS/Version: Mac OS X 10.5 Status: UNCONFIRMED Severity: normal Priority: P2 Component: testcases AssignedTo: wine-bugs@winehq.org ReportedBy: cdavis@mines.edu
(When bug 20762 is fixed, please change the OS to Mac OS X 10.6. Thank you.)
Building tests for Windows with mingw fails on Mac OS X. And yes, I do have mingw installed. Specifically, tests fail to link with this message:
../../../dlls/winecrt0/libwinecrt0.a: could not read symbols: Archive has no index; run ranlib to add one collect2: ld returned 1 exit status winegcc: i386-mingw32-gcc failed
Yes, I tried running the mingw ranlib on the library but it had no effect. I also tried cleaning out dlls/winecrt0. That had this effect:
/usr/local/bin/../lib/gcc/i386-mingw32/3.4.5/../../../../i386-mingw32/bin/ld: cannot find -lwinecrt0 collect2: ld returned 1 exit status winegcc: i386-mingw32-gcc failed
I suspect that's because none of the cross tests depend on winecrt0 in their Makefiles.
Running the mingw nm on libwinecrt0.a produces this:
i386-mingw32-nm: __.SYMDEF SORTED: File format not recognized i386-mingw32-nm: delay_load.o: File format not recognized i386-mingw32-nm: dll_entry.o: File format not recognized i386-mingw32-nm: dll_main.o: File format not recognized i386-mingw32-nm: drv_entry.o: File format not recognized i386-mingw32-nm: exe16_entry.o: File format not recognized i386-mingw32-nm: exe_entry.o: File format not recognized i386-mingw32-nm: exe_main.o: File format not recognized i386-mingw32-nm: exe_wentry.o: File format not recognized i386-mingw32-nm: exe_wmain.o: File format not recognized i386-mingw32-nm: init.o: File format not recognized i386-mingw32-nm: stub.o: File format not recognized
because a) it doesn't support Mach-O and b) it doesn't support Apple ranlib indexes at all, let alone sorted ones.
Are you sure winegcc should be pulling in winecrt0 for the i386-mingw32 target? Are you sure we don't want to use mingw's CRT startup code? If we want to use winecrt0, why don't the cross tests depend on it, and why isn't a version built for mingw32?