After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 120953 - undefined references with libtool <1.5 on Win32 (MinGW)
undefined references with libtool <1.5 on Win32 (MinGW)
Status: RESOLVED FIXED
Product: GIMP
Classification: Other
Component: libgimp
1.x
Other Windows
: Normal normal
: ---
Assigned To: GIMP Bugs
GIMP Bugs
: 152433 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2003-08-28 21:59 UTC by Michael Schumacher
Modified: 2005-07-27 08:53 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Michael Schumacher 2003-08-28 21:59:02 UTC
When compiling GIMP 1.3 from CVS on Win32 (using gcc 3.2.3), make fails
with the following messages:


/bin/sh ../libtool --mode=link gcc  -Ic:/usr/src/include -Wall
-mms-bitfields  -Lc:/usr/src/lib -o libgimpui-1.3.la -rpath
/c/temp/gimp1.3/lib -version-info 19:0:0 -no-undefined -export-symbols
gimpui.def gimpui.lo gimpmenu.lo gimpmiscui.lo gimpbrushmenu.lo
gimpfontmenu.lo gimpgradientmenu.lo gimppatternmenu.lo gimpexport.lo
./libgimp-1.3.la ../libgimpwidgets/libgimpwidgets-1.3.la
../libgimpcolor/libgimpcolor-1.3.la ../libgimpbase/libgimpbase-1.3.la
-LC:/USR/SRC/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0
-lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0
-lintl -liconv   
rm -fr  .libs/libgimpui-1.3.a .libs/libgimpui-1.3.dll.a
.libs/libgimpui-1.3.la .libs/libgimpui-1.3.lai
gcc -shared  .libs/gimpui.o .libs/gimpmenu.o .libs/gimpmiscui.o
.libs/gimpbrushmenu.o .libs/gimpfontmenu.o .libs/gimpgradientmenu.o
.libs/gimppatternmenu.o .libs/gimpexport.o 
-L/c/usr/compile/gimp/libgimpbase/.libs -LC:/USR/SRC/lib
-L/c/usr/compile/gimp/libgimpcolor/.libs -Lc:/usr/src/lib
./.libs/libgimp-1.3.dll.a ../libgimpwidgets/.libs/libgimpwidgets-1.3.dll.a
../libgimpcolor/.libs/libgimpcolor-1.3.dll.a
../libgimpbase/.libs/libgimpbase-1.3.dll.a -lgtk-win32-2.0 -lgdk-win32-2.0
-latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0
-lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv  -mms-bitfields -o
.libs/libgimpui-1.3-19.dll -Wl,-retain-symbols-file -Wl,gimpui.def
-Wl,--out-implib,.libs/libgimpui-1.3.dll.a
Creating library file: .libs/libgimpui-1.3.dll.a
.libs/gimpui.o(.text+0x15a):gimpui.c: undefined reference to `gimp_min_colors'
.libs/gimpui.o(.text+0x171):gimpui.c: undefined reference to
`gimp_install_cmap'
.libs/gimpui.o(.text+0x1a5):gimpui.c: undefined reference to `gimp_gamma'
.libs/gimpui.o(.text+0x1c2):gimpui.c: undefined reference to
`gimp_unit_get_number_of_units'
.libs/gimpui.o(.text+0x1c9):gimpui.c: undefined reference to
`gimp_unit_get_number_of_built_in_units'
.libs/gimpui.o(.text+0x1d0):gimpui.c: undefined reference to
`gimp_unit_get_factor'
.libs/gimpui.o(.text+0x1d7):gimpui.c: undefined reference to
`gimp_unit_get_digits'
.libs/gimpui.o(.text+0x1de):gimpui.c: undefined reference to
`gimp_unit_get_identifier'
.libs/gimpui.o(.text+0x1e5):gimpui.c: undefined reference to
`gimp_unit_get_symbol'
.libs/gimpui.o(.text+0x1ec):gimpui.c: undefined reference to
`gimp_unit_get_abbreviation'
.libs/gimpui.o(.text+0x1f3):gimpui.c: undefined reference to
`gimp_unit_get_singular'
.libs/gimpui.o(.text+0x1fa):gimpui.c: undefined reference to
`gimp_unit_get_plural'
.libs/gimpui.o(.text+0x1ff):gimpui.c: undefined reference to
`gimp_palette_get_background'
.libs/gimpui.o(.text+0x204):gimpui.c: undefined reference to
`gimp_palette_get_foreground'
.libs/gimpui.o(.text+0x21a):gimpui.c: undefined reference to
`gimp_show_tool_tips'
.libs/gimpui.o(.text+0x244):gimpui.c: undefined reference to
`gimp_get_progname'
.libs/gimpui.o(.text+0x24d):gimpui.c: undefined reference to `gimp_help'
.libs/gimpui.o(.text+0x24d):gimpui.c: undefined reference to `gimp_help'
.libs/gimpmenu.o(.text+0xe1):gimpmenu.c: undefined reference to
`gimp_image_list'
.libs/gimpmenu.o(.text+0x149):gimpmenu.c: undefined reference to
`gimp_image_get_name'
.libs/gimpmenu.o(.text+0x2e4):gimpmenu.c: undefined reference to
`gimp_image_list'
.libs/gimpmenu.o(.text+0x34c):gimpmenu.c: undefined reference to
`gimp_image_get_name'
.libs/gimpmenu.o(.text+0x3a2):gimpmenu.c: undefined reference to
`gimp_image_get_layers'
.libs/gimpmenu.o(.text+0x411):gimpmenu.c: undefined reference to
`gimp_layer_get_name'
.libs/gimpmenu.o(.text+0x5a0):gimpmenu.c: undefined reference to
`gimp_image_list'
.libs/gimpmenu.o(.text+0x608):gimpmenu.c: undefined reference to
`gimp_image_get_name'
.libs/gimpmenu.o(.text+0x65e):gimpmenu.c: undefined reference to
`gimp_image_get_channels'
.libs/gimpmenu.o(.text+0x6cd):gimpmenu.c: undefined reference to
`gimp_channel_get_name'
.libs/gimpmenu.o(.text+0x807):gimpmenu.c: undefined reference to
`gimp_image_list'
.libs/gimpmenu.o(.text+0x86f):gimpmenu.c: undefined reference to
`gimp_image_get_name'
.libs/gimpmenu.o(.text+0x8c5):gimpmenu.c: undefined reference to
`gimp_image_get_layers'
.libs/gimpmenu.o(.text+0x8e7):gimpmenu.c: undefined reference to
`gimp_image_get_channels'
.libs/gimpmenu.o(.text+0x956):gimpmenu.c: undefined reference to
`gimp_layer_get_name'
.libs/gimpmenu.o(.text+0xa62):gimpmenu.c: undefined reference to
`gimp_channel_get_name'
.libs/gimpmenu.o(.text+0xf17):gimpmenu.c: undefined reference to
`gimp_image_get_thumbnail_data'
.libs/gimpmenu.o(.text+0xf33):gimpmenu.c: undefined reference to
`gimp_drawable_get_thumbnail_data'
.libs/gimpmiscui.o(.text+0xbee):gimpmiscui.c: undefined reference to
`gimp_drawable_get_thumbnail_data'
.libs/gimpmiscui.o(.text+0xc29):gimpmiscui.c: undefined reference to
`gimp_drawable_is_indexed'
.libs/gimpmiscui.o(.text+0xc3b):gimpmiscui.c: undefined reference to
`gimp_drawable_image'
.libs/gimpmiscui.o(.text+0xc56):gimpmiscui.c: undefined reference to
`gimp_image_get_cmap'
.libs/gimpmiscui.o(.text+0xcaa):gimpmiscui.c: undefined reference to
`gimp_drawable_width'
.libs/gimpmiscui.o(.text+0xccf):gimpmiscui.c: undefined reference to
`gimp_drawable_height'
.libs/gimpmiscui.o(.text+0xdfe):gimpmiscui.c: undefined reference to
`gimp_drawable_mask_bounds'
.libs/gimpmiscui.o(.text+0xe56):gimpmiscui.c: undefined reference to
`gimp_drawable_bytes'
.libs/gimpmiscui.o(.text+0xe69):gimpmiscui.c: undefined reference to
`gimp_drawable_is_indexed'
.libs/gimpmiscui.o(.text+0xe7d):gimpmiscui.c: undefined reference to
`gimp_drawable_image'
.libs/gimpmiscui.o(.text+0xe98):gimpmiscui.c: undefined reference to
`gimp_image_get_cmap'
.libs/gimpmiscui.o(.text+0xef4):gimpmiscui.c: undefined reference to
`gimp_pixel_rgn_init'
.libs/gimpmiscui.o(.text+0xfa3):gimpmiscui.c: undefined reference to
`gimp_pixel_rgn_get_row'
.libs/gimpmiscui.o(.text+0x10c2):gimpmiscui.c: undefined reference to
`gimp_drawable_mask_bounds'
.libs/gimpmiscui.o(.text+0x116c):gimpmiscui.c: undefined reference to
`gimp_drawable_bytes'
.libs/gimpmiscui.o(.text+0x117f):gimpmiscui.c: undefined reference to
`gimp_drawable_is_indexed'
.libs/gimpmiscui.o(.text+0x1193):gimpmiscui.c: undefined reference to
`gimp_drawable_image'
.libs/gimpmiscui.o(.text+0x11ae):gimpmiscui.c: undefined reference to
`gimp_image_get_cmap'
.libs/gimpmiscui.o(.text+0x12ac):gimpmiscui.c: undefined reference to
`gimp_pixel_fetcher_new'
.libs/gimpmiscui.o(.text+0x1328):gimpmiscui.c: undefined reference to
`gimp_pixel_fetcher_get_pixel'
.libs/gimpmiscui.o(.text+0x1375):gimpmiscui.c: undefined reference to
`gimp_pixel_fetcher_destroy'
.libs/gimpmiscui.o(.text+0x1535):gimpmiscui.c: undefined reference to
`gimp_gimprc_query'
.libs/gimpbrushmenu.o(.text+0x37c):gimpbrushmenu.c: undefined reference to
`gimp_brushes_get_brush_data'
.libs/gimpbrushmenu.o(.text+0x512):gimpbrushmenu.c: undefined reference to
`gimp_brush_select_destroy'
.libs/gimpbrushmenu.o(.text+0x5e0):gimpbrushmenu.c: undefined reference to
`gimp_brushes_set_popup'
.libs/gimpbrushmenu.o(.text+0x60c):gimpbrushmenu.c: undefined reference to
`gimp_brushes_get_brush_data'
.libs/gimpbrushmenu.o(.text+0x7db):gimpbrushmenu.c: undefined reference to
`gimp_brushes_set_popup'
.libs/gimpbrushmenu.o(.text+0x810):gimpbrushmenu.c: undefined reference to
`gimp_brush_select_new'
.libs/gimpbrushmenu.o(.text+0x839):gimpbrushmenu.c: undefined reference to
`gimp_brush_select_destroy'
.libs/gimpfontmenu.o(.text+0x392):gimpfontmenu.c: undefined reference to
`gimp_font_select_destroy'
.libs/gimpfontmenu.o(.text+0x437):gimpfontmenu.c: undefined reference to
`gimp_fonts_set_popup'
.libs/gimpfontmenu.o(.text+0x50c):gimpfontmenu.c: undefined reference to
`gimp_fonts_set_popup'
.libs/gimpfontmenu.o(.text+0x52c):gimpfontmenu.c: undefined reference to
`gimp_font_select_new'
.libs/gimpfontmenu.o(.text+0x555):gimpfontmenu.c: undefined reference to
`gimp_font_select_destroy'
.libs/gimpgradientmenu.o(.text+0x279):gimpgradientmenu.c: undefined
reference to `gimp_gradients_get_gradient_data'
.libs/gimpgradientmenu.o(.text+0x394):gimpgradientmenu.c: undefined
reference to `gimp_gradient_select_destroy'
.libs/gimpgradientmenu.o(.text+0x455):gimpgradientmenu.c: undefined
reference to `gimp_gradients_set_popup'
.libs/gimpgradientmenu.o(.text+0x479):gimpgradientmenu.c: undefined
reference to `gimp_gradients_get_gradient_data'
.libs/gimpgradientmenu.o(.text+0x568):gimpgradientmenu.c: undefined
reference to `gimp_gradients_set_popup'
.libs/gimpgradientmenu.o(.text+0x591):gimpgradientmenu.c: undefined
reference to `gimp_gradient_select_new'
.libs/gimpgradientmenu.o(.text+0x5b9):gimpgradientmenu.c: undefined
reference to `gimp_gradient_select_destroy'
.libs/gimppatternmenu.o(.text+0x387):gimppatternmenu.c: undefined reference
to `gimp_patterns_get_pattern_data'
.libs/gimppatternmenu.o(.text+0x4b4):gimppatternmenu.c: undefined reference
to `gimp_pattern_select_destroy'
.libs/gimppatternmenu.o(.text+0x578):gimppatternmenu.c: undefined reference
to `gimp_patterns_set_popup'
.libs/gimppatternmenu.o(.text+0x59c):gimppatternmenu.c: undefined reference
to `gimp_patterns_get_pattern_data'
.libs/gimppatternmenu.o(.text+0x6ea):gimppatternmenu.c: undefined reference
to `gimp_patterns_set_popup'
.libs/gimppatternmenu.o(.text+0x70a):gimppatternmenu.c: undefined reference
to `gimp_pattern_select_new'
.libs/gimppatternmenu.o(.text+0x733):gimppatternmenu.c: undefined reference
to `gimp_pattern_select_destroy'
.libs/gimpexport.o(.text+0x1b):gimpexport.c: undefined reference to
`gimp_image_get_layers'
.libs/gimpexport.o(.text+0x4a):gimpexport.c: undefined reference to
`gimp_drawable_visible'
.libs/gimpexport.o(.text+0x76):gimpexport.c: undefined reference to
`gimp_drawable_type'
.libs/gimpexport.o(.text+0x88):gimpexport.c: undefined reference to
`gimp_image_height'
.libs/gimpexport.o(.text+0x97):gimpexport.c: undefined reference to
`gimp_image_width'
.libs/gimpexport.o(.text+0xa8):gimpexport.c: undefined reference to
`gimp_layer_new'
.libs/gimpexport.o(.text+0xbe):gimpexport.c: undefined reference to
`gimp_image_add_layer'
.libs/gimpexport.o(.text+0xcc):gimpexport.c: undefined reference to
`gimp_selection_none'
.libs/gimpexport.o(.text+0xda):gimpexport.c: undefined reference to
`gimp_edit_clear'
.libs/gimpexport.o(.text+0x107):gimpexport.c: undefined reference to
`gimp_image_merge_visible_layers'
.libs/gimpexport.o(.text+0x12e):gimpexport.c: undefined reference to
`gimp_image_get_layers'
.libs/gimpexport.o(.text+0x13f):gimpexport.c: undefined reference to
`gimp_drawable_width'
.libs/gimpexport.o(.text+0x14f):gimpexport.c: undefined reference to
`gimp_image_width'
.libs/gimpexport.o(.text+0x161):gimpexport.c: undefined reference to
`gimp_drawable_height'
.libs/gimpexport.o(.text+0x171):gimpexport.c: undefined reference to
`gimp_image_height'
.libs/gimpexport.o(.text+0x18d):gimpexport.c: undefined reference to
`gimp_drawable_offsets'
.libs/gimpexport.o(.text+0x1a4):gimpexport.c: undefined reference to
`gimp_image_height'
.libs/gimpexport.o(.text+0x1b3):gimpexport.c: undefined reference to
`gimp_image_width'
.libs/gimpexport.o(.text+0x1bf):gimpexport.c: undefined reference to
`gimp_layer_resize'
.libs/gimpexport.o(.text+0x205):gimpexport.c: undefined reference to
`gimp_image_remove_layer'
.libs/gimpexport.o(.text+0x233):gimpexport.c: undefined reference to
`gimp_image_flatten'
.libs/gimpexport.o(.text+0x25b):gimpexport.c: undefined reference to
`gimp_convert_rgb'
.libs/gimpexport.o(.text+0x271):gimpexport.c: undefined reference to
`gimp_convert_grayscale'
.libs/gimpexport.o(.text+0x290):gimpexport.c: undefined reference to
`gimp_image_get_layers'
.libs/gimpexport.o(.text+0x2af):gimpexport.c: undefined reference to
`gimp_drawable_has_alpha'
.libs/gimpexport.o(.text+0x2d5):gimpexport.c: undefined reference to
`gimp_convert_indexed'
.libs/gimpexport.o(.text+0x2f7):gimpexport.c: undefined reference to
`gimp_convert_indexed'
.libs/gimpexport.o(.text+0x311):gimpexport.c: undefined reference to
`gimp_image_get_layers'
.libs/gimpexport.o(.text+0x340):gimpexport.c: undefined reference to
`gimp_drawable_has_alpha'
.libs/gimpexport.o(.text+0x35f):gimpexport.c: undefined reference to
`gimp_layer_add_alpha'
.libs/gimpexport.o(.text+0x16c6):gimpexport.c: undefined reference to
`gimp_drawable_is_layer'
.libs/gimpexport.o(.text+0x16ec):gimpexport.c: undefined reference to
`gimp_drawable_is_layer_mask'
.libs/gimpexport.o(.text+0x172d):gimpexport.c: undefined reference to
`gimp_drawable_is_channel'
.libs/gimpexport.o(.text+0x179e):gimpexport.c: undefined reference to
`gimp_image_get_layers'
.libs/gimpexport.o(.text+0x17d0):gimpexport.c: undefined reference to
`gimp_drawable_has_alpha'
.libs/gimpexport.o(.text+0x1821):gimpexport.c: undefined reference to
`gimp_layer_get_visible'
.libs/gimpexport.o(.text+0x188a):gimpexport.c: undefined reference to
`gimp_drawable_is_layer'
.libs/gimpexport.o(.text+0x18b8):gimpexport.c: undefined reference to
`gimp_drawable_offsets'
.libs/gimpexport.o(.text+0x18c8):gimpexport.c: undefined reference to
`gimp_layer_get_opacity'
.libs/gimpexport.o(.text+0x18e7):gimpexport.c: undefined reference to
`gimp_image_width'
.libs/gimpexport.o(.text+0x18f9):gimpexport.c: undefined reference to
`gimp_drawable_width'
.libs/gimpexport.o(.text+0x190d):gimpexport.c: undefined reference to
`gimp_image_height'
.libs/gimpexport.o(.text+0x191f):gimpexport.c: undefined reference to
`gimp_drawable_height'
.libs/gimpexport.o(.text+0x1a35):gimpexport.c: undefined reference to
`gimp_image_base_type'
.libs/gimpexport.o(.text+0x1c3e):gimpexport.c: undefined reference to
`gimp_image_duplicate'
.libs/gimpexport.o(.text+0x1c55):gimpexport.c: undefined reference to
`gimp_image_get_active_layer'
.libs/gimpexport.o(.text+0x1c6c):gimpexport.c: undefined reference to
`gimp_image_undo_disable'
make[2]: *** [libgimpui-1.3.la] Error 1
make[2]: Leaving directory `/c/usr/compile/gimp/libgimp'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/c/usr/compile/gimp'
make: *** [all] Error 2

===================================


There is a workaround - in the file libgimp-1.3.la, change 

library_names='libgimp-1.3.dll.a'

to

library_names='libgimp-1.3.a'

Is there something wrong with GIMP, or is this a problem of the MinGW
environment? BTW, a similiar problem happens with libgimpui-1.3.la,
changing 'library_names' to 'libgimpui-1.3.a' solves it, too.
Comment 1 Michael Schumacher 2003-08-29 18:57:29 UTC
Seems like libtool 1.5 fixes this - too bad that the current stable
MinGW doesn't include it, just libtool 1.4e. Will try to verify this
on another system.
Comment 2 Michael Schumacher 2003-08-30 21:31:01 UTC
Ok, confirmed it - libtool 1.5 fixes this problem. This should be
documented somewhere.
Comment 3 Sven Neumann 2003-08-31 22:54:35 UTC
Would it make sense to start building the tarballs with libtool-1.5?
The machine that I usually use to build them would need an update but
if it would help, I could try to use libtool from debian unstable. Are
people attempting win32 builds from the tarball at all?
Comment 4 Manish Singh 2003-08-31 23:03:34 UTC
Probably worth doing so, and also checking that the user has at least
libtool 1.5 on win32 in autogen.sh. Though I wish there was a separate
libtool for windows so it doesn't penalize the rest of us....
Comment 5 Sven Neumann 2003-08-31 23:11:27 UTC
Do you expect any problems for the UNIX builds when we switch to
libtool-1.5 ?
Comment 6 Manish Singh 2003-08-31 23:28:05 UTC
No. It has some bugs, but not something that can't be worked around
(and  almost all users won't hit them anyway).

My issue with libtool win32 support is that it adds a crapload of
complexity to an already complex shell script, which makes debugging a
lot harder, as well as slowing down compiles with all that parsing.

Ok, my real issue with libtool is that it's implementation assumption
of running it on every compile is completely braindead.
Comment 7 Sven Neumann 2003-09-03 16:02:57 UTC
How would one check for win32 in autogen.sh? I would like to get this
bug closed...
Comment 8 Manish Singh 2003-09-03 16:26:07 UTC
uname -s should work, and check for CYGWIN*|MINGW*
Comment 9 Sven Neumann 2003-09-03 17:36:20 UTC
2003-09-03  Sven Neumann  <sven@gimp.org>

  * HACKING	
  * autogen.sh: require libtool version 1.5.0 or newer when building
  on Win32. Completely untested but it should fix bug #120953.

Comment 10 Samuel Stringham 2005-07-27 08:52:20 UTC
*** Bug 140336 has been marked as a duplicate of this bug. ***
Comment 11 Samuel Stringham 2005-07-27 08:52:59 UTC
*** Bug 152433 has been marked as a duplicate of this bug. ***
Comment 12 Samuel Stringham 2005-07-27 08:53:42 UTC
*** Bug 154867 has been marked as a duplicate of this bug. ***