Solved Building Open-Sankoré on windows
-
@JKSH
Oh yes thanks :)
I saw this thread before but it did benefit me a lot unfortuantely..Anyway I passed the above mentioned errors by changing my compiler to mingw32..but now I have this new error:
Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0x66): undefined reference to `FT_Library_Version' D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0xaf): undefined reference to `FT_Init_FreeType' D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0x11a): undefined reference to `FT_Done_FreeType' C:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o): bad reloc address 0x20 in section `.eh_frame' collect2.exe: error: ld returned 1 exit status
Any idea how to handle this ?
-
Did you do a full rebuild ?
By the way, why not use the MinGW version provided by Qt ?
One thing to simplify your life: remove the spaces in your path. They almost always have been problematic on Windows.
-
@SGaist
Yes..I did a complete rebuild and now moved the file to shorter and simpler path..
but same link errors appeared :(Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file C:/Users/JIMMY/Desktop/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0x66): undefined reference to `FT_Library_Version' C:/Users/JIMMY/Desktop/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0xaf): undefined reference to `FT_Init_FreeType' C:/Users/JIMMY/Desktop/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0x11a): undefined reference to `FT_Done_FreeType' C:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: C:/Users/JIMMY/Desktop/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o): bad reloc address 0x20 in section `.eh_frame' collect2.exe: error: ld returned 1 exit status
Note:
I am using Qt downloaded from here
http://download.qt.io/official_releases/qt/4.8/4.8.7/qt-opensource-windows-x86-mingw482-4.8.7.exe
and this version of mingw "i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z" (mingw32) -
Open Sankore uses a modified version of Qt, not the official version of Qt.
Their build instructions are at http://dev.open-sankore.org/xwiki/bin/view/Community/SourceRepository If you still can't get it to work, perhaps try asking the Open Sankore community?
-
@JKSH
I know but I tried several times to follow these steps but in vain...these versions on VS are out of date now and couldn't be found..
I reached a good point in compiling the project but this linking problem stumped me a lot :( -
@GamalMohamed said:
I know but I tried several times to follow these steps but in vain...
Sorry, I didn't notice that you already posted the same link in your original post!
Warning: corrupt .drectve at end of def file
I'm not sure what these mean, I'm afraid...
D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0x66): undefined reference to `FT_Library_Version' D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0xaf): undefined reference to `FT_Init_FreeType' D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0x11a): undefined reference to `FT_Done_FreeType' C:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o): bad reloc address 0x20 in section `.eh_frame'
How did you build the FreeType and Xpdf libraries?
-
It looks like the ThirdParty repository provides some of the dependencies as pre-built lib files. Taking the build documentation as reference, they are likely built for Visual Studio 2008 which is not compatible with Visual Studio 2015 and even less MinGW.
-
@JKSH
There's a .pro file found in the repo: https://github.com/Sankore/Sankore-ThirdParty
I used it to compile the project using Qt-creator (mingw32-Qt 4.8.6) and then put the build files in the same directory with source files..
Same thing done for xpdf..@SGaist
I didn't use any pre-built lib files as far I can see...Have a look at the files i use:
https://goo.gl/Xv4mbV -
I didn't say you did: the repository provides them. Look at the microsoft folder.
-
@SGaist
I saw them..but I think the linker isn't complaining from them, is it? :/
These errors are from xpdf and freetype.. -
xpdf depends on freetype so if you haven't built it that's why you are getting the missing symbols.
-
@GamalMohamed said:
I used it to compile the project using Qt-creator (mingw32-Qt 4.8.6) and then put the build files in the same directory with source files..
Same thing done for xpdf..You also need to tell the linker exactly which library files to use. Just putting the files in the same folder is not enough.
In your .pro file, you need something like
LIBS += -lfreetype
(see https://github.com/Sankore/Sankore-ThirdParty/blob/master/libs.pri ). I'm guessing that you got the "Undefined reference" errors because this line is missing. -
FINAAAAAAAAAAALYYYYYYY IT BUILT & RAN !
Thnx 2 all of u guys :) -
@GamalMohamed
good work :)so u made it compile with mingw?
Any change to share this setup? on git or something like that.
-
@GamalMohamed said:
FINAAAAAAAAAAALYYYYYYY IT BUILT & RAN !
Thnx 2 all of u guys :)Congratulations! :) What was the secret?
-
The Secret is simple :)
I used VS2008 to build the project and it ran like magic :DConcerning the other approaches that are available on long term: (if anyone interested :) )
-
It's too hard to be built on Qt-creator using mingw (even if we use qt4.8 kit) as Sankoré depends on external libraries that are very hard (and maybe impossible!) to be built using mingw..
-
Also on VS2015 it's also too hard as it uses modules that have been removed from Qt5.6 or 5.7 like phonon, QtWebkit, QFtp, ...etc
So,any of these 2 methods needs a "hard & deep Porting operation" to be able to build and run Sankoré on it using Qt5..
-
-
Thanks for sharing! All the best with your project