在 Fedora 21 上构建对接

Posted

技术标签:

【中文标题】在 Fedora 21 上构建对接【英文标题】:Building butt on Fedora 21 【发布时间】:2015-01-27 18:46:26 【问题描述】:

我正在尝试在我的 Fedora 21 系统上构建对接 (https://sourceforge.net/projects/butt)。

作者说应该使用默认的构建链。

所以我做了一个:

./configure

后来试了

 make

但这失败了:

[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]

有人可以帮忙吗?

提前致谢。

【问题讨论】:

【参考方案1】:

-lX11 添加到src/Makefile 中的LIBS

该行应如下所示:

LIBS = -lX11 -lsamplerate -lpthread -lportaudio -lFLAC -lmp3lame -lopus -lvorbisenc -lvorbis -logg -lX11 -lfltk_images -lfltk

【讨论】:

谢谢,有帮助:)。

以上是关于在 Fedora 21 上构建对接的主要内容,如果未能解决你的问题,请参考以下文章

Fedora x86_64 上供应商库的 config.site

在 Fedora 21 上安装 Android Studio 时如何解决“无法运行 mksdcard SDK 工具”?

使用 python 2.7 让 python Numba 在 Ubuntu 14.10 或 Fedora 21 上工作

无法在 Fedora Eclipse 上构建 GTK+ Windows 应用程序

fedora 21 javafx 没有创建媒体播放器

使用 Ogg Flac 和 Vorbis 在 Fedora 中构建 libsndfile