我以前能够编译 MakeMKV 1.7.5 及更早的版本,但最新版本(从http://www.makemkv.com/forum2/viewtopic.php?f=3&t=224) 给出了奇怪的分段错误。
如果我跑
$ make -f makefile.linux
我明白了
mkdir -p out
gcc -Os -D_GNU_SOURCE -D_linux_ -D_REENTRANT -shared -Wl,-z,defs -oout/libdriveio.so.0.full -Ilibdriveio/inc libdriveio/src/infolist.cpp libdriveio/src/scsihlp.cpp libdriveio/src/srlist.cpp libdriveio/src/stdquery.cpp libdriveio/src/tipclient.cpp libdriveio/src/tipcommon.cpp libdriveio/src/tipserver.cpp libdriveio/src/drives/pioneer.cpp libdriveio/src/drives/xboxhddvd.cpp \
-fPIC -Xlinker -dy -Xlinker --version-script=libdriveio/src/libdriveio.vers \
-Xlinker -soname=libdriveio.so.0 -lc -lstdc++
libdriveio/src/infolist.cpp: In function ‘void LibDriveIo::uint32_put_ns(uint32_t, void*)’:
libdriveio/src/infolist.cpp:341:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
libdriveio/src/scsihlp.cpp: In function ‘uint32_t LibDriveIo::uint32_get_be(const void*)’:
libdriveio/src/scsihlp.cpp:389:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
libdriveio/src/srlist.cpp: In function ‘uint32_t uint32_get_ns(const void*)’:
libdriveio/src/srlist.cpp:43:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
libdriveio/src/stdquery.cpp: In function ‘uint32_t LibDriveIo::uint32_get_be(const void*)’:
libdriveio/src/stdquery.cpp:555:2: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
libdriveio/src/tipclient.cpp: In static member function ‘static int LibDriveIo::CTIPSClient::ExecStatic(void*, const ScsiCmd*, ScsiCmdResponse*)’:
libdriveio/src/tipclient.cpp:200:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
libdriveio/src/tipcommon.cpp: In function ‘unsigned int LibDriveIo::encode_int(uint8_t*, uint64_t)’:
libdriveio/src/tipcommon.cpp:239:2: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
libdriveio/src/tipserver.cpp: In function ‘ssize_t recv(int, void*, size_t, int)’:
libdriveio/src/tipserver.cpp:326:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
libdriveio/src/drives/pioneer.cpp: In function ‘void append_trimmed(char*, const char*, size_t)’:
libdriveio/src/drives/pioneer.cpp:261:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
libdriveio/src/drives/xboxhddvd.cpp: In function ‘int cmd_df_enable(ISimpleScsiTarget*)’:
libdriveio/src/drives/xboxhddvd.cpp:106:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
make: *** [out/libdriveio.so.0.full] Error 1
我在无头服务器上使用 Ubuntu 11.04(32 位),并且安装了所有需要的依赖项(build-essential libc6-dev libssl-dev libexpat1-dev libgl1-mesa-dev libqt4-dev)。
那么,我需要牺牲哪只鸡才能编译它?