Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] mpd won't compile with network USE flag
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
daaaaang
n00b
n00b


Joined: 04 Jul 2010
Posts: 48
Location: Ann Arbor, Michigan, US

PostPosted: Thu Feb 13, 2014 4:31 pm    Post subject: [solved] mpd won't compile with network USE flag Reply with quote

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
View user's profile Send private message
daaaaang
n00b
n00b


Joined: 04 Jul 2010
Posts: 48
Location: Ann Arbor, Michigan, US

PostPosted: Thu Feb 13, 2014 6:04 pm    Post subject: Reply with quote

I just downgraded from libvorbis 1.3.4 to 1.3.3, and mpd is back in action.
Back to top
View user's profile Send private message
slackline
Veteran
Veteran


Joined: 01 Apr 2005
Posts: 1471
Location: /uk/sheffield

PostPosted: Mon Feb 17, 2014 5:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
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