Archived Forum Post

Index of archived forum posts

Question:

Segmentation fault while running windows application build with "mingw48_32"

Jul 31 '13 at 10:50

Hello,

I am using QT 5.1 with Mingw32 version. This is using mingw48_32 version. I have downloaded the chilkat library for ming i.e. "chilkat-9.4.1-mingw32.zip". The sample ftp application is built properly. When running, when the chilkat object is init, the application crashes.

While searching on web, I have also come across the "link: Upgrade to g++ 4.7 (with c++11 support): any ABI incompatibility? ", which is may be the similar error.

We were using ms VS 2010 build libs, which are working fine with older version of QT. We need to upgrade to newer version of QT framework, where we are exploring the mingw32 options.

Will be waiting for further possibilities.


Answer

I added the following downloads to the Chilkat MinGW C++ libs downloads page at http://www.chilkatsoft.com/downloads_mingw.asp

MinGW (32-bit, gcc 4.8.1, C++ 11, posix, sjlj, rv2)
http://www.chilkatsoft.com/download/chilkat-9.4.1-mingw481-x32-posix-sjlj-rv2.zip

MinGW-w64 (64-bit, gcc 4.8.1, C++ 11, posix, sjlj, rv2)
http://www.chilkatsoft.com/download/chilkat-9.4.1-mingw481-x64-posix-sjlj-rv2.zip

Please see if these solve the problem.


Answer

Hello,

I would like to add here.

I have now also used QT5.1 for Android application building. Here also it uses same Mingw32 version, same mingw48_32. For android I have downloaded chilkat library "chilkat-9.4.1-android-cpp.tar.gz".

I have not found any error (segmentation fault) as mentioned above, although it uses mingw48_32 version. (It appears that the library for windows Desktop mingw32 has runtime error, but library for Android cpp does not have runtime error.) I was testing FTP2. My sample worked proper for uploading from Android device.

I have been missing "CkFtpProgress" on Android, as it does not exist in Android CPP library. ( It was also not present in JAVA library i.e. "chilkat-9.4.0-android-all.zip". I have mentioned it in link:"Any possibility of Progress Monitoring for ftp2 on Android".

Best Regards

sanjaysampat


Answer

This is with reference to QT5.1.0 with "mingw48_32" folder in tools.
I have downloaded the "MinGW (32-bit, gcc 4.8.1, C++ 11, posix, sjlj, rv2)" zip file. Tried to build the sample project again. But I got many linking errors as under.
C:SHSThirdParty/chilkat-9.4.1-mingw481-x32-posix-sjlj-rv2/libchilkat-9.4.1.a(CkFtp2.o):CkFtp2.cpp:(.text+0xeb): undefined reference to __gxx_personality_sj0' C:\SHS\ThirdParty/chilkat-9.4.1-mingw481-x32-posix-sjlj-rv2/libchilkat-9.4.1.a(CkFtp2.o):CkFtp2.cpp:(.text+0x104): undefined reference to_Unwind_SjLj_Register'

I tried to search the error on web. I found the following link:undefined reference to `__gxx_personality_sj0.

With reference to above link, I am adding the output of "C:\QT\Qt5.1.0\Tools\mingw48_32\bin\g++.exe" as following...

C:QTQt5.1.0Toolsmingw48_32bin>g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=c:/qt/qt5.1.0/tools/mingw48_32/bin/../libexec/gcc/i686-w64-m ingw32/4.8.0/lto-wrapper.exe Target: i686-w64-mingw32 Configured with: ../../../src/gcc-4.8.0/configure --host=i686-w64-mingw32 --buil d=i686-w64-mingw32 --target=i686-w64-mingw32 --prefix=/mingw32 --with-sysroot=/t emp/x32-480-posix-dwarf-r2/mingw32 --enable-shared --enable-static --disable-mul tilib --enable-languages=c,c++,fortran,lto --enable-libstdcxx-time=yes --enable- threads=posix --enable-libgomp --enable-lto --enable-graphite --enable-checking= release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --d isable-sjlj-exceptions --with-dwarf2 --disable-isl-version-check --disable-cloog -version-check --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-boots trap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --d isable-symvers --with-gnu-as --with-gnu-ld --with-arch=i686 --with-tune=generic --with-host-libstdcxx='-static -lstdc++' --with-libiconv --with-system-zlib --wi th-gmp=/temp/mingw-prereq/i686-w64-mingw32-static --with-mpfr=/temp/mingw-prereq /i686-w64-mingw32-static --with-mpc=/temp/mingw-prereq/i686-w64-mingw32-static - -with-isl=/temp/mingw-prereq/i686-w64-mingw32-static --with-cloog=/temp/mingw-pr ereq/i686-w64-mingw32-static --enable-cloog-backend=isl --with-pkgversion='rev2, Built by MinGW-builds project' --with-bugurl=http://sourceforge.net/projects/mi ngwbuilds/ CFLAGS='-O2 -pipe -I/temp/x32-480-posix-dwarf-r2/libs/include -I/temp /mingw-prereq/x32-zlib/include -I/temp/mingw-prereq/i686-w64-mingw32-static/incl ude' CXXFLAGS='-O2 -pipe -I/temp/x32-480-posix-dwarf-r2/libs/include -I/temp/min gw-prereq/x32-zlib/include -I/temp/mingw-prereq/i686-w64-mingw32-static/include' CPPFLAGS= LDFLAGS='-pipe -L/temp/x32-480-posix-dwarf-r2/libs/lib -L/temp/mingw- prereq/x32-zlib/lib -L/temp/mingw-prereq/i686-w64-mingw32-static/lib -L/temp/x32 -480-posix-dwarf-r2/mingw32/opt/lib' Thread model: posix gcc version 4.8.0 (rev2, Built by MinGW-builds project)

I hope this will be useful to you. ( You may find the text of 'dwarf' in above. )