Hi,

recently I am trying to cross compile some base GNU libraries for both
32bit and 64bit Windows host. The build system is Debian 6.0.6. I am
using Ruben's personal build
(xxx-w64-mingw32-gcc-4.7.2-release-linux64_rubenvb.tar).

When building glib with the x86_64 target, I get the following error at
some point of linking:

  CC       gspawn-win32.lo
  CC       gwin32.lo
cd .. && /bin/bash ./config.status glib/glib.rc
config.status: creating glib/glib.rc
x86_64-w64-mingw32-windres glib.rc glib-win32-res.o
  CCLD     libglib-2.0.la
Cannot export g_dir_open: symbol not defined
Cannot export g_dir_read_name: symbol not defined
...
Cannot export g_unsetenv: symbol not defined
Cannot export g_win32_get_package_installation_directory: symbol not
defined
Cannot export g_win32_get_package_installation_subdirectory: symbol not
defined
collect2: error: ld returned 1 exit status
make[4]: *** [libglib-2.0.la] Error 1
make[4]: Leaving directory `/home/pavel/Programs/GNUsystem/glib/glib'
make[3]: *** [all-recursive] Error 1

The list of not defined symbols is longer but it is not important at the
moment. The interesting point is that all the not defined symbols have
an alias defined via #define directive. So for example gdir.h contains:

#define g_dir_open g_dir_open_utf8
GDir* g_dir_open(const gchar *path, guint flags, GError **error);

and the glib.def declares both g_dir_open and g_dir_open_utf8 for
export. g_dir_open is marked as PRIVATE, but it is probably also not
important. When I comment out the #define line in gdir.h and comment out
g_dir_open_utf8 in the def file, then g_dir_open is not reported as
undefined symbol anymore.

And finally, when configure runs with the same parameters for the i686
host, then everything compiles without problems.

So, can anybody help me with this so that I don't need to make changes
to the source code? Is there any compiler switch or something like that?
Or is there any other mingw64 cross compiler build I could try?

Thanks, Pavel



------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to