পাইথন ২.6.১, পাইক্রিপ্টো ২.৩ পিপিআই প্যাকেজ: নির্মাণের সময় "ব্রোকন পাইপ"


11

আমি ফ্যাব্রিক ইনস্টল করার চেষ্টা করছি, যার পাইক্রিপ্টো দরকার। পাইক্রিপ্টো তৈরির সময় আমি সর্বদা একটি "ব্রোকেন পাইপ" ত্রুটি পাই। সমস্যাটি ঠিক করতে কোথায় শুরু করব তা আমি জানি না।

আমি ম্যাক ওএস এক্স স্নো চিতা 10.6.6 চালাচ্ছি, সমস্ত আপডেট ইনস্টল করা আছে; পাইথন 2.6.1; জিসিসি 4.2; এক্সকোড 4 (যদি জিসিসি আপডেট হয় তবে)

সঠিক ত্রুটিটি হ'ল:

$ sudo python setup.py build
Password:
running build
running build_py
running build_ext
warning: GMP library not found; Not building Crypto.PublicKey._fastmath.
building 'Crypto.Hash.MD2' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -fwrapv -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c src/MD2.c -o build/temp.macosx-10.6-universal-2.6/src/MD2.o
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed
Installed assemblers are:
/usr/bin/../libexec/gcc/darwin/x86_64/as for architecture x86_64
/usr/bin/../libexec/gcc/darwin/i386/as for architecture i386
src/MD2.c:134: fatal error: error writing to -: Broken pipe
compilation terminated.
lipo: can't open input file: /var/tmp//ccfADoXD.out (No such file or directory)
error: command 'gcc-4.2' failed with exit status 1

1
ঠিক আছে, সমস্যাটি এটি একটি পিপিসি বাইনারি তৈরি করার চেষ্টা করছে। জিসিসি লাইনে এটিতে "-আরচ পিপিসি" রয়েছে যা এটির কারণ হবে। কীভাবে এটি ঠিক করবেন কোনও ধারণা নেই।
টনি আর্কলস

উত্তর:


15

এটি একটি আরও ভাল সমাধান যা ম্যাক ওএস এক্স 10.6 এ সমস্ত পাইথন সংস্করণে এক্সকোড 4 ব্যবহার করে সমস্ত পাইথন সি এক্সটেনশন বিল্ডিংয়ের জন্য কাজ করে।

ARCHFLAGS="-arch i386 -arch x86_64" python setup.py build

আপনি setup.pyযে সি এক্সটেনশানগুলি তৈরির চেষ্টা করছেন তার জন্য আপনাকে এই ফাইলগুলি নিয়ে ঘৃণা করতে হবে না ।


দুর্দান্ত, ধন্যবাদ, এটি আমার মধ্যে আটকে গেল ~/.zshrc
roguesys

নিশ্চিত হয়ে নিন যে আপনি এটি করেছেন
জন

@Jon। যা নির্ভর করে. আপনি নিজের হোম ডিরেক্টরিতে পাইথন প্যাকেজগুলি স্থানীয়ভাবে ইনস্টল করতে পারেন।
ওয়াই এইচ ওয়াং

2

টনি যেহেতু বিষয়টি চিহ্নিত করেছেন পিপিসি সম্পর্কিত। এক্সকোড 4 পিপিসি এসেম্বেলারকে অপসারণ করেছে। সেটআপ সরঞ্জামগুলি ডিফল্ট, i386, ppc এবং x86_64 দ্বারা সমস্ত আর্কিটেকচারের জন্য ইনস্টল করার চেষ্টা করে।

আমি এই কোডটি আমার পাইক্রিপ্টো -২.৩ সেটআপ.পি-র সাথে 122 লাইনে এবং এর পরে যুক্ত করেছি। এটি 'পিপিসি' এর জন্য সেট সংকলক বিকল্পগুলি অনুসন্ধান করে এবং এটি এবং পূর্ববর্তী '-আরচ' নির্দেশনা 'সরিয়ে দেয়।

    # removing PPC flag from compiler options
    index = self.compiler.compiler_so.index('ppc')

    del self.compiler.compiler_so[index]
    del self.compiler.compiler_so[index-1]

কোনও সমস্যা ছাড়াই সংশোধিত ফাইলে ইনস্টল করা পাইক্রিপ্টোতে সাধারণ সুডো পাইথন সেটআপ.পি ইনস্টল চালানো হচ্ছে।

এটি একটি ভয়াবহ কর্মক্ষেত্র, তবে আপাতত কাজ করা উচিত যতক্ষণ না সেটআপলুলগুলি এক্সকোড 4 সহ 10.6 এর আর কোনও প্রযোজ্য টার্গেট আর্কিটেকচার হিসাবে পিপিসি না সনাক্ত করতে পারে। সর্বোপরি এই সমস্যাটি সমাধানের পরামর্শ গৃহীত হয়েছে।


এর চেয়ে আরও ভাল সমাধান রয়েছে। ইঙ্গিতটি / সিস্টেম
ওয়াই এইচ ওয়াং

1

অন্য বিকল্পটি হ'ল পিপিসি এসেমব্লার্সকে এক্সকোডের পূর্ববর্তী সংস্করণ থেকে কপি করা। আপনাকে কেবল লোকেশন থেকে পিপিসি এবং পিপিসি 64 ফোল্ডারগুলি অনুলিপি করতে হবে/usr/libexec/gcc/darwin/

আমি জানি যে এটি একটি ভয়াবহ কাজ, কিন্তু এটি আমার পক্ষে কার্যকর হয়েছিল!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.