Re: [Rhythmbox-devel] building rhythmbox for win32 with MinGW/MSYS



On Sun, Mar 8, 2009 at 8:04 PM, Brecht Sanders<brecht sanders org> wrote:
> Anyway, after addressing all this points (admittedly sometimes in a dirty
> way by commenting out some things) I was able compile everything. However
> linking failed with the output below. Basically there are a lot of undefined
> references. Any idea why this happens?

I think I have spotted the problem.  Building corelib with
-no-undefined, I got the below errors. Now a question to Rhythmbox
developers: why does librhythmbox-core need something from rb-shell*?

/bin/sh ../libtool --tag=CC   --mode=link mingw32-gcc  -g -O2
-export-dynamic -no-undefined  -o librhythmbox-core.la -rpath
/usr/local/lib  ../sources/libsources.la ../metadata/librbmetadata.la
../widgets/librbwidgets.la ../rhythmdb/librhythmdb.la
../backends/librbbackends.la ../lib/librb.la -lz
libtool: link: rm -fr  .libs/librhythmbox-core.dll.a
libtool: link: mingw32-gcc -shared  -Wl,--whole-archive
../sources/.libs/libsources.a ../metadata/.libs/librbmetadata.a
../widgets/.libs/librbwidgets.a ../rhythmdb/.libs/librhythmdb.a
../backends/.libs/librbbackends.a ../lib/.libs/librb.a
-Wl,--no-whole-archive  -L/usr/mingw32/usr/lib
/usr/mingw32/usr/lib/libdbus-glib-1.dll.a
/usr/mingw32/usr/lib/libdbus-1.dll.a
/usr/mingw32/usr/lib/libgstpbutils-0.10.dll.a
/usr/mingw32/usr/lib/libgstcontroller-0.10.dll.a
/usr/mingw32/usr/lib/libgtk-win32-2.0.dll.a -lcomdlg32 -lwinspool
-lcomctl32 /usr/mingw32/usr/lib/libgdk-win32-2.0.dll.a -limm32
-lshell32 /usr/mingw32/usr/lib/libatk-1.0.dll.a
/usr/mingw32/usr/lib/libgdk_pixbuf-2.0.dll.a
/usr/mingw32/usr/lib/libpangocairo-1.0.dll.a
/usr/mingw32/usr/lib/libcairo.dll.a
/usr/mingw32/usr/lib/libpixman-1.dll.a
/usr/mingw32/usr/lib/libfontconfig.dll.a
/usr/mingw32/usr/lib/libfreetype.dll.a
/usr/mingw32/usr/lib/libexpat.dll.a
/usr/mingw32/usr/lib/libpng12.dll.a -lmsimg32
/usr/mingw32/usr/lib/libpangowin32-1.0.dll.a -lgdi32
/usr/mingw32/usr/lib/libpango-1.0.dll.a
/usr/mingw32/usr/lib/libsoup-2.4.dll.a
/usr/mingw32/usr/lib/libgio-2.0.dll.a -lshlwapi
/usr/mingw32/usr/lib/libgconf-2.dll.a
/usr/mingw32/usr/lib/libORBit-2.dll.a
/usr/mingw32/usr/lib/libgstbase-0.10.dll.a
/usr/mingw32/usr/lib/libgstreamer-0.10.dll.a
/usr/mingw32/usr/lib/libgobject-2.0.dll.a
/usr/mingw32/usr/lib/libgmodule-2.0.dll.a
/usr/mingw32/usr/lib/libgthread-2.0.dll.a
/usr/mingw32/usr/lib/libxml2.dll.a
/usr/mingw32/usr/lib/libglib-2.0.dll.a -lws2_32 -lole32
/usr/mingw32/usr/lib/libintl.dll.a -lz    -o
.libs/librhythmbox-core-0.dll -Wl,--enable-auto-image-base -Xlinker
--out-implib -Xlinker .libs/librhythmbox-core.dll.a
Info: resolving __SOUP_URI_SCHEME_HTTP by linking to
__imp___SOUP_URI_SCHEME_HTTP (auto-import)
Creating library file:
.libs/librhythmbox-core.dll.a/usr/libexec/gcc/mingw32/ld: warning:
auto-importing has been activated without --enable-auto-import
specified on the command line.
This should work unless it involves constant data structures
referencing symbols from auto-imported DLLs.
../sources/.libs/libsources.a(rb-source.o): In function
`rb_source_can_move_to_trash':
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-source.c:1043:
undefined reference to `_rb_shell_get_party_mode'
../sources/.libs/libsources.a(rb-source.o): In function `rb_source_can_delete':
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-source.c:1023:
undefined reference to `_rb_shell_get_party_mode'
../sources/.libs/libsources.a(rb-source.o): In function `rb_source_can_rename':
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-source.c:927: undefined
reference to `_rb_shell_get_party_mode'
../sources/.libs/libsources.a(rb-source.o): In function `rb_source_class_init':
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-source.c:226: undefined
reference to `_rb_shell_get_type'
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-source.c:322: undefined
reference to `_rb_plugin_get_type'
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-source.c:348: undefined
reference to `_rb_play_order_get_type'
../sources/.libs/libsources.a(rb-source.o): In function `default_add_to_queue':
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-source.c:1146:
undefined reference to `_rb_static_playlist_source_get_type'
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-source.c:1146:
undefined reference to `_rb_static_playlist_source_add_entry'
../sources/.libs/libsources.a(rb-streaming-source.o): In function
`emit_notification_cb':
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-streaming-source.c:356:
undefined reference to `_rb_shell_do_notify'
../sources/.libs/libsources.a(rb-streaming-source.o): In function
`extra_metadata_gather_cb':
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-streaming-source.c:316:
undefined reference to `_rb_shell_player_get_playing_entry'
../sources/.libs/libsources.a(rb-streaming-source.o): In function
`streaming_album_request_cb':
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-streaming-source.c:298:
undefined reference to `_rb_shell_player_get_playing_entry'
../sources/.libs/libsources.a(rb-streaming-source.o): In function
`streaming_artist_request_cb':
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-streaming-source.c:279:
undefined reference to `_rb_shell_player_get_playing_entry'
../sources/.libs/libsources.a(rb-streaming-source.o): In function
`streaming_title_request_cb':
/home/pclouds/w/rhythmbox/rhythmbox/sources/rb-streaming-source.c:260:
undefined reference to `_rb_shell_player_get_playing_entry'
../widgets/.libs/librbwidgets.a(rb-entry-view.o): In function
`rb_entry_view_new':
/home/pclouds/w/rhythmbox/rhythmbox/widgets/rb-entry-view.c:854:
undefined reference to `_rb_shell_player_get_type'
../widgets/.libs/librbwidgets.a(rb-entry-view.o): In function
`rb_entry_view_class_init':
/home/pclouds/w/rhythmbox/rhythmbox/widgets/rb-entry-view.c:301:
undefined reference to `_rb_shell_player_get_type'
../widgets/.libs/librbwidgets.a(rb-header.o): In function
`rb_header_class_init':
/home/pclouds/w/rhythmbox/rhythmbox/widgets/rb-header.c:173: undefined
reference to `_rb_shell_player_get_type'
../widgets/.libs/librbwidgets.a(rb-header.o): In function
`apply_slider_position':
/home/pclouds/w/rhythmbox/rhythmbox/widgets/rb-header.c:698: undefined
reference to `_rb_shell_player_set_playing_time'
collect2: ld returned 1 exit status

make: *** [librhythmbox-core.la] Lỗi 1

-- 
Duy


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]