看板 Linux 關於我們 聯絡資訊
偶然機緣地 練習安裝了LFS BLFS clfs (ia64-> ia32) 覺得確實可以省下一些系統資源 所以打算買樹莓派來試裝看看( ia64-> arm) 目前(lfs 8.2)有遇到兩個問題想請教大德 1. Make所有的套件時 gcc的default設定 有-g 該如何去除 lfs book 是靠事後strip 去除symbols 但無法移除一些條件編譯所產生的執行碼吧 以lfs8.3的 gcc8.2為例 有哪些地方可以改? 2. lfs 8.3 已出 想從原來的8.2升級 好像滿累的 lfs book中的章節 6.3.2. Package Management Techniques 並沒有提到像pacman, apt, emerge 這類軟體 還列了It is all in my head 的幹話 這不就等於 It's all up to you 的白話 自己做的話要: 2-1 移除舊的: make uninstall, 須保留舊makefile, 且確認target ok. 2-2 安裝新的: make install, 倒還好 2-3 遞迴地解決相依性問題: 最是麻煩 不知有哪些要動 有些lib沒同步更新 就會掛 還是有其他合適的工具可用? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.96.100 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1541818670.A.471.html
kdjf: 給gcc -g0就能把debug關掉了,另外你IA64應該是指x86-64/x64? 11/10 14:07
對 應該要寫 x86-64 或 amd64 看來用環境變數下 -g0 是目前簡易的方法
lantw44: 正常來說不該把有無 -g 作為條件編譯使用,如果有的話聽 11/10 20:49
lantw44: 起來非常像是個 bug,因為對於 gcc 來說 -g 完全不影響 11/10 20:51
lantw44: 輸出的 code,而且多數發行版也是使用事後 strip 這方法 11/10 20:52
lantw44: 至於套件管理,當初沒做感覺事後也很難做,我曾經嘗試過 11/10 20:53
lantw44: 用 dpkg-deb 隨便丟個資料夾叫它包成 .deb,也許可以試試 11/10 20:54
套件管理真是大工程 目前好像就是各家distro 各自為政 如果把download切出來 或者user可自設source/套件 url 然後各家把自己的特殊設定 相依性 放固定某處 (如 gentoo) 這樣就有共同協定 可能可以用同一個管理程式處理 因為都是做 2-1,2-2,2-3的工作 ※ 編輯: czm (1.163.153.80), 11/11/2018 06:42:00
lantw44: 其實我看不太懂 download 切出來和自設 source url 的意 11/11 23:40
lantw44: 思,這些感覺都是本來就能做到,只是各家做法不同而已 11/11 23:41
lantw44: 另外 2-1 提到的 make clean 只是從工作目錄把編譯好的 11/11 23:42
lantw44: 檔案刪除,並不會真的從系統上刪除,我猜你想說的應該是 11/11 23:42
lantw44: make uninstall?但也不是每個專案的 Makefile 都有支援 11/11 23:43
lantw44: 這項功能,即使有這功能發行版也不會使用,因為套件管理 11/11 23:44
lantw44: 程式會自己記得安裝了什麼檔案,移除時照著刪除就行了。 11/11 23:45
lantw44: 2-2 一般發行版會用 make DESTDIR=xxx install 的形式以 11/11 23:46
lantw44: 避免直接動到系統,但這又有 post-install script 要另外 11/11 23:47
lantw44: 找方法執行的問題了。打包和 LFS 的做法多少會有些差異。 11/11 23:48
czm: 感謝更正 我是指 make uninstall 的意思 11/13 04:33
※ 編輯: czm (111.251.82.6), 11/13/2018 04:36:03