Bug #42

-l flags wrongly ordered

Added by Kevin Horton almost 11 years ago. Updated 6 months ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


I maintain the sylpheed package for the Fink packaging system for OS X. A Fink developer reported that sypheed fails to build if avfs-dev is installed. Terminal output:

if gcc -DHAVE_CONFIG_H -I. -I. -I.. -DG_LOG_DOMAIN=\"Sylpheed\" -I/sw/include/pango-1.0 -I/sw/include -I/sw/include/freetype2 -I/sw/include/gtk-2.0 -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/usr/X11R6/include -I/usr/X11/include -I/sw/include -I../libsylph -DLOCALEDIR=\""/sw/share/locale"\" -DMANUALDIR=\""/sw/share/sylpheed/manual"\" -DFAQDIR=\""/sw/share/sylpheed/faq"\" -DPLUGINDIR=\""/sw/lib/sylpheed/plugins"\" -DTARGET_ALIAS=\""i386-apple-darwin10.8.0"\" -DSYSCONFDIR=\""/sw/etc"\" -I/sw/lib/system-openssl/include -I/sw/include -g -O2 -no-cpp-precomp -fno-common -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pango-1.0 -I/sw/include -I/sw/include/freetype2 -I/sw/include/gtkspell-2.0 -I/sw/include/gtk-2.0 -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/usr/X11R6/include -I/usr/X11/include -I/sw/include/dbus-1.0 -I/sw/lib/dbus-1.0/include -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -MT folderview.o -MD -MP -MF ".deps/folderview.Tpo" \
-c -o folderview.o `test -f 'folderview.c' || echo './'`folderview.c; \
then mv -f ".deps/folderview.Tpo" ".deps/folderview.Po"; \
else rm -f ".deps/folderview.Tpo"; exit 1; \

[skipping some warnings that aren't relevant to this bug]

folderview.c: In function 'folderview_rename_folder_cb':
folderview.c:2533: error: invalid type argument of '->'
folderview.c: In function 'folderview_delete_folder_cb':
folderview.c:2723: error: invalid type argument of '->'


Happens when avfs-dev is installed, because that package supplies /sw/include/virtual.h but when folderview.c says '#include "plugin.h" it wants the one that is part of the sources being built, not some external library's. The bug is in the ordering of the -I flags: notice that some of the /sw ones come before ../libsylph rather than the universally proper "all local -I before any external/global ones" way.


Updated by Daniel Macks almost 11 years ago

(the fink developer, following up)

I misreported the .h to Kevin--it's actually #include "virtual.h"' that leads to the misloading (not sure if plugin.h was part of some #include spaghetti or I just copied that line from the wrong source file).

I see the same flag ordering situation in the INCLUDES of several different (tested on sylpheed-3.1.0 and the makefile templates look the same in the newer stable release version). Moving things like -I$(top_srcdir) -I$(top_srcdir)/src and -I$(top_srcdir)/libsylph to the beginning of that variable fixed the problem for me.


Updated by Hiroyuki Yamamoto almost 11 years ago

  • Status changed from New to In Progress
  • Assignee set to Hiroyuki Yamamoto

Updated by Hiroyuki Yamamoto almost 11 years ago

  • Status changed from In Progress to Resolved
  • Target version set to 3.2

Fixed in svn r3019.


Updated by Hiroyuki Yamamoto almost 11 years ago

  • Status changed from Resolved to Closed

Updated by boddy massage 6 months ago

We are one of the best body massage service providers in bangalore. Call us for female to male full body massage. We are Offering professional full body massage in bangalore.

Also available in: Atom PDF