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

การคอมไพล์คือการแปลงซอร์สโค้ดของโปรแกรมเป็นโค้ดเครื่องระดับล่างที่สามารถเรียกใช้งานบนอุปกรณ์คอมพิวเตอร์

1
การเพิ่มไฟล์ที่ไม่เป็นมาตรฐานลงในแพ็กเกจ checkinstall
ฉันกำลังทดลองใช้ checkinstall เพื่อจัดการการสร้างซอฟต์แวร์ที่กำหนดเอง ฉันต้องการเพิ่มไฟล์ที่กำหนดเองไปยังแพ็คเกจเช่น /etc/init.d/nginx เมื่อติดตั้ง nginx --include พารามิเตอร์เป็นวิธีที่ง่ายที่สุดในการบรรลุเป้าหมายนี้ แต่ดูเหมือนว่าจะมี clunky เล็กน้อยในการสร้างพูด etc/init.d/nginx ในไดเรกทอรีต้นทาง nginx เพื่อให้ไฟล์นั้นรวมอยู่ในแพ็คเกจ นี่เป็นวิธีที่ยอมรับได้ในการแทรกไฟล์ที่กำหนดเองลงในแพ็คเกจการติดตั้ง


1
จะค้นหาและแสดงรายการสแตติกไลบรารีที่ใช้โดยซอฟต์แวร์ใน Linux ได้อย่างไร?
พื้นหลัง : เรามีผู้ผลิตซอฟต์แวร์บุคคลที่สามสำหรับการกระจาย Linux lubuntuของเราที่เรากำลังทดสอบบน เรามีไฟล์การติดตั้งและinstall.shเชลล์สคริปต์ที่ติดตั้งไบนารีที่จำเป็นสำหรับซอฟต์แวร์ในไดเรกทอรีที่ถูกต้อง เราต้องการพิจารณาว่ามีการใช้ห้องสมุดแบบคงที่ใดในซอฟต์แวร์นี้ สิ่งที่เราได้ทำไปแล้ว : เรามองlddแต่มันจะแสดงรายการไลบรารีที่แชร์หรือไดนามิกเท่านั้น objdumpเช่นเดียวกันกับ เราเคยstringsดูสตริงที่ซ่อนอยู่ในไบนารีเหล่านี้เพื่อดูสัญญาณของหมายเลขรุ่นห้องสมุดและเช่นนั้น แต่นี่เป็นกระบวนการที่ใช้เวลานานและไม่มีประสิทธิภาพสำหรับไบนารีขนาดใหญ่ คำถาม : เราจะค้นหาและแสดงรายการสแตติกไลบรารีที่ใช้ในซอฟต์แวร์ภายใต้สภาพแวดล้อม Linux ได้อย่างไร?

0
เกิดข้อผิดพลาดในการรวบรวมและติดตั้ง mcrypt จากแหล่งที่มา
ฉันหวังว่าบางคนสามารถช่วยแก้ไขปัญหาบางอย่างของฉันในปัจจุบันได้ สถานการณ์: การติดตั้ง libmcrypt, mhash และ mcrypt จากแหล่งข้อมูลเพื่อรวบรวม PHP5.4 โดยเปิดใช้งานส่วนขยาย mcrypt OS: RHEL-6 (บน openshift) ขั้นตอน: รวบรวมและติดตั้ง libmcrypt และ mhash โดยไม่มีปัญหา ย้ายไปติดตั้ง mcrypt และเริ่มแรกฉันมีปัญหากับมันไม่พบ mhash lib ฉันทำตามคำแนะนำ ที่นี่ ! หลังจากส่งออก env vars ฉันสามารถรับข้อผิดพลาดนั้นได้ แต่ตอนนี้ mcrypt ไม่สามารถคอมไพล์ได้เนื่องจากข้อผิดพลาดต่อไปนี้: configure: WARNING: mcrypt.h: accepted by the compiler, rejected by the preprocessor! ฉันดึง config.log และฉันเห็นข้อผิดพลาดนี้: …

1
รุ่น sed ไม่ถูกต้องเมื่อรวบรวมบน OSX
ฉันพยายามติดตั้งcrosstool-ngบน OSX 10.6.8 ที่ระยะการกำหนดค่าฉันทำงาน./configure --prefix=/opt/crossและฉันได้ผลลัพธ์ต่อไปนี้: ! ./configure --prefix=/opt/cross checking build system type... x86_64-apple-darwin10.8.0 checking host system type... x86_64-apple-darwin10.8.0 checking for a BSD-compatible install... /opt/local/bin/ginstall -c checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for a sed that does not truncate output... /usr/bin/sed …
2 macos  sed  compile 

2
วิธีสร้างแพ็คเกจของ Ubuntu ดังนั้นรูปแบบการติดตั้งจะตรงกับชุดจำหน่าย Ubuntu หรือไม่
ฉันกำลังทำงานกับซอร์สโค้ด apache2 ซึ่งเป็น `แหล่งที่มา apt-get 'จากที่เก็บ Ubuntu apt-get แตกไฟล์ apache2-xxx.tar.gz และรวมกับ apache2-xxx-ubuntu.diff ดังนั้นฉันจึงเห็นว่าไดเรกทอรี apache2-xxx / มีแหล่ง apache2 Ubuntu-ized แต่หลังจากกำหนดค่าและทำการติดตั้งแล้วฉันพบว่าโครงสร้างไดเรกทอรีผลลัพธ์ที่สร้างขึ้นนั้นแตกต่างจากที่ฉันติดตั้งโดย 'apt-get install apache2' ตัวอย่างเช่น `apt-get install apache2 'แยกการกำหนดค่าเฉพาะของโมดูลจาก httpd.conf ไปยัง mods-available / * และโมดูลทั้งหมดจะถูกรวบรวมในวัตถุที่ใช้ร่วมกัน แต่การกำหนดค่าเริ่มต้น (./configure โดยไม่มีตัวเลือก) จะรวบรวมโมดูลทั้งหมดไว้ในการปฏิบัติการเดี่ยว แม้ว่าฉันจะสามารถระบุ --enable-mods-shared = all to ./configure แต่แล้วการรวบรวมล้มเหลว คำถามนี้ไม่เพียง แต่สำหรับตัวเลือก - เปิดใช้งาน -mods-share แล้วฉันต้องการทราบวิธีรวบรวม …
2 ubuntu  compile  build 

3
ซอฟต์แวร์สมัยใหม่ใช้คุณสมบัติของซีพียูที่แตกต่างกันหรือไม่
ตัวอย่างเช่นหนึ่งสามารถมีปฏิบัติการที่ใช้คุณสมบัติสำหรับโปรเซสเซอร์ Core 2 และจากนั้นเลือกใช้คุณสมบัติอื่น ๆ สำหรับโปรเซสเซอร์เก่า? หรือมันเป็นความต้องการในการรวบรวมปฏิบัติการที่แตกต่างกัน? และถ้าไม่เป็นเช่นนั้นจริงหรือ?
2 cpu  compile 

3
รับ "ทำ" เพื่อทำงานบนบรรทัดคำสั่ง Windows ของฉันเช่นเดียวกับมันในยูนิกซ์ของฉัน
ฉันต้องการที่จะพิมพ์ make ในโฟลเดอร์ที่เหมาะสมและให้มันทำงานและคอมไพล์เช่นเดียวกับเมื่อฉันทำมันใน distro linux ที่ฉันโปรดปราน มีวิธีทำเช่นนี้หรือไม่?

1
วิธีที่ง่ายที่สุดในการเรียกใช้งานปฏิบัติการแบบคอมไพล์แบบคอมไพล์ในสภาพแวดล้อม FreeBSD
ฉันมีการคอมไพล์แบบ cross-compable สำหรับ FreeBSD ใน container docker วิธีที่ง่ายที่สุดในการใช้งานคืออะไร?

1
Self Built MacVim บน OSX 10.6 ไม่เปิดหน้าต่าง GUI
ฉันสังเกตเห็นว่าหน้าดาวน์โหลด MacVimหยุดอัปโหลดสแนปชอตที่รวบรวมไว้ล่วงหน้าสำหรับ OSX 10.6 (รองรับเพียง 10.7 ในขณะนี้โดยมี 10.6 ถือว่าเป็น LEGACY) ฉันยังใช้ 10.6 และต้องการสร้างด้วยตัวเอง ฉันใช้สิ่งต่อไปนี้ในการทำเช่นนั้น: git clone https://github.com/b4winckler/macvim.git cd macvim ./configure --with-features=huge \ --enable-gui=macvim \ --enable-macvim-check=yes \ --with-ruby-command=`rbenv which ruby` \ --enable-rubyinterp=yes \ --enable-pythoninterp=yes \ --enable-perlinterp \ --enable-cscope=yes \ --with-python-config-dir=/usr/local/Cellar/python/2.7.2/lib/python2.7/config make มันรวบรวมได้โดยไม่มีข้อผิดพลาดแม้ว่าเมื่อฉันเปิดsrc/MacVim/build/Release/และคลิกที่MacVim.appไอคอนไม่มีอะไรเกิดขึ้น นั่นคือแอปพลิเคชั่นเปิดตัว แต่ไม่มีหน้าต่าง GUI เปิด หากฉันดาวน์โหลดสแนปชอตก่อนสร้างและติดตั้งสิ่งต่าง ๆ ก็ใช้ได้ดี ฉันขาดอะไรบางอย่างหรือ macvim …

1
การคอมไพล์ MySQL Workbench บน Fedora 21 antlr-4.3 ไม่พบ jar
ฉันพยายามรวบรวม MySQL Workbench นี่คือผลลัพธ์ของ cmake: -- The C compiler identification is GNU 4.9.2 -- The CXX compiler identification is GNU 4.9.2 -- Check for working C compiler: /bin/cc -- Check for working C compiler: /bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - …

1
openssl ล้มเหลวในการติดตั้งจากแหล่งที่ผิดพลาด: / usr / bin / ld: ไม่สามารถหา -lssl
ฉันพยายามติดตั้ง openssl ตามซอร์สที่รัน: wget wget ftp://ftp.openssl.org/source/openssl-1.0.2g.tar.gz tar xvzf openssl-1.0.2g.tar.gz cd openssl-1.0.2g ./config --prefix=/home/david/project shared make depend make test make install make มันล้มเหลวหลังจากทำการทดสอบดำเนินการกับ: make[2]: Leaving directory `/home/david/project/openssl-1.0.1s' make[2]: Entering directory `/home/david/project/openssl-1.0.1s/test' /usr/bin/ld: cannot find -lssl collect2: ld returned 1 exit status make[2]: *** [link_app.gnu] Error 1 make[2]: Leaving directory `/home/david/project/openssl-1.0.1s/test' make[1]: …

2
การติดตั้งไลบรารี่ที่แชร์หลายเวอร์ชัน
ฉันใช้ Ubuntu 10.04 และฉันต้องการใช้ tmux 1.6 tmux มีการพึ่งพา libevent 2 วิธีการแก้ปัญหาของฉันคือการรวบรวม libevent2 และวางลงใน/usr/local/libคอมไพล์แล้ว tmux กับ lib /usr/local/binนี้และวางลงใน มันใช้งานได้ดีจนกระทั่ง ... ฉันเริ่มต้นใหม่ นี่เป็นเพียงข้อสันนิษฐานในส่วนของฉัน แต่ดูเหมือนว่าไบนารีอื่น ๆ กำลังเชื่อมโยงไปยังไลบรารี libevent2 อย่างน่าจะเป็นเพราะมันอยู่บนเส้นทางของไลบรารี เนื่องจากมีแพ็คเกจมากกว่า 60 แพคเกจที่มีการพึ่งพา libevent1 ทำให้การติดตั้งของฉันเสียความรู้สึก มีวิธีการใช้งานแอพพลิเคชั่นที่มีการพึ่งพาไลบรารี่หลักในเวอร์ชั่นอื่นหรือไม่? ฉันควรเชื่อมโยง lib แบบคงที่หรือไม่

1
ปัญหาในการรวบรวมเคอร์เนล linux จากแหล่งที่มา
ฉันพยายามรวบรวมเคอร์เนลจากแผนผังต้นไม้ที่พบที่https://github.com/fio-prf/emและฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันเรียกใช้make: make[1]: Nothing to be done for `all'. make[1]: Nothing to be done for `relocs'. CHK include/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh CHK include/generated/compile.h make[3]: `arch/x86/realmode/rm/realmode.bin' is up to date. CC [M] drivers/md/persistent-data/dm-btree.o In file included from drivers/md/persistent-data/dm-btree.c:7: drivers/md/persistent-data/dm-btree-internal.h:39: error: redefinition of ‘struct node’ make[3]: *** [drivers/md/persistent-data/dm-btree.o] Error 1 make[2]: *** …
1 linux  kernel  compile 

2
เปลี่ยนนาฬิการะบบของ windows ตอนนี้วันที่แก้ไขไฟล์ผิด
ฉันทำงานใน Visual Studio 2013 และทดสอบรหัสบางอย่างสำหรับการจัดการเหตุการณ์ในวันที่ระบุ ฉันเปลี่ยนนาฬิกา Windows เป็น 1/1/2016 ซึ่งรวบรวมโค้ดใน Visual Studio (โดยเฉพาะโครงการเว็บดังนั้นฉันจึงเผยแพร่ทางเทคนิค) และผลักไฟล์ให้อยู่ในสภาพแวดล้อมการพัฒนาของฉัน หลังจากการทดสอบฉันเปลี่ยนนาฬิการะบบของฉันกลับเป็นวันที่ปัจจุบันและทำการเข้ารหัสต่อไป เผยแพร่อีกครั้งและตอนนี้ฉันสังเกตเห็นว่าบางไฟล์ที่ฉันแก้ไขตั้งแต่การเปลี่ยนแปลงครั้งล่าสุดยังคงแสดงวันที่แก้ไขล่าสุด 1/1/2016 ตอนนี้เมื่อฉันผลักดันการเปลี่ยนแปลงเพื่อ dev ไม่ทราบว่าไฟล์ถูกแก้ไขและไม่เคยสะท้อนการเปลี่ยนแปลงที่ฉันทำในรหัส ฉันจะแก้ไขการคอมไพล์เพื่อให้คอมไพล์โดยใช้เวลาปัจจุบันและวันที่ที่ถูกต้องได้อย่างไร? ฉันได้ลองลบโฟลเดอร์ที่การเผยแพร่ได้รับการผลักดันให้คิดว่ามันจะใช้เวลาวันที่ของระบบที่ถูกต้องในปัจจุบัน

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