Opened 10 years ago

Closed 4 years ago

#605 closed defect/bug (worksforme)

Mingw Windows plugin build failures

Reported by: richt Owned by:
Priority: major Milestone: version 1.0
Component: core Version: git master
Severity: normal Keywords:
Cc:

Description

Many plugins fail to build on Windows with mingw with the error:

libtool: link: warning: undefined symbols not allowed in i686-pc-mingw32 shared libraries

This is due to incomplete library definitions for the affected modules leading to unresolved imports. In some cases (gui/gtk) the ..la_LD doesn't contain NAVIT_MODULE_LDFLAGS so -lnavit is missing. I'm working on patches for the relevant Makefile.ams.

This is occurring with:

  • (GNU libtool 1.3110 2009-07-01) 2.2.7a
  • gcc 4.5.0 (mingw32)
  • ld 2.20

Also it's possible to specify -no-undefined to libtool, which will make missing libraries a fatal error (on windows).

Attachments (1)

windows-makefiles.patch (2.6 KB) - added by richt 10 years ago.
Patch adds missing build dependencies for plugins on windows

Download all attachments as: .zip

Change History (5)

comment:1 Changed 10 years ago by richt

  • Status changed from new to assigned

I'm also having trouble with a conflict between the system libintl (from gettext 0.17) and the one shipped with navit (from 0.14), since 0.17 no longer supplies libintl_printf. I think it's a ./configure change to make sure it uses consistent headers and libraries.

Changed 10 years ago by richt

Patch adds missing build dependencies for plugins on windows

comment:2 Changed 10 years ago by richt

  • Owner richt deleted
  • Status changed from assigned to new

The libintl problems can be fixed with --with-libintl-prefix=/mingw

The affected modules with missing dependencies are gui/gtk graphics/gtk_drawing_area, fonts/freetype gui/win32

The attached patch fixes the dependency problems and adds -no-undefined and --enable-auto-imports to the LD options.

Note that there is currently a WinCE dependency in Win32 GUI, I've not tried to fix this, either disable it or don't set -no-undefined, either way you won't get a usable win32/gui plugin.

comment:3 Changed 4 years ago by kazer

  • Severity set to normal

We are deprecating autotools, but I also believe that this has been addressed when we switched to cmake.

comment:4 Changed 4 years ago by kazer

  • Resolution set to worksforme
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.