জিসিসি ত্রুটি: জিসিসি: 'সিসি 1' চালানোর চেষ্টা করার সময় ত্রুটি: এক্সিকিউপি: এই জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই


107

লিনাক্স মিন্টে আমি সফলভাবে জিসিসি ব্যবহার করছি। এখন আমি একটি ত্রুটি পাচ্ছি। আমি সম্প্রতি কিছু কিছু করেছি। তাই বেশিরভাগ আগেই ক্ল্যাং তৈরি এবং ইনস্টল করেছি, তবে those দুটি ইভেন্টের পরে সাফল্যের সাথে সংকলন করেছি, তাই কি পরিবর্তন হয়েছে তা নিশ্চিত নয়। আমি আবার জিসিসি অপসারণ ও ইনস্টল করতে জিইউআই সফটওয়্যার ম্যানেজার ব্যবহার করেছি, তবে ফলাফলগুলি একই:

~/code/c/ut: which gcc                                                                                                     
/usr/bin/gcc

~/code/c/ut: gcc -std=c99 -Wall -Wextra -g -c object.c                                                                      
gcc: error trying to exec 'cc1': execvp: No such file or directory

উত্তর:


80

ব্যাখ্যা

ত্রুটি বার্তাটি আমাদের জানিয়েছিল, বিল্ড-টাইম নির্ভরতা (এই ক্ষেত্রে এটি cc1পাওয়া যায় নি), সুতরাং আমাদের কেবল দরকার - উপযুক্ত প্যাকেজটি সিস্টেমে ইনস্টল করুন (প্যাকেজ ম্যানেজার // উত্স থেকে // অন্যভাবে ব্যবহার করে)

কি cc1:

cc1অভ্যন্তরীণ কমান্ড যা প্রাক-প্রক্রিয়াজাত সি-ভাষা ফাইলগুলি গ্রহণ করে এবং তাদের সমাবেশে রূপান্তর করে। এটি আসল অংশ যা সি ++ এর জন্য সি সংকলন করে, সেখানে সিসি 1 প্লাস এবং বিভিন্ন ভাষার জন্য অন্যান্য অভ্যন্তরীণ কমান্ড রয়েছে।

এই উত্তরটি থেকে নেওয়া দ্বারা অ্যালান Shutko

এর জন্য সমাধান: উবুন্টু / লিনাক্স মিন্ট

sudo apt-get update
sudo apt-get install --reinstall build-essential

এর জন্য সমাধান: ডকার-আলপাইন পরিবেশ

আপনি যদি ডকার-আলপাইন পরিবেশে থাকেন তবে এটিকে যুক্ত করে বিল্ড-বেস প্যাকেজটি ইনস্টল করুন Dockerfile:

RUN apk add build-base

পাবলো ক্যাসেটেলানো সরবরাহ করেছেন আরও ভাল প্যাকেজের নাম । আরও বিশদ এখানে

আপনার যদি বিল্ডিংয়ের উদ্দেশ্যে আরও প্যাকেজ দরকার হয় তবে আলপাইন-এসডিके প্যাকেজ যুক্ত করার বিষয়টি বিবেচনা করুন :

RUN apk add alpine-sdk

থেকে নেওয়া GitHub

এর জন্য সমাধান: সেন্টোস / ফেডোরা

এই উত্তরে সেন্টোস এবং ফেডোরা লিনাক্সের জন্য নির্দেশাবলী রয়েছে

এর জন্য সমাধান: অ্যামাজন লিনাক্স

sudo yum install gcc72-c++

থেকে নেওয়া এই মন্তব্যটি দ্বারা CoderChris

আপনি এটি দ্বারা মিসড নির্ভরতা ইনস্টল করার চেষ্টাও করতে পারেন ( যদিও এটি সমস্যার সমাধান না করার কথা বলা হয় ):

sudo yum install gcc-c++.noarch

এই উত্তর থেকে নেওয়া



65

ডিবিয়ান / উবুন্টুতে আমি পুনরায় ইনস্টল করে এই সমস্যাটি সমাধান করেছি build-essential:

sudo apt-get update
sudo apt-get install --reinstall build-essential

4
Build - পুনর্নির্মাণ বিল্ড-অপরিহার্য - এর জন্য লগটিতে আমার উবুন্টু স্পষ্টভাবে বলেছেন "g ++ (4: 6.1.1-1buuntu2) সেটআপ করা ... আপডেট-বিকল্পগুলি: / usr / বিন / জি ++ ব্যবহার / ইউএসআর / বিন সরবরাহ করতে / সি ++ (সি ++) অটো মোডে "
পাম্যান্ড

এটি আমাকে দেবিয়ান ডিজিটাল ওশন ডট কমের ফোঁটায় স্থির করে। আমাকে কেবল দ্বিতীয় কমান্ডটি চালাতে হয়েছিল যদিও তারপরে .cpp ফাইলটি সম্পূর্ণরূপে সংকলিত জিসিসি পরে হয়েছিল।
রাদেবাস

4
@ এমসিড কিছুই ভুল নয় - এটি সমস্যার সমাধান করেছে। সমস্যা সম্পর্কিত আপনার কোন অংশের পরামর্শটি কেবল তা স্পষ্ট করে বলতে চেয়েছিলেন। উদাহরণস্বরূপ, যদি আপনার উত্তর কারও পক্ষে কাজ না করে তবে তারা সিসিটির জন্য নির্দিষ্ট আপডেট-বিকল্পটি ব্যবহার করতে পারে।
পাম্যান্ড

26

এর কারণ gccইনপুটটির প্রসেসিং সম্পূর্ণ করার জন্য আরও অনেক এক্সিকিউটেবলকে কল করে, এবং cc1অন্তর্ভুক্ত পথে নয়।

শেল টাইপ whereis cc1। যদি cc1এটি পাওয়া যায় তবে এটি আরও ভাল হবে এবং এর ডিরেক্টরিতে একটি সফটলিঙ্ক তৈরি করুন gcc; অন্যথায়, cc1ইনস্টল করা নেই এবং প্যাকেজ পরিচালক ব্যবহার করে আপনাকে gcc-c ++ ইনস্টল করতে হবে ।


4
উত্তরের জন্য ধন্যবাদ. যেখানে সিসি 1 কিছুই দেয় না। আমার জিসিসি এবং জিসিসি-৪.৪, জিসিসি -৪--6, লিবজিসিএ 1 ইনস্টল আছে সফটওয়্যার ম্যানেজারের মতে। আমি কেবল জি ++ ইনস্টল করেছি তবে তবুও ত্রুটিটি পাচ্ছি।
স্কুটার

4
এক্সিকিউটেবল / ইউএসআর / লোকাল / লিবেক্সেক / জিসিসি / <সার্কিটেকচার> / <কমপিলার> / <কম্পাইলার_ভার্সন> / সিসি 1 তে উপস্থিত থাকলে অন্যথায় অস্থায়ী ব্যবহারের জন্য / ইউএসআর / বিনটিতে নেভিগেট করুন এবংln -s cc cc1
পেরিলব্রাইন

আমার কাছে / usr / স্থানীয় / লিবেক্সেক ডিরেক্টরি নেই। / ইউএসআর / স্থানীয় অধীনে কোনও "জিসিসি" পাওয়া যায় নি।
স্কুটার

4
জিসিসি / ইউএসআর / বিনের অধীনে রয়েছে এবং সেখানে আপনি সিসিও করবেন, এই ডিরেক্টরিতে পূর্ববর্তী মন্তব্যে উল্লিখিত কমান্ডটি কার্যকর করুন।
পেরিলব্রেন

4
সিসি 1 / সিসি 1 প্লাস বাইনারিগুলি $ PATH তে থাকার কথা নয়।
zwol

16

অ্যামাজন লিনাক্স: জিসিসির সমস্যা সমাধান করা

যেহেতু এটি গুগলে প্রথম ফলাফল হিসাবে প্রকাশিত হয়েছে, তাই আমি কেবল আমার অভিজ্ঞতার অ্যামাজন লিনাক্সের সাথে নথিভুক্ত করতে চেয়েছিলাম। ইনস্টল করার gcc-c++.noarchফলে সমস্যার সমাধান হয়েছে:

sudo yum install gcc-c++.noarch

কিছু লোক এই বিকল্পটিকে সমাধান হিসাবে রিপোর্ট করেছেন:

sudo yum install gcc72-c++


4
অবশ্যই অ্যামাজন লিনাক্সে আমার সমস্যা, তবে হায়, .noarchইতিমধ্যে ইনস্টল।
ragerdl

11
sudo yum install gcc72-c ++ আমার জন্য এটি আমাজন লিনাক্সে বাছাই করেছে
কোডারক্রিস

অ্যামাজন লিনাক্স সম্পর্কে কারও কথা বললে খুশি হলাম, তবে এর সমাধানগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি ...
জন ক্রাইস্টোস্ট

4
"অ্যামাজন লিনাক্স এএমআই 2018.03" এ yum ইনস্টল gcc72-c ++ আমারও খুব প্রয়োজন।
নিক লোথিয়ান

4
sudo yum ইনস্টল gcc72-c ++ আমার জন্য কাজ করে। অনেক অনেক ধন্যবাদ
ইলিয়াস

13

আমি আজ একই ধরণের সমস্যায় পড়েছি - একজন সহকর্মী তার সফ্টওয়্যারটি তৈরি করতে পারেনি তবে আমি এটি তৈরি করতে পারি। তিনি কখন দৌড়েছিলেন gccতা খুঁজে পেলেন না cc1

তার নির্বাহযোগ্য পথটি যুক্তিসঙ্গত মনে হয়েছিল তবে আমি ব্যর্থতা সহজেই প্রতিরূপ করতে পারিনি তা তার পরিবেশের কারণ হিসাবে কিছু বোঝায়।

অবশেষে আমরা GCC_EXEC_PREFIXতার পরিবেশে সংজ্ঞায়িত পেয়েছি যা অপরাধী এবং gccঅনুসন্ধানে বিভ্রান্তিকর ছিল cc1। এটি তার শেল প্রারম্ভিক স্ক্রিপ্টগুলির অংশ ছিল এবং এটি স্পার / সোলারিস সিস্টেমে সীমাবদ্ধতার আশপাশে কাজ করার জন্য ব্যবহৃত হয়েছিল যা আর ব্যবহার হয় না। এই পরিবেশটি পরিবর্তনশীল না সেট করে সমস্যার সমাধান করা হয়েছিল was

http://gcc.gnu.org/onlinesocs/gcc/Enomot-Variables.html


ঠিক একই সমস্যা .. এখনও অমীমাংসিত! প্রকল্পটি 16.04LTS থেকে 18.04LTS এ পোর্ট করার পরে এটি ঘটেছে।
শেজেট 2'19

12

আমি স্পষ্টভাবে g ++ ইনস্টল করে এই সমস্যাটি সমাধান করেছি:

sudo apt-get install g++

পান্ডস ইনস্টল করার সময় উবুন্টু 12.04 এ সমস্যা হয়েছিল। (ধন্যবাদ বিপদগ্রহ।)


5

yum install gcc-c++ ঠিক আছে।


4
বিদ্যমান উত্তরের সদৃশ (বর্তমানে সর্বাধিক ভোট দেওয়া হয়েছে, এটির এক বছর পূর্বে পোস্ট করা হয়েছে)। "থ্যাঙ্কস" বা "আমিও" উত্তরগুলি কেবল বিশৃঙ্খলা।
পিটার কর্ডস

4

নিশ্চিত হয়ে নিন যে আপনার GCC_EXEC_PREFIX(env)রফতানি হয়নি এবং আপনার PATHডান টুল চেইনে রফতানি করা হয়েছে।


2

আমি আরএইচইএল 7 তে একটি চকচকে নতুন জিসিসি - সংস্করণ 8.1 - সংকলন এবং ইনস্টল করার পরে শীঘ্রই এটির অভিজ্ঞতা পেয়েছি; শেষ পর্যন্ত, এটি অনুমতিগুলির সমস্যা হিসাবে শেষ হয়েছিল; আমার মূল উমাস্ক অপরাধী ছিল। আমি অবশেষে cc1লুকিয়ে দেখতে পেলাম /usr/local/libexec:

[root@nacelle gdb-8.1]# ls -l /usr/local/libexec/gcc/x86_64-pc-linux-gnu/8.1.0/ | grep cc1
-rwxr-xr-x 1 root root 196481344 Jul  2 13:53 cc1

তবে, সেখানে পরিচালিত ডিরেক্টরিগুলির অনুমতিগুলি আমার মানক ব্যবহারকারীর অ্যাকাউন্টের অনুমতি দেয় না:

[root@nacelle gdb-8.1]# ls -l /usr/local/libexec/
total 4
drwxr-x--- 3 root root 4096 Jul  2 13:53 gcc
[root@nacelle gdb-8.1]# ls -l /usr/local/libexec/gcc/
total 4
drwxr-x--- 3 root root 4096 Jul  2 13:53 x86_64-pc-linux-gnu
[root@nacelle gdb-8.1]# ls -l /usr/local/libexec/gcc/x86_64-pc-linux-gnu/
total 4
drwxr-x--- 4 root root 4096 Jul  2 13:53 8.1.0

chmodবিশ্ব জুড়ে পড়া / এক্সিকিউট এক্সিকিউটিভগুলি যুক্ত করার জন্য একটি দ্রুত পুনরাবৃত্তকারী এটি ঠিক করে দিয়েছে:

[root@nacelle 8.1.0]# cd /usr/local/libexec
[root@nacelle lib]# ls -l | grep gcc
drwxr-x---  3 root root     4096 Jul  2 13:53 gcc
[root@nacelle lib]# chmod -R o+rx gcc
[root@nacelle lib]# ls -l | grep gcc
drwxr-xr-x  3 root root     4096 Jul  2 13:53 gcc

আর এখন gccজানতে পারেন cc1যখন আমি এটা কম্পাইল কিছু জিজ্ঞাসা!


1

যদি আপনি একটি 64৪-বিট ওএসে 32-বিট জিসিসি বাইনারিগুলি চালানোর চেষ্টা করেন এবং 32-বিট গ্লিবিক হারিয়েছেন তবে এটি প্রদর্শিত ত্রুটি বার্তাও হতে পারে। এই রিডমি অনুসারে : "run৪ বিট সিস্টেমের জন্য, সরঞ্জামগুলি চালনার জন্য 32 বিট libc এবং libncurses প্রয়োজন" " এই ক্ষেত্রে পথটিতে কোনও সমস্যা নেই এবং সিসি 1 আসলে পাওয়া গেছে তবে 32 বিট গ্লিবসি হিসাবে নিখোঁজ হিসাবে প্রতিবেদন করা হয়েছে


1

llvm-gccপরিবর্তে আমার পক্ষে যা ব্যবহার করা হয়েছিল তা হ'ল :

ln -s $(which llvm-gcc) /usr/local/bin/gcc

1

এই সমস্যাটির সাথে আমার সমস্যাটি ডকুমেন্ট করার জন্য যদিও এটি অন্য উত্তরের নির্দিষ্ট উদাহরণ হিসাবে প্রদর্শিত হবে; আপেক্ষিক নবাগত হিসাবে আমি মনে করি এটি অন্যকে সহায়তা করতে পারে।

সমাধান:

আমি একা অধিবেশন ব্যবহার করে পাঠের শুরুতে '/ usr / bin' যুক্ত করেছি PATH='/usr/path/:$PATH'এবং সবকিছু ঠিকঠাক কাজ শুরু করে।

এটি আমার নিয়মিত সরঞ্জামচেনা ভঙ্গ করবে না তা নিশ্চিত করার পরে আমি স্থায়ীভাবে PATH আপডেট করার জন্য জিডিট ব্যবহার করেছি।

ব্যাখ্যা:

আমি উবুন্টু 14.04LTS এ একাধিক সরঞ্জামচেন ইনস্টল করেছি এবং আমি নিয়মিতভাবে মাত্র দু'জন ব্যবহার করি। আমি যখন কমান্ড লাইন থেকে জিসিসি ব্যবহারের চেষ্টা করেছি তখন আমি ওপি দ্বারা সমস্যাটি বর্ণনা করেছি। '/ usr / bin' PATH এ থাকলেও এটি অন্যান্য সরঞ্জামচেনের অবস্থানের পিছনে। অন্যান্য অন্যান্য সরঞ্জামচইনের সিসি 1 চালু করে জিসিসি-র সাথে বেমানান।


1

আলপাইন সম্পর্কিত মাত্র @ ম্যাক্সকরিউকোভের উত্তর পরিপূরক হিসাবে।

ডেবিয়ান এর সমতুল্য build-essentialআলপাইন হয় build-base। আসলে উপরে বর্ণিত alpine-sdkউপর নির্ভর করে build-base

/ # apk info -R build-base
build-base-0.5-r1 depends on:
binutils
file
gcc
g++
make
libc-dev
fortify-headers

/ # apk info -R alpine-sdk
alpine-sdk-1.0-r0 depends on:
abuild
build-base
git


0

আমি ফেডোরার 27 টির একটি যুক্তিসঙ্গতভাবে নতুন ইনস্টল করে এই সমস্যাটি অনুভব করেছি I আমি অন্যান্য সমস্ত পরামর্শ বা তাদের সমতুল্য চেষ্টা করেছি; বিভিন্ন প্যাকেজ ইনস্টল করে বলা হয়েছে "ইতিমধ্যে ইনস্টল" বা নতুন কিছু ইনস্টল করা হয়েছে যা সাহায্য করে না।

সঙ্গে স্থির

# dnf remove gcc
# dnf install gcc gcc-c++

0

বৈজ্ঞানিক লিনাক্স On (সেন্টোস 6 এর অনুরূপ - এসএল এখন সেন্টস, এআইআইআই দ্বারা প্রতিস্থাপিত হয়েছে), আমাকে ব্যবহার করতে হয়েছিল /usr/sbin/prelink -av -mRযা আমি https://stelfox.net/blog/2014/08/d dependency-prelink-issues/ এ প্রস্তাবিত পেয়েছি

আমি এটি না করা পর্যন্ত, আমি gcc: error trying to exec 'cc1': execvp: No such file or directoryসংকলনের চেষ্টা করার সময় একটি সিসি 1 ত্রুটি পেয়েছি এবং জিসিসি - রূপান্তরটি ইউম দ্বারা প্রতিবেদন করা সত্ত্বেও 4.4.7 এর পরিবর্তে 4.2.2 প্রতিবেদন করেছে।

এটি সম্পর্কিত বা নাও থাকতে পারে, তবে সিস্টেমটি / ভারে স্থানের বাইরে চলে গেছে


0

এটি এই প্যাকেজে রয়েছে (উবুন্টু 19.04):

  sudo apt install g++-6

আপনার কোনও পুরানো জি ++ সংস্করণ ইনস্টল করার দরকার নেই; ঠিক আছে g++। বা আরও ভাল, build-essentialকিছু libs মধ্যে টান।
পিটার কর্ডস

0

আমার বিরল ক্ষেত্রে color wrapperকে ছিল সে লুণ্ঠন করেছিল gcc। পরিবেশের পরিবর্তনশীল থেকে cwএর ডিরেক্টরি বাদ দিয়ে অক্ষম করে সমাধান করা হয়েছে ।/usr/libexec/cwPATH


0

কেন এমন হয়? আপনি যখন লিনাক্সের একটি নতুন কপি ইনস্টল করেন, তখন জিসিসি সংকলকটি এটির সাথে প্রাক-প্যাকড আসে। এটিতে কেবল ফাইল এবং বাইনারি রয়েছে যা লিনাক্স চালানোর জন্য ব্যবহৃত হয় (স্পষ্টত এবং সময় বাঁচাতে)।

এই ত্রুটিটি কীভাবে সমাধান করবেন? আপনার যা দরকার তা হ'ল প্যাকেজ ম্যানেজারের মাধ্যমে আপনার প্যাকেজ আপডেট করা এবং বিল্ড-প্রয়োজনীয় প্যাকেজগুলি পুনরায় ইনস্টল করা। কমান্ডগুলি বিভিন্ন কার্নেলের ক্ষেত্রে পৃথক হতে পারে।

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