[I just noticed that WillEverett in the "Compiling ECCE v7 on Ubuntu 13.10" thread back in December 2014 provided more or less the same solution with respect to the freetype path]
This applies to debian jessie, but may also apply to any other reasonably current release of bleeding edge distros (ubuntu, fedora and arch are either rolling or dist-upgraded every six months) due to changes in the location of header files.
Tested on:
- a thinkpad sl410 (intel graphics) -- works perfectly
- a homebuilt desktop with onboard nvidia (GeForce 7025/nForce 630a rev a2) using the nouveau drivers -- works perfectly. Had issues with this system before (using nvidia-legacy drivers -- may or may not be relevant), but ended up reinstalling debian from scratch. Early testing indicated that it may have been due to gtk theme issues, but not sure.
- a homebuilt desktop with external nvidia GF119 (GeForce GT610, rev a1), using the non-free nvidia drivers installed via smxi -- works perfectly
Note that:
- ECCE doesn't run on debian jessie if installed using the precompiled binaries (if your experience differs, please post a reply)
- to compile ECCE you need to at a minimum change all references to freetype/freetype.h in the source code (in the inv directory) to simply freetype.h due to the new location of this header file in jessie.
- you may also have to edit a number of files in the gtk source directory to make them compliant with -Wformat-security -- this was the case for me, but at least one other person didn't have to.
This patching can be accomplished by running the following bash script (you need to define ECCE_HOME first).
#!/bin/bash
cp ${ECCE_HOME}/build/3rdparty-dists/wxPython-src-2.8.12.1.tar.bz2 ${ECCE_HOME}/3rdparty/build/
cd ${ECCE_HOME}/3rdparty/build/
tar xvf wxPython-src-2.8.12.1.tar.bz2
rm wxPython-src-2.8.12.1.tar.bz2
cd ${ECCE_HOME}/3rdparty/build/wxPython-src-2.8.12.1/wxPython
grep -rsl "PyErr_Format(PyExc_RuntimeError, mesg)" *|xargs -I {} sed -i 's/PyErr_Format(PyExc_RuntimeError, mesg)/PyErr_Format(PyExc_RuntimeError, "%s", mesg)/g' {}
cd ${ECCE_HOME}/3rdparty/build/wxPython-src-2.8.12.1/wxPython/src/gtk/
sed -i 's/wxLogFatalError(m)/wxLogFatalError("%s", m.c_str())/g' _misc_wrap.cpp
sed -i 's/wxLogError(m)/wxLogError("%s", m.c_str())/g' _misc_wrap.cpp
sed -i 's/wxLogWarning(m)/wxLogWarning("%s", m.c_str())/g' _misc_wrap.cpp
sed -i 's/wxLogMessage(m)/wxLogMessage("%s", m.c_str())/g' _misc_wrap.cpp
sed -i 's/wxLogInfo(m)/wxLogInfo("%s", m.c_str())/g' _misc_wrap.cpp
sed -i 's/wxLogDebug(m)/wxLogDebug("%s", m.c_str())/g' _misc_wrap.cpp
sed -i 's/wxLogVerbose(m)/wxLogVerbose("%s", m.c_str())/g' _misc_wrap.cpp
sed -i 's/wxLogStatus(pFrame, m)/wxLogStatus(pFrame, "%s", m.c_str())/g' _misc_wrap.cpp
sed -i 's/wxLogStatus(m)/wxLogStatus("%s", m.c_str())/g' _misc_wrap.cpp
sed -i 's/wxLogSysError(m)/wxLogSysError("%s", m.c_str())/g' _misc_wrap.cpp
sed -i 's/wxLogGeneric(level, m)/wxLogGeneric(level, "%s", m.c_str())/g' _misc_wrap.cpp
sed -i 's/wxLogTrace(mask, m)/wxLogTrace(mask, "%s", m.c_str())/g' _misc_wrap.cpp
cd ${ECCE_HOME}/src
grep -srl "freetype/" |xargs -I {} sed -i 's.freetype/..g' {}
cd ${ECCE_HOME}/build
Full build instructions at http://verahill.blogspot.com.au/2015/06/611-building-ecce-on-debian-jessie.html
I'll leave it to the ECCE maintainer(s) to decide whether to patch their code. If that's the case, please contact me and I'll supply some other minor fixes (e.g. http://verahill.blogspot.com.au/2015/06/610-importing-g09-output-files-into.html . The XC list also needs to be updated and corrected)
|