Linker Error on Win32: "collect2: ld returned 5 exit status"
After successfully downloading the source, configured all the dependencies, compiled libogg.dll myself for win32, I'm getting an unexpected linker (ld.exe) error that I can't explain. I've tried to reverse engineer the makefiles a bit, but can't seem to determine why this would fail, seems like I'm missing some sort of dll or lib file, can't tell which one.
Can anyone help?
==== Here's the output ====
> Linking CXX executable mscore.exe
> collect2: ld returned 5 exit status
> mingw32-make[3]: *** [mscore/mscore.exe] Error 1
> mingw32-make[3]: Leaving directory `E:/projects/MusicMan/MUSESC~1/mscore/win32build'
> mingw32-make[2]: *** [mscore/CMakeFiles/mscore.dir/all] Error 2
> mingw32-make[2]: Leaving directory `E:/projects/MusicMan/MUSESC~1/mscore/win32build'
> mingw32-make[1]: *** [all] Error 2
> mingw32-make[1]: Leaving directory `E:/projects/MusicMan/MUSESC~1/mscore/win32build'
> mingw32-make: *** [win32] Error 2
> e:\projects\mscore
===============================
Comments
See the following discussion on the developer's mailing list:
Compiling the current trunk after 0.9.6 branch
In reply to See the following discussion by David Bolton
You need at least libogg and libvorbis. I'm curious about how you created the libogg.dll. Can you share some instructions?
In reply to You need at least libogg and by [DELETED] 5
No surprises, I installed MS Visual Studio Express (free) on an XP machine. It seems with latest source from SVN I now can't even compile past "aeolus" without an error.
======
[ 92%] Building CXX object mscore/CMakeFiles/mscore.dir/seq.cpp.obj
In file included from E:\projects\MusicMan\musescore\mscore\mscore/aeolus/aeolus
/asection.h:24, from E:\projects\MusicMan\musescore\mscore\mscore/aeolus/aeolus/aeolus.h:30,
from E:\projects\MusicMan\musescore\mscore\mscore\mscore\seq.cp
p:56:
E:\projects\MusicMan\musescore\mscore\mscore/aeolus/aeolus/global.h:32:20: error
: endian.h: No such file or directory
E:\projects\MusicMan\musescore\mscore\mscore/aeolus/aeolus/global.h:50:2: error:
#error Byte order is undefined !
E:\projects\MusicMan\musescore\mscore\mscore\mscore\seq.cpp:485: warning: unused
parameter 'framePos'
mingw32-make[3]: *** [mscore/CMakeFiles/mscore.dir/seq.cpp.obj] Error 1
mingw32-make[3]: Leaving directory `E:/projects/MusicMan/MUSESC~1/mscore/win32bu
ild'
mingw32-make[2]: *** [mscore/CMakeFiles/mscore.dir/all] Error 2
mingw32-make[2]: Leaving directory `E:/projects/MusicMan/MUSESC~1/mscore/win32bu
ild'
mingw32-make[1]: *** [all] Error 2
mingw32-make[1]: Leaving directory `E:/projects/MusicMan/MUSESC~1/mscore/win32bu
ild'
mingw32-make: *** [win32] Error 2
In reply to installed MS Visual Studio express... by youngjoe
If you still can see "aeolus", then you're not in right svn address.
should be:
https://mscore.svn.sourceforge.net/svnroot/mscore/branches/mscore-0-9-6
btw: I can only compiled using embeded MinGW of Qt on windows, or in Eclipse, can't do that using MS Visual Studio.
In reply to If you still can see by vanferry
I guess youngjoe means that he used MS VS express to compile libogg.dll.
@youngjoe Then you compiled MuseScore with mingw? Somebody knows if VS dll are compatible with Mingw ?
See http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs