0

I'm trying to build butt (https://sourceforge.net/projects/butt) on my Fedora 21 system.

The default build chain should be used says the author.

So I made a:

./configure

And afterwards tried

 make

But this fails:

[root@sven butt-0.1.14]# make
make  all-recursive
make[1]: Entering directory '/home/sven/Downloads/butt-0.1.14'
Making all in src
make[2]: Entering directory '/home/sven/Downloads/butt-0.1.14/src'
depbase=`echo butt.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT butt.o -MD -MP -MF $depbase.Tpo -c -o butt.o butt.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo cfg.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT cfg.o -MD -MP -MF $depbase.Tpo -c -o cfg.o cfg.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo icecast.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT icecast.o -MD -MP -MF $depbase.Tpo -c -o icecast.o icecast.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo lame_encode.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT lame_encode.o -MD -MP -MF $depbase.Tpo -c -o lame_encode.o lame_encode.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo parseconfig.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT parseconfig.o -MD -MP -MF $depbase.Tpo -c -o parseconfig.o parseconfig.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo port_audio.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT port_audio.o -MD -MP -MF $depbase.Tpo -c -o port_audio.o port_audio.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo ringbuffer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT ringbuffer.o -MD -MP -MF $depbase.Tpo -c -o ringbuffer.o ringbuffer.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo shoutcast.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT shoutcast.o -MD -MP -MF $depbase.Tpo -c -o shoutcast.o shoutcast.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo sockfuncs.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT sockfuncs.o -MD -MP -MF $depbase.Tpo -c -o sockfuncs.o sockfuncs.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo strfuncs.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT strfuncs.o -MD -MP -MF $depbase.Tpo -c -o strfuncs.o strfuncs.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo timer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT timer.o -MD -MP -MF $depbase.Tpo -c -o timer.o timer.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo util.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT util.o -MD -MP -MF $depbase.Tpo -c -o util.o util.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo vorbis_encode.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT vorbis_encode.o -MD -MP -MF $depbase.Tpo -c -o vorbis_encode.o vorbis_encode.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo vu_meter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT vu_meter.o -MD -MP -MF $depbase.Tpo -c -o vu_meter.o vu_meter.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo wav_header.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT wav_header.o -MD -MP -MF $depbase.Tpo -c -o wav_header.o wav_header.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo opus_encode.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT opus_encode.o -MD -MP -MF $depbase.Tpo -c -o opus_encode.o opus_encode.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo flac_encode.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT flac_encode.o -MD -MP -MF $depbase.Tpo -c -o flac_encode.o flac_encode.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo FLTK/Fl_ILM216.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT FLTK/Fl_ILM216.o -MD -MP -MF $depbase.Tpo -c -o FLTK/Fl_ILM216.o FLTK/Fl_ILM216.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo FLTK/fl_callbacks.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT FLTK/fl_callbacks.o -MD -MP -MF $depbase.Tpo -c -o FLTK/fl_callbacks.o FLTK/fl_callbacks.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo FLTK/fl_funcs.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT FLTK/fl_funcs.o -MD -MP -MF $depbase.Tpo -c -o FLTK/fl_funcs.o FLTK/fl_funcs.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo FLTK/flgui.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT FLTK/flgui.o -MD -MP -MF $depbase.Tpo -c -o FLTK/flgui.o FLTK/flgui.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo FLTK/Fl_My_Native_File_Chooser.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT FLTK/Fl_My_Native_File_Chooser.o -MD -MP -MF $depbase.Tpo -c -o FLTK/Fl_My_Native_File_Chooser.o FLTK/Fl_My_Native_File_Chooser.cxx &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo FLTK/fl_timer_funcs.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -IFLTK   -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -MT FLTK/fl_timer_funcs.o -MD -MP -MF $depbase.Tpo -c -o FLTK/fl_timer_funcs.o FLTK/fl_timer_funcs.cpp &&\
mv -f $depbase.Tpo $depbase.Po
g++  -g -O2 -I/usr/include/freetype2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT  -L/usr/local/lib -o butt butt.o cfg.o icecast.o lame_encode.o parseconfig.o port_audio.o ringbuffer.o shoutcast.o sockfuncs.o strfuncs.o timer.o util.o vorbis_encode.o vu_meter.o wav_header.o opus_encode.o flac_encode.o FLTK/Fl_ILM216.o FLTK/fl_callbacks.o FLTK/fl_funcs.o FLTK/flgui.o FLTK/Fl_My_Native_File_Chooser.o FLTK/fl_timer_funcs.o   -lsamplerate -lpthread -lportaudio -lFLAC -lmp3lame -lopus -lvorbisenc -lvorbis -logg  -lfltk_images -lfltk
/bin/ld: FLTK/Fl_My_Native_File_Chooser.o: undefined reference to symbol 'XNextEvent'
/lib64/libX11.so.6: error adding symbols: DSO missing from command line
collect2: Fehler: ld gab 1 als Ende-Status zurück
Makefile:294: recipe for target 'butt' failed
make[2]: *** [butt] Error 1
make[2]: Leaving directory '/home/sven/Downloads/butt-0.1.14/src'
Makefile:354: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/sven/Downloads/butt-0.1.14'
Makefile:294: recipe for target 'all' failed
make: *** [all] Error 2
[root@sven butt-0.1.14]

Can anybody help?

Thanks in advance.

4

1 回答 1

3

添加-lX11src/MakefileLIBS中的行

该行应如下所示:

LIBS = -lX11 -lsamplerate -lpthread -lportaudio -lFLAC -lmp3lame -lopus -lvorbisenc -lvorbis -logg -lX11 -lfltk_images -lfltk
于 2015-01-29T07:42:08.353 回答