মোজাভেতে আপগ্রেড করার পরে কোনও ম্যাকের সি প্রোগ্রাম সংকলন করতে পারে না


159

আমি সি প্রোগ্রামগুলি সংকলন করতে টার্মিনালে জিসিসি কমান্ডটি ব্যবহার করেছি তবে হঠাৎ করেই আমার ম্যাকের ওএসের আপডেট (ম্যাকোস 10.14 মোজাভে, এবং এক্সকোড 10.0) করার পরে আমি বার্তাটি পেতে শুরু করেছি:

test.c:8:10: fatal error: stdio.h: No such file or directory
#include <stdio.h>
         ^~~~~~~~~
compilation terminated.

আমি ইতিমধ্যে এটি জিসিসি ইনস্টল করেছি যেহেতু আমি এটি সন্ধান করতে পারি /usr/local/binএবং সেখানে সত্যিই একটি জিসিসি রয়েছে। আমি একই ফাইলটি আমার অন্যান্য আইম্যাকটিতে চালানোর চেষ্টা করেছি এবং এটি কোনও সমস্যা ছাড়াই কাজ করেছে।

আমি দৌড়ানোর চেষ্টা করেছি xcode-select --installএবং এটি ইতিমধ্যে ইনস্টল হয়ে গেছে, অতএব এটি আমার এখন যে সমস্যাটি রয়েছে তা ঠিক করে নি। আমি অনুমান করছি যে পথটি বিশৃঙ্খলাবদ্ধ হয়েছে বলে মনে হচ্ছে না যে gccএই সমস্যাটি সমাধান করার জন্য আমি অন্যান্য উত্স থেকে কিছু কমান্ড অনুলিপি করা ও পাস করার পরে এটি খুঁজে পেতে পারে।

এই বিষয়ে কিছু সাহায্য চাই।


5
আপনি জিসিসির অনুসন্ধানের পথগুলি পরীক্ষা করে দেখতে পারেনecho "#include <a.h>" | gcc -v -x c -
ম্যাট

2
খুব প্রায়ই, xocde-select --installসঠিক সমাধান হয়। আপনি কোন o / s আপগ্রেড করেছেন? মোজাভে 10.14? আপনি কোন এক্সকোড ইনস্টল করেছেন? 10.0 বা অন্য সংস্করণ?
জোনাথন লেফলার

39
@ জোনাথনলফলার আমি একটি উপায় খুঁজে পেয়েছি। যদি আমরা এক্সকোড 10 ব্যবহার করি তবে আপনি খেয়াল করবেন যে আপনি যদি ফাইন্ডারে / usr তে নেভিগেট করেন তবে আপনি 'অন্তর্ভুক্ত' নামে একটি ফোল্ডার দেখতে পাবেন না যার কারণে টার্মিনালটি শিরোনামের ফাইলগুলির অনুপস্থিতির অভিযোগ করে যা অন্তর্ভুক্ত রয়েছে 'অন্তর্ভুক্ত' ফোল্ডার। এই প্রকাশের বিবৃতিতে, developer.apple.com/docamentation/xcode_release_notes/… (আপনি / লাইব্রেরি / ডেফলার / কম্যান্ডলাইনটুলস / প্যাকেজ / ম্যাকোএসএসডিকে_হেডারস_ফর্ম_ম্যাকোস_10.14.pkg এ যান এবং সেই প্যাকেজটি 'অন্তর্ভুক্ত' ফোল্ডার ইনস্টল করার জন্য চালনা করুন)। তারপরে আপনার ভাল হওয়া উচিত।
ম্যাক্সেক্সএক্স

1
অন্য সব ব্যর্থ হলে, ম্যানুয়াল পড়ুন! বা রিলিজ নোটস। ইউনিক্স heritageতিহ্যের দিকে মুখ ফিরিয়ে নিতে চেয়েছিল অ্যাপলকে পেয়ে আমি ভয়ঙ্করভাবে অবাক হই না। আমি নিরাশ. তারা যদি সাবধান হয় তবে তারা আমাকে তাড়িয়ে দিতে পারে। তথ্যের জন্য আপনাকে ধন্যবাদ; আমি এটির সাথে পরে পরীক্ষা করব (কয়েক ঘন্টা শট-আই ধরার পরে)।
জোনাথন লেফলার

16
প্যাকেজটি ইনস্টল করার পরে ( open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgকমান্ড লাইনে) /usr/includeআমার আবার উপস্থিত হয়েছে এবং আমার জিসিসি 8.2.0 আরও একবার কাজ করে। পয়েন্টারের জন্য ধন্যবাদ; এটি সন্ধান করা ভাল। আমি আপনাকে উত্তরটি লেখার পরামর্শ দিচ্ছি কারণ সম্ভবত সেখানে সমস্যার সমাধান করা অন্যান্য ব্যক্তিরা থাকবেন।
জোনাথন লেফলার

উত্তর:


264

টি এল; ডিআর

নিশ্চিত হয়ে নিন যে আপনি সর্বশেষতম 'কমান্ড লাইন সরঞ্জাম' প্যাকেজটি ডাউনলোড করেছেন এবং এটি একটি টার্মিনাল (কমান্ড লাইন) থেকে চালনা করেছেন:

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

ক্যাটালিনা সম্পর্কিত কিছু তথ্যের জন্য, ক্যাটালিনা 10.15 এ আপগ্রেড করার পরে ম্যাকের উপর সি প্রোগ্রাম সংকলন করতে পারবেন না


বরং বিস্তৃত মন্তব্যগুলি থেকে একটি আধা-সুসংগত উত্তর বের করা হচ্ছে ...

প্রস্তাবনা

খুব প্রায়ই, xcode-select --installসঠিক সমাধান হয়েছে, কিন্তু এটি এই মুহুর্তে সাহায্য করবে বলে মনে হয় না। আপনি কি মূল Xcode GUI ইন্টারফেসটি চালানোর চেষ্টা করেছেন? এটি আপনার জন্য কিছু অতিরিক্ত সফ্টওয়্যার ইনস্টল করে পরিষ্কার করতে পারে। আমি এক্সকোড 10.0 ইনস্টল করার পরে তা করেছি, তবে এক সপ্তাহ বা আরও অনেক আগে মোজভেভে আপগ্রেড করার অনেক আগে।

আমি পর্যবেক্ষণ করেছি যে আপনার জিসিসি যদি ইনস্টল করা থাকে তবে /usr/local/binআপনি সম্ভবত এক্সকোড থেকে জিসিসি ব্যবহার করছেন না; এটি সাধারণত ইনস্টল করা আছে /usr/bin

আমিও ম্যাকোস 10.14 মোজাভে এবং এক্সকোড 10.0 এ আপডেট করেছি। যাইহোক, উভয় সিস্টেম /usr/bin/gccএবং সিস্টেম /usr/bin/clang(আমার জন্য কাজ করছে Apple LLVM version 10.0.0 (clang-1000.11.45.2) Target: x86_64-apple-darwin18.0.0উভয়ের জন্য।) আমি আমার হোম নির্মিত জিসিসি মধ্যে 8.2.0 খোঁজার না হেডার একটি সমস্যা আছে /usr/include, যা দিয়ে আপনার সমস্যা সমান্তরাল /usr/local/bin/gccহেডার পারেন খোঁজার না।

আমি কিছুটা তুলনা করেছি, এবং আমার মোজাভে মেশিনে মোটেও কিছু /usr/includeনেই, তবুও /usr/bin/clangঠিক আছে সংকলন করতে সক্ষম। আমার শিরোনামে ( _stdio.hশীর্ষস্থানীয় আন্ডারস্কোর সহ) ছিল আমার পুরানো /usr/include; এটি এখন অনুপস্থিত (অতএব জিসিসি 8.2.0 এর সাথে আমার সমস্যা)। আমি দৌড়ে গিয়েছিলাম xcode-select --installএবং এটি বলে " xcode-select: note: install requested for command line developer tools" এবং তারপরে একটি জিইউআই ইনস্টলার চালিয়েছিল যা আমাকে একটি লাইসেন্স দেখায় যা আমি সম্মত হয়েছিলাম এবং এটি কমান্ড লাইন সরঞ্জামগুলি ডাউনলোড এবং ইনস্টল করেছে - বা এটি দাবি করেছিল।

আমি তখন Xcode গুই (কমান্ড-স্পেস, Xcode, আগমন) দৌড়ে গিয়ে তা আরো কিছু সফ্টওয়্যার ইনস্টল করা প্রয়োজন বলেন, কিন্তু এখনও কোন /usr/include। তবে আমি /usr/bin/clangএবং /usr/bin/gcc- এর সাথে সংকলন করতে পারি এবং -vবিকল্পটি তাদের ব্যবহার করার পরামর্শ দেয়

InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

কাজ সমাধান

তারপরে ম্যাক্সএক্সএক্স উল্লেখ করেছে :

আমি একটি উপায় খুঁজে পেয়েছি। যদি আমরা এক্সকোড 10 ব্যবহার করি তবে আপনি খেয়াল করবেন যে আপনি যদি /usrফাইন্ডারে নেভিগেট করেন তবে আপনি 'অন্তর্ভুক্ত' নামক কোনও ফোল্ডার দেখতে পাবেন না, যার কারণে টার্মিনালটি ভিতরে থাকা শিরোলেখের ফাইলগুলির অনুপস্থিতির অভিযোগ করে 'অন্তর্ভুক্ত' ফোল্ডার। ইন Xcode 10.0 রিলিজ নোট , এটা বলছেন একটি প্যাকেজ থাকে:

/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg 

এবং /usr/includeফোল্ডারটি ইনস্টল করার জন্য আপনার সেই প্যাকেজটি ইনস্টল করা উচিত । তারপরে আপনার ভাল হওয়া উচিত।

যখন সমস্ত কিছু ব্যর্থ হয়, ম্যানুয়ালটি পড়ুন বা এই ক্ষেত্রে, রিলিজ নোটগুলি। আমি অ্যাপলকে তাদের ইউনিক্স heritageতিহ্যের দিকে ফিরে যেতে চেয়েছি তা দেখে আমি ভয়ঙ্করভাবে অবাক হই না, তবে আমি হতাশ। তারা যদি সাবধান হয় তবে তারা আমাকে তাড়িয়ে দিতে পারে। তথ্যের জন্য আপনাকে ধন্যবাদ.

কমান্ড লাইনে নিম্নলিখিত কমান্ডটি ব্যবহার করে প্যাকেজটি ইনস্টল করার পরে, আমি /usr/includeআবার করেছি এবং আমার জিসিসি 8.2.0 আরও একবার কাজ করে।

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

কমান্ড লাইন সরঞ্জাম ডাউনলোড করা হচ্ছে

ভেসাল যেমন একটি মূল্যবান মন্তব্যে উল্লেখ করেছেন , আপনার মোজভে 10.14-তে এক্সকোড 10.1 এর জন্য কমান্ড লাইন সরঞ্জাম প্যাকেজটি ডাউনলোড করতে হবে এবং আপনি এটি থেকে এটি করতে পারেন:

ডাউনলোড পেতে সক্ষম হতে আপনাকে অ্যাপল আইডি দিয়ে লগইন করতে হবে। আপনি ডাউনলোডটি শেষ করার পরে, কমান্ড লাইন সরঞ্জাম প্যাকেজটি ইনস্টল করুন। তারপরে 'ওয়ার্কিং সলিউশন' বিভাগে বর্ণিত শিরোনামগুলি ইনস্টল করুন।

এটি মোজভেভ 10.14.1 এ আমার জন্য কাজ করেছে। আমি অবশ্যই এটি আগে ডাউনলোড করেছিলাম, তবে আমি এই প্রশ্নের উত্তর দেওয়ার সময়টি ভুলে গিয়েছিলাম।

মোজাভে 10.14.4 এবং এক্সকোড 10.2 এ আপগ্রেড করুন

2019-05-17 বা প্রায়, আমি মোজাভে 10.14.4 এ আপডেট করেছি এবং এক্সকোড 10.2 কমান্ড লাইন সরঞ্জামগুলিও আপগ্রেড করা হয়েছে (বা এক্সকোড 10.1 কমান্ড লাইন সরঞ্জামগুলি 10.2-তে উন্নীত করা হয়েছিল)। openকমান্ড দেখানো উপরে অনুপস্থিত হেডার স্থির করেছি। মূল এক্সকোডকে 10.2 এ আপগ্রেড করার পরে এবং কমান্ড লাইন সরঞ্জামগুলি এবং শিরোনাম প্যাকেজটি পুনরায় ইনস্টল করার জন্য এখনও অ্যাডভেঞ্চার আসতে পারে।

এক্সকোড 10.3 এ উন্নীত করুন (মোজাভেভ 10.14.6 এর জন্য)

2019-07-22 এ আমি অ্যাপ স্টোরের মাধ্যমে বিজ্ঞপ্তি পেয়েছি যে এক্সকোড 10.3 এ আপগ্রেড পাওয়া যায় এবং এটিতে আইওএস 12.4, টিভিএস 12.4, ওয়াচস 5.3 এবং ম্যাকোস মোজাভে 10.14.6 এর এসডিকে অন্তর্ভুক্ত রয়েছে। আমি এটি আমার 10.14.5 মেশিনগুলির মধ্যে একটি ইনস্টল করেছি এবং এটি চালিয়েছি এবং এটির মতো অতিরিক্ত উপাদান ইনস্টল করেছি এবং মনে হয় এটি /usr/includeঅক্ষত রয়েছে।

পরে একই দিন, আমি আবিষ্কার করেছি যে ম্যাকস মোজাভে 10.14.6 খুব কমান্ড লাইন ইউটিলিটিস প্যাকেজ আইআইআরসি সহ (সিস্টেমের পছন্দসমূহ ⟶ সফ্টওয়্যার আপডেট) উপলব্ধ ছিল (এটি ডাউনলোড এবং স্বয়ংক্রিয়ভাবে ইনস্টল হয়েছিল)। ও / গুলি আপডেট ইনস্টল করা, আরও একবার মুছে ফেলল /usr/include, কিন্তু openউত্তরের উপরের কমান্ডটি আবার এটি পুনঃস্থাপন করেছে। openকমান্ডের জন্য ফাইলটিতে আমার তারিখটি ছিল 2019-07-15।

এক্সকোড 11.0 এ আপগ্রেড করুন (ক্যাটালিনা 10.15 এর জন্য)

এক্সকোড ১১.০ ("আইওএস 13, টিভিএসএস 13, ওয়াচওএস 6 এবং ম্যাকোস ক্যাটালিনা 10.15" এর জন্য সুইফ্ট 5.1 এবং এসডিকে অন্তর্ভুক্ত করা হয়েছে) 2019-09-21 প্রকাশিত হয়েছিল। আমাকে 'আপডেট উপলভ্য' সম্পর্কে অবহিত করা হয়েছিল, এবং অ্যাপ্লিকেশন স্টোর অ্যাপ (আপডেট ট্যাব) এর মাধ্যমে সমস্যা ছাড়াই এবং ফাটজ না করে ম্যাকোস মোজভেভ 10.14.6 চলমান মেশিনগুলিতে এটি ডাউনলোড এবং ইনস্টল করেছি /usr/include। ইনস্টলেশন করার পরপরই (নিজেই অ্যাপ্লিকেশন চালানোর আগে), আমি পুনঃসংশোধনের চেষ্টা করেছি এবং আমাকে বলা হয়েছিল:

এক্সকোড / আইওএস লাইসেন্সের সাথে সম্মত হওয়ার জন্য অ্যাডমিন সুবিধাগুলি প্রয়োজন, দয়া করে "সুডো এক্সকোডবিল্ড-লাইসেন্স" চালান এবং তারপরে এই আদেশটি আবার চেষ্টা করুন।

( sudo xcodebuild -license) চালানো আমাকে সংকলক চালানোর অনুমতি দেয়। তার পর থেকে, আমি প্রয়োজনীয় অতিরিক্ত উপাদানগুলি ইনস্টল করতে অ্যাপ্লিকেশনটি চালিয়েছি; এখনও কোন সমস্যা নেই। আমি নিজেই কাতালিনায় আপগ্রেড হওয়ার পরে কী হবে তা দেখা যায় - তবে আমার ম্যাকোস মোজাভেভ 10.14.6 মেশিনগুলি এই মুহুর্তে (2019-09-24) ঠিক আছে।


4
আহ এই লেখার জন্য ধন্যবাদ। অনেক প্রশংসিত. চিয়ার্স!
ম্যাক্সক্সিক্স

6
আমার জন্য সমাধান! এটি লেখার জন্য সময় দেওয়ার জন্য অনেক ধন্যবাদ!
বুদিকাতুদে

8
GRUMP !!! 10.14.1 আপডেটের সাথে জিনিসগুলি আবার পরিবর্তিত হয়েছে - বা, কমপক্ষে, তারা আবার পরিবর্তন হয়েছে বলে মনে হচ্ছে। আমার জন্য, দেখে মনে হচ্ছে যে o / s আপডেটটি দূরে সরে গেছে/usr/include, এবং উপরের উত্তরে তালিকাভুক্ত প্যাকেজটি উপস্থিত নেই/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgএবংxcode-select --installবলেছে যে কমান্ড লাইন সরঞ্জাম বর্তমানে উপলভ্য নয়।
জোনাথন লেফলার

15
অ্যাপল অনুপস্থিত। তারা কেবল কাজ করে এমন জিনিসগুলি ছেড়ে দিতে পারে না, তাদের জিনিসগুলি স্থানান্তর করতে হবে, পদক্ষেপগুলি যুক্ত করতে হবে এবং মন্থ তৈরি করতে হবে।

7
এই আশায় যে অনুসন্ধান ইঞ্জিনগুলি এই উত্তরটি খুঁজে পাবে, উপরোক্ত নির্দেশাবলী সমাধান করেছে একটি fatal error: bits/ctype_base.h: No such file or directory: #include <bits/ctype_base.h>জিসিসি 7.4.0 সংকলন করার সময় আমার জন্য মোজাভেতে libstdc ++ ব্যবহার করে
অ্যাডাম লিন্ডবার্গ

30

আমি এখানে এবং অনলাইনে খুঁজে পেতে পারে এমন প্রতিটি উত্তর চেষ্টা করার পরেও আমি কিছু হারিয়ে যাওয়া শিরোনামের ত্রুটি পেয়েছিলাম getting পাইআরএফআর সংকলনের চেষ্টা করার সময়, আমি stdexceptখুঁজে পাওয়া যায়নি, সম্পর্কে ত্রুটিগুলি পেয়েছিলাম, যা সম্ভবত /usr/includeঅন্যান্য শিরোলেখগুলির সাথে ইনস্টল করা হয়নি । তবে, আমি এটি কোথায় মোজভে লুকিয়ে ছিলাম এবং এটি আমার ~/.bash_profileফাইলের শেষে যুক্ত করেছি :

export CPATH=/Library/Developer/CommandLineTools/usr/include/c++/v1

এটি শেষ করে আমি এখন পাইআরএফআর এবং অন্যান্য সি / সি ++ প্রোগ্রামগুলি সংকলন করতে পারি। অনুসারে echo | gcc -E -Wp,-v -, জিসিসি এই শিরোলেখগুলির জন্য পুরানো অবস্থানটি সন্ধান করছিল (ছাড়াই /c++/v1), তবে নতুন অবস্থান নয়, তাই সিএফএলএগএস-এ এটি সংশোধন করে।


কিছুই কাজ করেনি, তবে এইটি করেছে। আপনাকে অনেক ধন্যবাদ!!
ফেলিক্স

2
ক্রিস্টিকব্রোথনেক্স
ডেভিস ডুলিন

23

যখন তুমি

  • আপডেট করা হয়েছে Mojave 10.14.6
  • আপনার /usr/includeআবার মুছে ফেলা হয়েছিল
  • প্যাকেজের মধ্যে @ জনাথন-lefflers উল্লিখিত উত্তর আর বিদ্যমান নেই The file /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg does not exist.এবং
  • এক্সকোড অভিযোগ করে যে কমান্ড লাইন সরঞ্জাম ইতিমধ্যে ইনস্টল করা আছে xcode-select --install xcode-select: error: command line tools are already installed, use "Software Update" to install updates

তারপরে, কী আমাকে উল্লিখিত প্যাকেজটি পুনরুদ্ধার করতে সহায়তা করেছিল তা পুরো CommandLineToolsফোল্ডারটি মুছে ফেলা হয়েছিল (sudo) rm -rf /Library/Developer/CommandLineToolsএবং এটি পুনরায় ইনস্টল করছিল xcode-select --install


অসাধারণ! আপনার পদক্ষেপের পরে, macOS_SDK_headers_for_macOS_10.14.pkgপাওয়া যাবে এবং কমান্ডটি open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgযা করার কথা ছিল তা করেছিল। অসংখ্য ধন্যবাদ!!
ব্রুনো অ্যামব্রিজিও

3
আমার জন্য, নিম্নলিখিতগুলি কাজ করেছে: export CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include
rbieber

ধন্যবাদ! আমি আটকে গিয়েছিলাম তবে মোজাভে 10.4.6 এবং এক্সকোড 11.3.1
সাইমন জি

প্রতিবার অ্যাপল একটি সিস্টেম আপডেট প্রকাশ করেছে আমাকে ক্লিওনের সাথে বিভিন্নভাবে এই সমস্যাটি সমাধান করতে হবে।
ইগনেজ্যাক

12

সমস্যাটি হ'ল এক্সকোড, বিশেষত এক্সকোড 10.x, সমস্ত কিছু ইনস্টল করেনি, সুতরাং কমান্ড লাইন সরঞ্জামগুলি ইনস্টল করা আছে কিনা তা নিশ্চিত করুন, এটি একটি টার্মিনাল শেলটিতে টাইপ করুন:

এক্সকোড-নির্বাচন - ইনস্টল

এছাড়াও এক্সকোড শুরু করুন এবং সমস্ত প্রয়োজনীয় ইনস্টলেশন ইনস্টল করা আছে তা নিশ্চিত করুন (এটি না থাকলে আপনাকে অনুরোধ করা উচিত।) এবং যেহেতু এক্সকোড 10 সম্পূর্ণ ম্যাক ওএস এসডিকে ইনস্টল করে না, তাই ইনস্টলারটি এখানে চালনা করুন

/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

এক্সকোড 10 দ্বারা এই প্যাকেজটি ইনস্টল করা নেই।


1
এটি আমাকে বাঁচায়। অনেক ধন্যবাদ!
ডেমভেন ওয়েয়ার


5

দ্রষ্টব্য: ম্যাকোস ক্যাটালিনা 10.15-এর স্যুইচ / সাধারণ উপলব্ধতার আগে নিম্নলিখিতটি সম্ভবত অত্যন্ত প্রাসঙ্গিক এবং সময়-সীমাবদ্ধ। নতুন ল্যাপটপ। আমি এই 1 ই অক্টোবর, 2019 লিখছি।

এই নির্দিষ্ট পরিস্থিতিগুলি হ'ল, আমি বিশ্বাস করি, যা আমার জন্য সমস্যা তৈরি করেছিল। তারা অন্যান্য বেশিরভাগ ক্ষেত্রে প্রয়োগ নাও করতে পারে।

প্রসঙ্গ:

  • ম্যাকোস 10.14.6 মোজাভে, এক্সকোড 11.0, ম্যাকোস ক্যাটালিনা 10.15 প্রবর্তনের ঠিক আগে । নতুন কেনা ম্যাকবুক প্রো।

  • ব্যর্থতা চালু pip install psycopg2, যা মূলত, পাইথন প্যাকেজটি উত্স থেকে সংকলিত হচ্ছে।

  • আমি ইতিমধ্যে এখানে দেওয়া উত্তরে প্রস্তাবিত বেশ কয়েকটি সমন্বয় করেছি।

আমার ত্রুটিগুলি:

pip install psycopg2
Collecting psycopg2
  Using cached https://files.pythonhosted.org/packages/5c/1c/6997288da181277a0c29bc39a5f9143ff20b8c99f2a7d059cfb55163e165/psycopg2-2.8.3.tar.gz
Installing collected packages: psycopg2
  Running setup.py install for psycopg2 ... error
    ERROR: Command errored out with exit status 1:
     command: xxxx/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/bk/_1cwm6dj3h1c0ptrhvr2v7dc0000gs/T/pip-install-z0qca56g/psycopg2/setup.py'"'"'; __file__='"'"'/private/var/folders/bk/_1cwm6dj3h1c0ptrhvr2v7dc0000gs/T/pip-install-z0qca56g/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/bk/_1cwm6dj3h1c0ptrhvr2v7dc0000gs/T/pip-record-ef126d8d/install-record.txt --single-version-externally-managed --compile --install-headers xxx/venv/include/site/python3.6/psycopg2


...
/usr/bin/clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -pipe -Os -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -DPSYCOPG_VERSION=2.8.3 (dt dec pq3 ext lo64) -DPG_VERSION_NUM=90615 -DHAVE_LO64=1 -I/Users/jluc/kds2/py2/venv/include -I/opt/local/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m -I. -I/opt/local/include/postgresql96 -I/opt/local/include/postgresql96/server -c psycopg/psycopgmodule.c -o build/temp.macosx-10.14-x86_64-3.6/psycopg/psycopgmodule.o

    clang: warning: no such sysroot directory: 
'/Applications/Xcode.app/Contents/Developer/Platforms
                              ❌👇the real error👇❌
/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk' [-Wmissing-sysroot]
    In file included from psycopg/psycopgmodule.c:27:
    In file included from ./psycopg/psycopg.h:34:
    /opt/local/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m/Python.h:25:10: fatal error: 'stdio.h' file not found
                             ❌👆 what I thought was the error 👆❌
    #include <stdio.h>
             ^~~~~~~~~
    1 error generated.

    It appears you are missing some prerequisite to build the package 

আমি এখন পর্যন্ত যা করেছি, কিছুই স্থির না করে:

  • xcode-select --install
  • ইনস্টল করা এক্সকোড
  • open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Stdio.h এ এখনও একই ত্রুটি।

যা বেশ কয়েকটি জায়গায় বিদ্যমান:

(venv) jluc@bemyerp$ mdfind -name stdio.h
/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
/usr/include/_stdio.h
/usr/include/secure/_stdio.h
/usr/include/stdio.h   👈 I believe this is the one that's usually missing.
                            but I have it.
/usr/include/sys/stdio.h
/usr/include/xlocale/_stdio.h

সুতরাং, আসুন যে প্রথম ডিরেক্টরিতে clangঅভিযোগ করা হয় এবং দেখুন:

(venv) jluc@gotchas$ cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
(venv) jluc@SDKs$ ls -l
total 0
drwxr-xr-x  8 root  wheel  256 Aug 29 23:47 MacOSX.sdk
drwxr-xr-x  4 root  wheel  128 Aug 29 23:47 DriverKit19.0.sdk
drwxr-xr-x  6 root  wheel  192 Sep 11 04:47 ..
lrwxr-xr-x  1 root  wheel   10 Oct  1 13:28 MacOSX10.15.sdk -> MacOSX.sdk  👈
drwxr-xr-x  5 root  wheel  160 Oct  1 13:34 .

হ্যাঁ, আমাদের MacOSX10.15.sdk এর জন্য একটি সিমিলিংক রয়েছে , তবে ম্যাকোএসএক্সএক্স 10.14.sdk এর জন্য একটিও নেই । এখানে আমার প্রথম clangত্রুটি আবার:

clang: warning: no such sysroot directory: '/Applications/Xcode.app/.../Developer/SDKs/MacOSX10.14.sdk' [-Wmissing-sysroot]

আমার অনুমান যে অ্যাপল তাদের এক্সকোড কনফিগারেশনে বন্দুকটি ঝাঁপিয়ে পড়েছে এবং ইতিমধ্যে তারা ভাবছে তারা কাতালিনাতে রয়েছে। যেহেতু এটি একটি নতুন ম্যাক, তাই 10.14 এর জন্য পুরানো কনফিগারেশনটি নেই।

ঠিক করা:

10.15 এর মতো একইভাবে 10.14 সিমিলিং করুন:

ln -s MacOSX.sdk/ MacOSX10.14.sdk

বিটিডব্লিউ, আমি যদি সেই এসডিকে ডিরেক্টরিতে যাই, আমি খুঁজে পাই:

...
./usr/include/sys/stdio.h
./usr/include/stdio.h
....

ফলাফল:

pip install psycopg2 কাজ করে।

দ্রষ্টব্য: প্রকৃত পাইপ ইনস্টল কমান্ড MacOSX10.14.sdk- র কোনও রেফারেন্স দেয়নি , এটি পরবর্তী সময়ে এসেছিল, সম্ভবত পাইথন ইনস্টলেশন প্রক্রিয়া ওএস সংস্করণকে অন্তর্নিম্ন করে।


আপনি কোনটি pipব্যবহার করছেন? আমি মনে করি এটিই মূল সমস্যা হতে পারে।
ফ্রাঙ্কলিন ইউ

3

এক্সকোড পছন্দসমূহ -> অবস্থানগুলি চেক করতে ভুলবেন না।

আমি যে কমান্ড লাইন সরঞ্জামগুলি নির্বাচন করেছিলাম তা ছিল এক্সকোডের পূর্ববর্তী সংস্করণ (10.1 এর পরিবর্তে 8.2.1)


2

ওপি-র মতো একই সমস্যা ছিল

সমস্যা

বিড়াল hello.c

#include <stdlib.h>
int main() { exit(0); }

ঝনঝন হ্যালো

/usr/local/include/stdint.h:2:10: error: #include nested too deeply
etc...

স্থির করার চেষ্টা করা হয়েছে

আমি এক্সকোডের সর্বশেষ সংস্করণটি ইনস্টল করেছি, তবে রিলিজ নোটগুলি এখানে পূর্ববর্তী ফিক্সে উল্লিখিত ফাইলটি জোনাথন থেকে পাওয়া যায়নি।

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

নতুন বৈশিষ্ট্য বিভাগের অধীনে এখানে https://developer.apple.com/docamentation/xcode_release_notes/xcode_10_release_notes বিশদগুলি।


সমাধান যে আমার জন্য কাজ করে ...

এই মন্তব্যে বিশদটি ব্যবহার করে https://github.com/SOHU-Co/kafka-node/issues/881#issuecomment-396197724

আমি দেখতে পেয়েছি যে brew doctorআমার /usr/local/ফোল্ডারে কোনও অব্যবহৃত রয়েছে বলে প্রতিবেদন করেছে ।

তাই ঠিক করতে, আমি ব্যবহারকারীর দ্বারা প্রদত্ত কমান্ডটি ব্যবহার করেছি হাওক্রাইজি করেছি , অব্যবহৃত অন্তর্ভুক্তগুলি সন্ধান করতে এবং তাদের একটি অস্থায়ী ফোল্ডারে সরিয়ে নিয়েছি

এখানে পুনরাবৃত্তি ...

mkdir /tmp/includes
brew doctor 2>&1 | grep "/usr/local/include" | awk '{$1=$1;print}' | xargs -I _ mv _ /tmp/includes

স্ক্রিপ্টগুলি চালানোর পরে, অন্তর্ভুক্ত ফাইলের সমস্যাটি শেষ হয়ে গেল। নোট: আমি এখানেও এই বিষয়ে মন্তব্য করেছি ।


1

আমি এই সমস্যা ছিল এবং কিছুই কাজ করে না । আমি দৌড়েছি xcode-select --installএবং ইনস্টল করেছি /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

পটভূমি

যেহেতু একটি নতুন ল্যাপটপে অ্যাপ স্টোর নিয়ে আমার সমস্যা ছিল , তাই অ্যাপ স্টোরের বাইরের এক্সকোড ইনস্টল করার জন্য আমাকে অ্যাপল ওয়েবসাইট থেকে এক্সকোড বিটা ইনস্টলারটি ডাউনলোড করতে বাধ্য করা হয়েছিল । সুতরাং আমি কেবল এক্সকোড বিটা ইনস্টল করেছিলাম ।

সমাধান

এটি, (আমার মনে হয়) ডিরেক্টরিটি clangখুঁজে না পেয়েছিল , কারণ কোনও পথ নেই, বা এক্সকোড বিটা কেবল এটি ইনস্টল করে না (আমি জানি না)। সমস্যা সমাধান করতে, আমি মুছে ফেলার জন্য ছিল Xcode বিটা এবং সমাধান App স্টোর বা দোকান মুক্তি সংস্করণ ইনস্টল করতে সমস্যা।SDKROOT/Applications/Xcode.app/....Beta

tldr;

যদি আপনার কাছে এক্সকোড বিটা থাকে তবে অন্যান্য লোকদের জন্য কাজ করছে এমন সমাধানগুলি চেষ্টা করার আগে সবকিছু পরিষ্কার করে রিলিজ সংস্করণ ইনস্টল করার চেষ্টা করুন।


1

আমি প্রায় পোস্ট করা সমাধানগুলি চেষ্টা করেছিলাম এবং কিছুই আমার পক্ষে কার্যকর হয়নি। আমি মোজাভে ওএস (10.14.6) এবং অবশেষে আমার জন্য কী কাজ করেছে (এক্সকোড এবং সিএলটি এবং এসডিকে হেডারগুলি সরিয়ে এবং পুনরায় ইনস্টল করার পরে) ব্যবহার করি:

  1. Https://cran.r-project.org/bin/macosx/tools/ থেকে কলঙ্ক ভি 8 ইনস্টল করুন
  2. Lines / .R / Makevars ফাইল থেকে নিম্নলিখিত লাইনগুলি সংশোধন করুন
CC=/usr/local/opt/llvm/bin/clang -fopenmp
CXX=/usr/local/opt/llvm/bin/clang++

সঙ্গে

CC=/usr/local/clang8/bin/clang -fopenmp
CXX=/usr/local/clang8/bin/clang++

এখন আর প্যাকেজগুলি যা সি সংকলকগুলির উপর নির্ভর করে সফলভাবে ইনস্টল করে


0

জোনাথন লেফলার উপরে উল্লেখ করেছেন যে ম্যাকোএসএসডিডি_হেডার্স.পিকিজি ফাইলটি আর এক্সকোড 10.1-এ নেই।

আমার জন্য যা কাজ করা হয়েছিল তা হ'ল brew upgradeএবং সিসি এবং / অথবা হোমব্রিউয়ের পর্দার আড়ালে থাকা যা কিছু ঘটেছে সেগুলি পথের সমস্যার সমাধান করেছে।


0

এই উত্তরটির নির্দেশাবলী/usr/local/include অনুসরণ করে আমি ম্যাক ওএস ক্যাটালিনাতে এই সমস্যাটি সমাধান করতে সক্ষম হওয়ার পরেও apue.h নির্ভরতা এখনও আমার মধ্যে হারিয়েছিল

আমি নিজে নির্ভরতা ডাউনলোড করা Git থেকে এবং এটি স্থাপন/usr/local/include


0

আমার অভিবাসনের পরে গোলং (গোলল্যান্ডের সাথে ডিবাগিং) নিয়ে একই সমস্যা ছিল। একমাত্র (হাস্যকর) জিনিস যা নিম্নলিখিত ফোল্ডারটির নাম পরিবর্তন করেছে:

sudo mv /usr/local/include /usr/local/old_include

স্পষ্টতই এটি পুরানো ফাইলগুলির সাথে সম্পর্কিত যা হোমব্রু ইনস্টল করা হয়েছে এবং এখন এটি ভেঙে গেছে।


-1

@ জেএল পেয়ারেট ঠিক বলেছেন!

আপনি যদি 10.14.6 মজবকে ম্যাকো করেন তবে এক্সকোড 11.0+

তারপর

সিডি / অ্যাপ্লিকেশনস / এক্সকোড.এপ / সামগ্রী / ডেভেলপার / প্লাটফর্মস / ম্যাকোএসএক্স.প্ল্যাটফর্ম / ডেভেলপার / এসডিকে

sudo ln -s MacOSX.sdk / MacOSX10.14.sdk


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