คำถามติดแท็ก compiling

การคอมไพล์เป็นกระบวนการของการแปลงซอร์สโค้ดเป็นโค้ดไบต์สำหรับสถาปัตยกรรมคอมพิวเตอร์เฉพาะ

4
ทำไม FreeBSD ถึงเลิกใช้ GCC เพื่อสนับสนุน Clang / LLVM
ดังนั้นผมท่องเน็ตและสะดุดเข้ากับบทความนี้ มันเป็นพื้นระบุว่าFreeBSDเริ่มต้นจากรุ่น 10 ขึ้นไปจะเลิกGCCในความโปรดปรานของเสียงดังกราว / LLVM จากสิ่งที่ฉันได้เห็นรอบสุทธิเพื่อให้ห่างไกลเสียงดังกราว / LLVMเป็นโครงการที่มีความทะเยอทะยานอย่างเป็นธรรม แต่ในแง่ของความน่าเชื่อถือมันไม่สามารถจับคู่GCC มีเหตุผลทางเทคนิคใดบ้างFreeBSD กำลังเลือก LLVM เป็นโครงสร้างพื้นฐานคอมไพเลอร์ของพวกเขาหรือไม่หรือว่าเรื่องทั้งหมดจะถูกนำไปใช้กับ GNU / GPL เทียบกับใบอนุญาต BSD นิรันดร์หรือไม่? คำถามนี้มีข้อมูลที่เกี่ยวข้องเกี่ยวกับการใช้GCCในFreeBSD
241 freebsd  compiling  gcc  c  llvm 

17
ฉันควรรวบรวมซอฟต์แวร์ที่รวบรวมไว้ที่ไหน?
ฉันต้องรวบรวมซอฟต์แวร์บางอย่างในเครื่อง Fedora ของฉัน สถานที่ที่ดีที่สุดในการวางไว้จึงไม่รบกวนการทำงานของซอฟต์แวร์สำเร็จรูป


4
แฟ้มปฏิบัติการค้นหาวัตถุที่ใช้ร่วมกันที่รันไทม์ที่ไหน
ฉันเข้าใจวิธีกำหนดรวมวัตถุที่ใช้ร่วมกันในการเชื่อมโยง / รวบรวมเวลา อย่างไรก็ตามฉันยังสงสัยว่าไฟล์เรียกทำงานค้นหาวัตถุที่ใช้ร่วมกัน ( *.soไลบรารี) ณ เวลาดำเนินการอย่างไร ตัวอย่างเช่นแอปของฉันa.outเรียกฟังก์ชั่นที่กำหนดไว้ในlib.soห้องสมุด หลังจากรวบรวมฉันย้ายไปยังไดเรกทอรีใหม่ของฉันlib.so$HOME ฉันa.outจะบอกให้ไปหาที่นั่นได้อย่างไร

13
ประโยชน์ของการรวบรวมเคอร์เนล linux ของคุณเองคืออะไร?
ฉันจะได้ประโยชน์อะไรจากการรวบรวมเคอร์เนล Linux ด้วยตัวเอง? มีประสิทธิภาพที่คุณสามารถสร้างโดยการปรับแต่งฮาร์ดแวร์ของคุณหรือไม่?
101 linux  kernel  compiling 

8
ทำไม gcc ไม่พบคำว่า libevent เมื่อสร้าง tmux จากซอร์ส?
ฉันต้องการติดตั้ง tmux บนเครื่องที่ฉันไม่มีสิทธิ์เข้าถึงรูต ฉันได้รวบรวม libevent และติดตั้งแล้ว$HOME/.bin-libeventและตอนนี้ฉันต้องการรวบรวม tmux แต่การกำหนดค่ามักจะจบลงด้วยconfigure: error: "libevent not found"แม้ว่าฉันพยายามที่จะชี้ไปที่ไดเรกทอรี libevent ในMakefile.amโดยการปรับเปลี่ยนLDFLAGSและCPPFLAGSแต่ดูเหมือนว่าจะไม่มีอะไรทำงาน ฉันจะบอกให้ระบบค้นหาผู้ใช้ที่บ้านของฉันเพื่อหาคนเก็บตัวได้อย่างไร

4
วิธีรวบรวมคอมไพเลอร์ C ตั้งแต่เริ่มต้นจากนั้นคอมไพล์ Unix / Linux จากศูนย์
สมมติว่าฉันทำงานให้กับองค์กรบริการขนาดใหญ่นอกสหรัฐอเมริกา / สหราชอาณาจักร เราใช้เซิร์ฟเวอร์ UNIX และ Linux อย่างกว้างขวาง การอ่านบทความนี้ระบุว่าเป็นการง่ายที่จะแทรกแบ็คดอร์ในคอมไพเลอร์ C จากนั้นโค้ดใด ๆ ที่คอมไพล์ด้วยคอมไพเลอร์นั้นจะมีแบ็คดอร์ จากการรั่วไหลเมื่อเร็ว ๆ นี้เกี่ยวกับคำสั่งของ NSA / GCHQ ที่จะทำให้แบ็คดอร์ / จุดอ่อนในวิธีการเข้ารหัสฮาร์ดแวร์และซอฟต์แวร์ทั้งหมดคอมไพเลอร์กลายเป็นจุดสำคัญของความล้มเหลว ศักยภาพการกระจาย UNIX / Linix มาตรฐานทั้งหมดอาจถูกบุกรุก เราไม่สามารถที่จะมีระบบข้อมูลและข้อมูลลูกค้าของเราที่ถูกโจมตีโดยรัฐบาลโกง รับข้อมูลนี้ฉันต้องการสร้างคอมไพเลอร์ที่เชื่อถือได้ตั้งแต่เริ่มต้นแล้วฉันมีฐานที่ปลอดภัยในการสร้างดังนั้นฉันจึงสามารถสร้างระบบปฏิบัติการและแอปพลิเคชันจากซอร์สโค้ดโดยใช้คอมไพเลอร์นั้น คำถาม อะไรคือวิธีที่ถูกต้อง (และปลอดภัย) ในการรวบรวมคอมไพเลอร์จากซอร์สโค้ด (สถานการณ์ไก่ไข่ที่ดูเหมือน) แล้วรวบรวมการแจกจ่าย Unix / Linux ที่เชื่อถือได้ตั้งแต่เริ่มต้น? คุณสามารถสันนิษฐานได้ว่าฉันหรือผู้อื่นมีความสามารถในการอ่านและทำความเข้าใจซอร์สโค้ดสำหรับข้อบกพร่องด้านความปลอดภัยดังนั้นซอร์สโค้ดจะถูกตรวจสอบก่อนรวบรวม สิ่งที่ฉันเป็นจริงหลังจากนั้นเป็นแนวทางในการทำงานเพื่อสร้างคอมไพเลอร์นี้จากศูนย์อย่างปลอดภัยและสามารถใช้ในการรวบรวมเคอร์เนลส่วนอื่น ๆ ของระบบปฏิบัติการและแอปพลิเคชัน สแต็กการรักษาความปลอดภัยจะต้องเริ่มต้นที่ระดับฐานหากเรามั่นใจในระบบปฏิบัติการหรือแอพพลิเคชั่นที่ทำงานบนสแต็กนั้น ใช่ฉันเข้าใจว่าอาจมีฮาร์ดแวร์ด้านหลังซึ่งอาจแทรกไมโครโค้ดบางส่วนลงในคอมไพเลอร์เมื่อสร้างขึ้น ไม่มากที่เราสามารถทำได้เกี่ยวกับเรื่องนี้ในขณะนั้นยกเว้นอาจใช้ชิปที่ไม่ได้ออกแบบในสหรัฐอเมริกา มาจัดเรียงเลเยอร์นี้เพื่อเริ่มต้นและสมมติว่าฉันสามารถสร้างมันบนคอมพิวเตอร์เครื่องเก่าก่อนที่จะแทรกแบ็คดอร์ใดก็ได้ ดังที่บรูชชไนเออร์พูดว่า: "สำหรับวิศวกรฉันพูดแบบนี้: เราสร้างอินเทอร์เน็ตและพวกเราบางคนช่วยในการล้มล้างตอนนี้พวกเราที่รักเสรีภาพต้องแก้ไขมัน" …

6
Linux ที่สามารถเรียกใช้งานได้จะถูกคอมไพล์ใน "รสชาติ" ของ Linux หรือไม่
ความสามารถในการเรียกใช้งานของโปรแกรมขนาดเล็กและเรียบง่ายอย่างยิ่งเช่นที่แสดงด้านล่างซึ่งรวบรวมไว้ใน Linux หนึ่งรสชาติที่รันบนรสชาติที่แตกต่างกันหรือไม่? หรือจะต้องทำการคอมไพล์ใหม่? สถาปัตยกรรมของเครื่องจักรมีความสำคัญในกรณีเช่นนี้หรือไม่? int main() { return (99); }

1
./configure: สภาพแวดล้อมการสร้างที่บ้าคืออะไร
./configure ตรวจสอบอยู่เสมอ whether the build environment is sane... ฉันอดไม่ได้ที่จะสงสัยว่าสภาพแวดล้อมการสร้างที่บ้าคืออะไร การตรวจสอบนี้สามารถเพิ่มข้อผิดพลาดอะไรได้บ้าง

4
ดูเหมือนว่าแมโคร M4 บางอันจะไม่ถูกกำหนด
ฉันพยายามติดตั้ง Pacman ในการกระจาย Arch Linux ของฉัน เมื่อฉันเรียกใช้สคริปต์การกำหนดค่า "configure.ac" ฉันได้รับมาโครจำนวนมากที่ไม่ได้กำหนด: error: possibly undefined macro: AM_INIT_AUTOMAKE. If this token and others are legitimate, please use m4_pattern_allow. See the autoconf documentation. error: possibly undefined macro: AC_PROG_LIBTOOL error: possibly undefined macro: AM_GNU_GETTEXT error: possibly undefined macro: AM_GNU_GETTEXT_VERSION error: possibly undefined macro: AM_CONDITIONAL ไม่มีใครรู้ว่าสิ่งที่จะทำให้มาโครเหล่านี้จะไม่ได้กำหนด? มาจากอูบุนตู …

5
อะไรคือความแตกต่างระหว่างการสร้างจากแหล่งที่มาและการใช้แพ็คเกจการติดตั้ง?
ฉันสงสัยว่า: เมื่อติดตั้งบางอย่างมีวิธีที่ง่ายในการคลิกสองครั้งที่ไฟล์ปฏิบัติการติดตั้งและในทางกลับกันก็มีวิธีสร้างไฟล์จากแหล่งที่มา อันหลังการดาวน์โหลดบันเดิลซอร์สนั้นยุ่งยากมาก แต่อะไรคือความแตกต่างพื้นฐานระหว่างสองวิธีนี้?

4
configure: ข้อผิดพลาด: คอมไพเลอร์ C ไม่สามารถสร้างไฟล์เรียกทำงานได้
ฉันพยายามอัปเกรด apache 2.2.15 เป็น 2.2.27 ในขณะที่ใช้งาน config.nice นำมาจาก apache2.2.15 / บิลด์ฉันได้รับข้อผิดพลาดดังต่อไปนี้: checking whether the C compiler works... no configure: error: in `/home/vkuser/httpd-2.2.27/srclib/apr': configure: error: C compiler cannot create executables ฉันพยายามค้นหาทางออนไลน์ แต่ไม่มีโชค ฉันได้ทดสอบคอมไพเลอร์ c ด้วยการรันสคริปต์ test.c ขนาดเล็กและทำงานได้ดี มีวิธีแก้ปัญหาเล็กน้อยที่ให้ทางออนไลน์เช่นการติดตั้งแพคเกจ 'kernel-devel' แต่ไม่ได้แก้ปัญหา ฉันจะทำให้เรื่องนี้ทำงานได้อย่างไร ต่อไปนี้เป็น config.log สร้างขึ้น: This file contains any messages produced by …

2
ไวยากรณ์ที่ถูกต้องในการเพิ่ม CFLAGS และ LDFLAGS เพื่อ“ กำหนดค่า” คืออะไร?
ฉันต้องการติดตั้ง OpenVPN บน OpenBSD 5.5 โดยใช้ tarVPN ของแหล่ง OpenVPN ตามคำแนะนำที่นี่ฉันต้องติดตั้ง lzo และ เพิ่ม CFLAGS = "- I / usr / local / include" LDFLAGS = "- คำสั่ง L / usr / local / lib" เพื่อ "กำหนดค่า" เนื่องจาก gcc จะหาไม่พบ ฉันมี googled อย่างกว้างขวางเพื่อเป็นแนวทางในการทำสิ่งต่าง ๆ บน OpenBSD แต่ไม่มี นี่คือสิ่งที่ฉันวางแผนจะทำ: untar แหล่ง tarball …

5
วิธีการคอมไพล์และติดตั้งโปรแกรมจากแหล่งที่มา
นี่เป็นปัญหาที่จำกัดความเพลิดเพลินของฉันของ Linux หากแอปพลิเคชั่นไม่ได้อยู่ในที่เก็บหรือถ้ามันไม่มีสคริปต์ตัวติดตั้งฉันก็ต้องต่อสู้กับที่และวิธีการติดตั้งแอพพลิเคชั่นจากแหล่งที่มา เทียบกับ Windows ได้ง่าย คุณจำเป็นต้องใช้แอพพลิเคชั่นตัวติดตั้งซึ่งทำงานทั้งหมดในตัวช่วยสร้าง ด้วย Linux ... ไม่มาก ดังนั้นคุณมีเคล็ดลับหรือคำแนะนำเกี่ยวกับเรื่องนี้หรือมีเว็บไซต์ใด ๆ ที่อธิบายอย่างชัดเจนว่าทำไมติดตั้งโปรแกรม Linux จากแหล่งที่มาได้อย่างไร

1
การกำหนดค่าการรวบรวมและการติดตั้งเคอร์เนล Linux ที่กำหนดเอง
ฉันต้องการลองใช้เคอร์เนลที่นอกเหนือจากที่ distro ของฉันจัดหาให้ไม่ว่าจะจากที่อื่นหรือปรับแต่งตามความต้องการของฉัน มันยากหรืออันตรายไหม ฉันจะเริ่มที่ไหน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.