2012-07-19 13 views
11

मैंने एक ज़िप फ़ाइल के रूप में https://github.com/git/git से गिट स्रोत डाउनलोड किया।स्थिर लिंकिंग के साथ गिट कैसे बनाएं?

मैंने इसे/home/डेस्कटॉप/डेनिस/गिट (उबंटू का उपयोग करके) में निकाला।

अब ट्यूटोरियल here कि मैं Git के निर्माण के लिए एक कदम के रूप

./configure --prefix=/home/denis/git-static CFLAGS="${CFLAGS} -static" 
ऊपर उल्लेख किया फ़ोल्डर से

चलाना चाहिए कहते हैं।

लेकिन गिट स्रोत में इसके रूट फ़ोल्डर में एक कॉन्फ़िगरेशन फ़ाइल नहीं दिखती है जिसे मैं चला सकता हूं (केवल config.ac, जो मुझे संदेह है कि मैं जो खोज रहा हूं वह नहीं है)।

मुझे यहां क्या याद आ रही है? गिट मैन्युअल रूप से कैसे बनाया जाए?

मैं ऐसा इसलिए कर रहा हूं क्योंकि मैं एक साझा होस्टिंग सर्वर पर गिट काम करने की कोशिश कर रहा हूं जहां मैं गिट स्थापित करने में सक्षम नहीं हूं।

+0

पहले 'कॉन्फ़िगर करें'। इसके लिए 'autoconf' की आवश्यकता है। –

उत्तर

-3

अनज़िप फ़ाइल के रूट फ़ोल्डर में इन्सटाल फ़ाइल पढ़ें, ऐसा लगता है उस में कुछ उपयोगी शिक्षा है, मैं क्या संदेह है:

वैकल्पिक रूप से आप autoconf सेट करने के लिए कॉन्फ़िगर स्क्रिप्ट उत्पन्न उपयोग कर सकते हैं ऊपर पथ (config.mak.autogen के माध्यम से) स्थापित है, तो आप लिख सकते हैं बजाय

$ make configure ;# as yourself 
    $ ./configure --prefix=/usr ;# as yourself 
    $ make all doc ;# as yourself 
    # make install install-doc install-html;# as root 

या बस:

$ make prefix=/usr all doc info ;# as yourself 
    # make prefix=/usr install install-doc install-html install-info ;# as root 
+3

यह मुझे लगता है कि एक स्थिर रूप से जुड़े गिट का निर्माण नहीं करता है। – kipz

5

हाँ ... इसे संकलित किया जा रहा है, लेकिन स्थिर रूप से नहीं। अपने लक्ष्य को हासिल करने के लिए, आप आदेश का उपयोग कर यह संकलन करने की जरूरत:

बनाने उपसर्ग =/घर/Denis/Git स्थैतिक CFLAGS = "$ {CFLAGS} स्थैतिक-libgcc"

केवल -staticके साथ यह द्विआधारी फ़ाइलों को ठीक से से लिंक नहीं करेगा।

आपको संकलन प्रक्रिया के दौरान कुछ पुस्तकालयों की आवश्यकता होगी: Gzip और PKZIP संपीड़न एल्गोरिदम, एसएसएल, एक्सएमएल पार्सिंग और अन्य सामान्य पुस्तकालयों के अलावा कर्ल। मैंने अभी उल्लेख किया है पैकेज में zlib1g-dev libssl-dev libexpat1-dev libcurl4-nss-dev संकुल में सम्मानित हैं।

  • योग्यता जीसीसी zlib1g-देव libssl-देव libexpat1-देव libcurl4-एनएसएस-देव
  • मेकअप उपसर्ग =/घर/Denis/Git स्थैतिक CFLAGS बनाने स्थापित:

    तो, मूल रूप से कमांड चलाने = "$ {CFLAGS} -static-libgcc"

मुझे आशा है कि चीजें आपके लिए ठीक हो जाएंगी। आपके संकलन में शुभकामनाएँ।

+1

दुर्भाग्य से काम नहीं कर रहा है, बाहरी पुस्तकालयों के बारे में अजीब रिपोर्ट – let4be

0

अन्य उत्तरों मेरे लिए काम नहीं किया। शायद वे दूसरों के लिए करेंगे।क्या मेरे लिए काम किया था:

  1. जाओ स्रोत कोड
  2. लक्ष्य निर्देशिका
  3. स्रोत निर्देशिका
  4. कॉन्फ़िगर
  5. बिल्ड दर्ज
  6. स्थापित

उपयोग बनाओ निम्नलिखित आदेश:

git clone [email protected]:git/git.git 
mkdir git-static 
cd git 
./configure prefix=/path/to/git-static/ CFLAGS="${CFLAGS} -static" 
make 
make install 

यह आपको git-static निर्देशिका में कुछ फ़ोल्डर्स के साथ छोड़ देगा, लेकिन निष्पादन योग्य स्थिर रूप से जुड़ा हुआ है। यह सामान्य से काफी बड़ा है (शायद 1.5 एमबी बड़ा)।

संबंधित मुद्दे