嘗試建立 Firefox,在透過檔案系統進行編譯的編譯過程無提示失敗之前,我遇到了奇怪的錯誤和核心訊息,但在相同硬體(不同分區)中xfs
進行編譯時沒有失敗。jfs
我閱讀了有關從原始程式碼建立 Firefox 的文檔,並發現了這樣的聲明
Note: Building Firefox in Linux on top of a non-native file system - for example, on a mounted NTFS partition - is explicitly not supported. While a build environment like this may succeed it may also fail while claiming to have succeeded, which can be quite difficult to diagnose and fix.
那麼,哪些是linux本機檔案系統呢?
更新
當我構建的xfs
文件系統變得不可用時,為了獲得更多詳細信息,我將提供確切的內核訊息
[ 1514.286849] XFS: Assertion failed: (bip->bli_flags & XFS_BLI_STALE) || (xfs_blft_from_flags(&bip->__bli_format) > XFS_BLFT_UNKNOWN_BUF && xfs_blft_from_flags(&bip->__bli_format) < XFS_BLFT_MAX_BUF), file: fs/xfs/xfs_buf_item.c, line: 301 [ 1514.286876] ------------[ cut here ]------------ [ 1514.286877] kernel BUG at fs/xfs/xfs_message.c:108! [ 1514.286879] invalid opcode: 0000 [#1] SMP [ 1514.286882] Modules linked in: w83627ehf hwmon_vid snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss bnep rfcomm bluetooth rfkill snd_hda_codec_hdmi snd_hda_codec_realtek fuse nvidia(PO) uvcvideo videobuf2_core coretemp snd_hda_intel videodev snd_hda_codec rtc_cmos kvm_intel firewire_ohci firewire_core nv_tco videobuf2_vmalloc videobuf2_memops kvm snd_hwdep mousedev forcedeth evdev i2c_nforce2 snd_pcm snd_timer snd soundcore snd_page_alloc [last unloaded: i2c_dev] [ 1514.286912] CPU: 0 PID: 14942 Comm: python Tainted: P O 3.10.104-afterglow+ #8 [ 1514.286914] Hardware name: EVGA 122-CK-NF68/122-CK-NF68, BIOS 6.00 PG 09/04/2008 [ 1514.286916] task: ffff880255def350 ti: ffff8801e465c000 task.ti: ffff8801e465c000 [ 1514.286917] RIP: 0010:[<ffffffff812713fd>] [<ffffffff812713fd>] assfail+0x1d/0x20 [ 1514.286925] RSP: 0018:ffff8801e465dba8 EFLAGS: 00010296 [ 1514.286927] RAX: 00000000000000e1 RBX: ffff880163671f90 RCX: ffff88025fc0d6b0 [ 1514.286929] RDX: 0000000000000000 RSI: ffff88025fc0bf18 RDI: ffff88025fc0bf10 [ 1514.286931] RBP: ffff8801e465dba8 R08: 000000000000ffff R09: 0000000000000000 [ 1514.286932] R10: 0000000000000331 R11: 0000000000000000 R12: ffff8801604da118 [ 1514.286934] R13: 0000000000000002 R14: ffff880163671f60 R15: ffff8802346d6980 [ 1514.286936] FS: 00002b9103b34760(0000) GS:ffff88025fc00000(0000) knlGS:0000000000000000 [ 1514.286938] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1514.286940] CR2: 00000000024ec1c8 CR3: 000000016279d000 CR4: 00000000000007f0 [ 1514.286942] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 1514.286943] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 1514.286944] Stack: [ 1514.286946] ffff8801e465dc38 ffffffff812d5777 0000000000000250 0000000000000050 [ 1514.286949] ffff8801a50d1b00 0000000051eb851f ffff8801e465dc18 ffffffff8127861f [ 1514.286952] 0000000000000001 0000000000000002 ffff8802347ac0e8 0000000000000002 [ 1514.286955] Call Trace: [ 1514.286960] [<ffffffff812d5777>] xfs_buf_item_format+0x97/0x400 [ 1514.286963] [<ffffffff8127861f>] ? kmem_alloc+0x6f/0xe0 [ 1514.286966] [<ffffffff812d4c48>] xfs_log_commit_cil+0xb8/0x550 [ 1514.286970] [<ffffffff81042c11>] ? current_fs_time+0x11/0x50 [ 1514.286973] [<ffffffff812cecad>] xfs_trans_commit+0xbd/0x290 [ 1514.286976] [<ffffffff812cc917>] xfs_symlink+0x947/0x9c0 [ 1514.286980] [<ffffffff8112f6fe>] ? __lookup_hash+0x1e/0x40 [ 1514.286983] [<ffffffff8126ecad>] xfs_vn_symlink+0x4d/0xd0 [ 1514.286986] [<ffffffff81133b0d>] vfs_symlink+0xcd/0x130 [ 1514.286989] [<ffffffff81135cdd>] SyS_symlinkat+0x6d/0xd0 [ 1514.286992] [<ffffffff81135d51>] SyS_symlink+0x11/0x20 [ 1514.286996] [<ffffffff8165a4f2>] system_call_fastpath+0x16/0x1b [ 1514.286997] Code: 48 c7 c7 50 81 96 81 e8 32 aa dc ff c9 c3 55 48 89 f1 41 89 d0 48 89 e5 48 89 fa 48 c7 c6 38 53 95 81 31 ff 31 c0 e8 73 fc ff ff <0f> 0b 90 55 49 89 f9 48 89 e5 48 63 f6 48 83 ec 10 41 b8 01 00 [ 1514.287026] RIP [<ffffffff812713fd>] assfail+0x1d/0x20 [ 1514.287029] RSP <ffff8801e465dba8> [ 1514.287032] ---[ end trace b261b019fb030112 ]---
答案1
添加該聲明是因為特定NTFS 上的建置問題,確切原因尚未診斷出來,但有兩個候選者是“NTFS 最大路徑長度問題”和“無法在 NTFS 分割區上建立符號連結”,兩者都是差異的範例檔案系統語義(Unix 與 Windows)。