Created attachment 1122449 [details] Fix-build-on-MIPS.patch Description of problem: We are trying to bring Fedora to MIPS platform and this requires 2 changes in m2crypto specfile: 1) skip __REGISTER_PREFIX__ macro, it expands to dollar sign '$' and confuses gcc 2) add MIPS to multilib_arches Actual results: Build fails, gcc fails parsing at a dollar sign. Also MIPS is not included in multilib_arches. Expected results: Build passes, MIPS is included in multilib_arches Additional info: Attaching dist-git patch
Thanks for your report. How does gcc fail with '$' exactly? Doing just a simple test > $ cat > t.c > #define foo $ > int main(void) { return 0; } > $ gcc t.c $(rpm --eval '%optflags') seems to work fine, with x86_64 gcc-5.3.1-2.fc22.x86_64 at least. Same with the long flags which are actually used during m2crypto compilation. I do see swig failing, though: > swig -python … SWIG/_m2crypto.i > /usr/include/openssl/opensslconf-x86_64.h:5: Warning 205: CPP #error ""Don't include this file directly, use <openssl/opensslconf.h> instead!"". > SWIG/gcc_macros.h:496: Error: Illegal token '$'. > SWIG/gcc_macros.h:496: Warning 305: Bad constant value (ignored). Is that what you are running into?
(In reply to Miloslav Trmač from comment #1) > I do see swig failing, though: > > swig -python … SWIG/_m2crypto.i > > /usr/include/openssl/opensslconf-x86_64.h:5: Warning 205: CPP #error ""Don't include this file directly, use <openssl/opensslconf.h> instead!"". > > SWIG/gcc_macros.h:496: Error: Illegal token '$'. > > SWIG/gcc_macros.h:496: Warning 305: Bad constant value (ignored). > Is that what you are running into? You are right, my bad. Where I wrote gcc I meant swig.
Thanks for the confirmation, I have just built m2crypto-0.23.0-1.fc24, which includes your __REGISTER_PREFIX__ change and should make the multilib_arches part unnecessary. Can you verify that it works for you, please?
It works fine, thanks.
Thanks for the confirmation.