| View previous topic :: View next topic |
| Author |
Message |
daaaaang n00b


Joined: 04 Jul 2010 Posts: 48 Location: Ann Arbor, Michigan, US
|
Posted: Thu Feb 13, 2014 4:31 pm Post subject: [solved] mpd won't compile with network USE flag |
|
|
I've been setting ~amd64 for mpd, just because it's generally been stable. But when I tried to upgrade from 0.18.5 to 0.18.8, it wouldn't compile, citing problems with libvorbisfile.so and libvorbis.so. On a whim, I tried recompiling 0.18.5, and that too failed. I tried removing the ~amd64 keyword and downgrading to 0.17.6, and it still won't work. Here's an excerpt from that particular build log:
| Code: | x86_64-pc-linux-gnu-g++ -march=corei7 -O2 -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -L/usr/lib64/sidplay/builders -o src/mpd src/src_mpd-song_sort.o src/src_mpd-output_list.o src/src_mpd-output_all.o src/src_mpd-output_thread.o src/src_mpd-output_control.o src/src_mpd-output_state.o src/src_mpd-output_print.o src/src_mpd-output_command.o src/src_mpd-output_plugin.o src/src_mpd-output_finish.o src/src_mpd-output_init.o src/src_mpd-mixer_control.o src/src_mpd-mixer_type.o src/src_mpd-mixer_all.o src/src_mpd-mixer_api.o src/src_mpd-clock.o src/src_mpd-notify.o src/src_mpd-audio_config.o src/src_mpd-audio_check.o src/src_mpd-audio_format.o src/src_mpd-audio_parser.o src/protocol/src_mpd-argparser.o src/protocol/src_mpd-result.o src/src_mpd-command.o src/src_mpd-idle.o src/src_mpd-cmdline.o src/src_mpd-conf.o src/src_mpd-crossfade.o src/cue/src_mpd-cue_parser.o src/src_mpd-dbUtils.o src/src_mpd-decoder_thread.o src/src_mpd-decoder_control.o src/src_mpd-decoder_api.o src/src_mpd-decoder_internal.o src/src_mpd-decoder_print.o src/src_mpd-directory.o src/src_mpd-directory_save.o src/src_mpd-database.o src/src_mpd-db_lock.o src/src_mpd-db_save.o src/src_mpd-db_print.o src/db/src_mpd-simple_db_plugin.o src/src_mpd-exclude.o src/src_mpd-fd_util.o src/src_mpd-fifo_buffer.o src/src_mpd-growing_fifo.o src/src_mpd-filter_config.o src/src_mpd-filter_plugin.o src/src_mpd-filter_registry.o src/src_mpd-update.o src/src_mpd-update_queue.o src/src_mpd-update_io.o src/src_mpd-update_db.o src/src_mpd-update_walk.o src/src_mpd-update_song.o src/src_mpd-update_container.o src/src_mpd-update_remove.o src/src_mpd-client.o src/src_mpd-client_event.o src/src_mpd-client_expire.o src/src_mpd-client_global.o src/src_mpd-client_idle.o src/src_mpd-client_list.o src/src_mpd-client_new.o src/src_mpd-client_process.o src/src_mpd-client_read.o src/src_mpd-client_write.o src/src_mpd-client_message.o src/src_mpd-client_subscribe.o src/src_mpd-client_file.o src/src_mpd-server_socket.o src/src_mpd-listen.o src/src_mpd-log.o src/src_mpd-ls.o src/src_mpd-io_thread.o src/src_mpd-main.o src/src_mpd-main_win32.o src/src_mpd-event_pipe.o src/src_mpd-daemon.o src/AudioCompress/src_mpd-compress.o src/src_mpd-buffer.o src/src_mpd-pipe.o src/src_mpd-chunk.o src/src_mpd-path.o src/src_mpd-mapper.o src/src_mpd-page.o src/src_mpd-permission.o src/src_mpd-player_thread.o src/src_mpd-player_control.o src/src_mpd-playlist.o src/src_mpd-playlist_global.o src/src_mpd-playlist_control.o src/src_mpd-playlist_edit.o src/src_mpd-playlist_print.o src/src_mpd-playlist_save.o src/src_mpd-playlist_mapper.o src/src_mpd-playlist_any.o src/src_mpd-playlist_song.o src/src_mpd-playlist_state.o src/src_mpd-playlist_queue.o src/src_mpd-playlist_vector.o src/src_mpd-playlist_database.o src/src_mpd-queue.o src/src_mpd-queue_print.o src/src_mpd-queue_save.o src/src_mpd-replay_gain_config.o src/src_mpd-replay_gain_info.o src/src_mpd-sig_handlers.o src/src_mpd-song.o src/src_mpd-song_update.o src/src_mpd-song_print.o src/src_mpd-song_save.o src/src_mpd-resolver.o src/src_mpd-socket_util.o src/src_mpd-state_file.o src/src_mpd-stats.o src/src_mpd-tag.o src/src_mpd-tag_pool.o src/src_mpd-tag_print.o src/src_mpd-tag_save.o src/src_mpd-tag_handler.o src/src_mpd-tag_file.o src/src_mpd-tokenizer.o src/src_mpd-text_file.o src/src_mpd-text_input_stream.o src/src_mpd-strset.o src/src_mpd-uri.o src/src_mpd-utils.o src/src_mpd-string_util.o src/src_mpd-volume.o src/src_mpd-locate.o src/src_mpd-stored_playlist.o src/src_mpd-timer.o src/src_mpd-sticker.o src/src_mpd-sticker_print.o src/src_mpd-song_sticker.o src/src_mpd-update_archive.o libplaylist_plugins.a -lFLAC -lm -lwrap -lsqlite3 libdecoder_plugins.a -lvorbis -lvorbisfile -logg -lFLAC -lm -lwavpack -lmad -lm -lavformat -lavcodec -lavutil -lmpcdec libinput.a -lcurl -lavformat -lavcodec -lavutil libarchive.a -lbz2 -lzzip -lz libtag.a -lid3tag -lz liboutput_plugins.a -lwrap -lasound -lshout -logg -lvorbis -lspeex libfilter_plugins.a libpcm.a libencoder_plugins.a -lmp3lame -lm -lFLAC -lm -lvorbisenc libmixer_plugins.a libutil.a -lgthread-2.0 -pthread -lglib-2.0 -lmp3lame -lm
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/../../../../lib64/libvorbisfile.so: undefined reference to symbol 'vorbis_block_init'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/../../../../x86_64-pc-linux-gnu/bin/ld: note: 'vorbis_block_init' is defined in DSO /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/../../../../lib64/libvorbis.so so try adding it to the linker command line
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/../../../../lib64/libvorbis.so: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
Makefile:3327: recipe for target 'src/mpd' failed
make[1]: *** [src/mpd] Error 1
make[1]: Leaving directory '/tmp/portage/media-sound/mpd-0.17.6/work/mpd-0.17.6'
Makefile:2456: recipe for target 'all' failed
make: *** [all] Error 2 |
If you're curious, here's the complete build.log.
Running `equery belongs libvorbisfile.so libvorbis.so` led me to libvorbis, so I went ahead and ran `emerge -1 libvorbis`. It succeeded with no problems, but mpd still won't compile.
Now, it looks like this ld step is skipped if I set `USE=-network`, but I absolutely do want built-in HTTP streaming, since that's how I listen to music at work.
I was about to hit Submit just then, but it occurred to me that I hadn't looked at the USE flags for libvorbis. The only one listed was -static-libs, so I tried reinstalling with static-libs, to see what would happen. I'm now getting what looks like slightly more-informative error messages, at least:
| Code: | /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/../../../../lib64/libvorbisfile.so: undefined reference to symbol 'ogg_stream_init'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/../../../../x86_64-pc-linux-gnu/bin/ld: note: 'ogg_stream_init' is defined in DSO /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/../../../../lib64/libogg.so so try adding it to the linker command line
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/../../../../lib64/libogg.so: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
Makefile:4356: recipe for target 'src/mpd' failed
make[1]: *** [src/mpd] Error 1
make[1]: Leaving directory '/tmp/portage/media-sound/mpd-0.18.8/work/mpd-0.18.8'
Makefile:3235: recipe for target 'all' failed
make: *** [all] Error 2 |
In particular, the "defined in DSO" line. I'm not finding much about that through google, so I guess this is where I'll stop and ask for help.
Thanks for reading!
Matt
Last edited by daaaaang on Thu Feb 13, 2014 6:05 pm; edited 1 time in total |
|
| Back to top |
|
 |
daaaaang n00b


Joined: 04 Jul 2010 Posts: 48 Location: Ann Arbor, Michigan, US
|
Posted: Thu Feb 13, 2014 6:04 pm Post subject: |
|
|
| I just downgraded from libvorbis 1.3.4 to 1.3.3, and mpd is back in action. |
|
| Back to top |
|
 |
slackline Veteran


Joined: 01 Apr 2005 Posts: 1471 Location: /uk/sheffield
|
Posted: Mon Feb 17, 2014 5:09 pm Post subject: |
|
|
I've encountered the same problem (hence discovering this thread of yours).
| daaaaang wrote: | | I just downgraded from libvorbis 1.3.4 to 1.3.3, and mpd is back in action. |
Have you filed a bug to report this? _________________ "Science is what we understand well enough to explain to a computer. Art is everything else we do." - Donald Knuth |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|