[ オリジナルレポート ]

BugID: #05569

カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
コンパイル解決済み修正済み2014-05-03 19:172014-05-04 11:24
 
テスターrobert_s担当者R. Belmontソース
バージョン0.153発生バージョン修正バージョン0.154
修正コミットプルリク
フラグ
セット
セット詳細
 
概 要makefileでホスト名のBIGENDIAN自動検出が間違っている。
詳 細The makefile incorrectly identifies my Linux/Debian system as big-endian due to the host name being "PowerBox". The offending lines in the makefile are:

# Autodetect BIGENDIAN
# MacOSX
ifndef BIGENDIAN
ifneq (,$(findstring Power,$(UNAME)))
BIGENDIAN=1
endif

$(UNAME), which is the output of "uname -a", is on this system:

Linux PowerBox 3.2.0-4-kirkwood #1 Debian 3.2.57-3 armv5tel GNU/Linux

The following lines in the makefile would probably also cause any hostname containing "ppc" to incorrectly identify a system as big-endian.

To fix this, I would suggest not using the "-a" option for the uname command, but rather only select options which are used for platform detection, and omit the "-n" option which outputs the host name. Since I don't know which options are available on the various supported platforms, I cannot make a specific suggestion.
再現手順1. Set up a Linux box and name it e.g. "PowerBox" or "Appcore"
2. Verify with "uname -a" that the name is part of the output
3. Run "make" to try to compile MAME on this box
4. The build will likely stop at an attempt to convert PNG files, since the PNG converter tool misinterprets the endianness in the PNG files
追加情報 
 
添付ファイル