রুবি জহর ইনস্টল করে জেসন ম্যাভেরিক্স এবং এক্সকোড 5.1 এ ব্যর্থ হয়েছে - অজানা যুক্তি: '-মલ્ટিপ্লাই_ডিফাইন্ডসপ্রেস'


105

আমি রান মণি ইনস্টল জেসন চেষ্টা করছিলাম এবং নিম্নলিখিত ত্রুটি পেয়েছি

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb 
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling generator.c
linking shared-object json/ext/generator.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [generator.bundle] Error 1

make failed, exit code 2

Gem files will remain installed in /opt/boxen/repo/.bundle/ruby/2.0.0/gems/json-1.8.0 for inspection.
Results logged to /opt/boxen/repo/.bundle/ruby/2.0.0/extensions/universal-darwin-13/2.0.0/json-1.8.0/gem_make.out

আমি ব্যাবহার করছি:

ওএস এক্স: 10.9.2 এক্সকোড
: 5.1 বিল্ড সংস্করণ 5B130a
কমান্ড লাইন সরঞ্জাম (সিএলটি): 5.1.0.0.1.1393561416
রুবি: রুবি 2.0.0p247 (2013-06-27 রিভিশন 41674) [ইউনিভার্সাল.x86_64-ডারউইন 13]
রুবি রত্ন: 2.2 .2
জিসিসি: 4.2.1 অ্যাপল এলএলভিএম সংস্করণ 5.1 (ঝনঝন -503.0.38) (এলএলভিএম 3.4 এসভিএন ভিত্তিক)


1
আমি এই সমস্যাটি সমাধান করার চেষ্টা করে প্রচুর স্টাফ করেছি এবং ঠিক কী সমাধান হয়েছে তা আমি জানি না তবে আমি নতুন রুবি সংস্করণটি ইনস্টল করেছি, কমান্ড লাইন সরঞ্জামগুলির পূর্ববর্তী সংস্করণ ডাউনলোড করেছি (অক্টোবর মাসের শেষের দিকে) এবং মুনকেনের জবাবটি (এআরএচএফএলজিএস = -নো-ত্রুটি = অব্যবহৃত-কমান্ড-লাইন-যুক্তি-হার্ড-ত্রুটি-ভবিষ্যতে {মূল কমান্ড command)। এটি আমার সমস্যার সমাধান করেছে। আমার নির্দিষ্ট ক্ষেত্রে আমি আমার পরিবেশটি ইনস্টল করতে বক্সেন ব্যবহার করছিলাম তাই আমার ব্যবহৃত চূড়ান্ত কমান্ডটি ছিল ARCHFLAGS = -Nno-error = অব্যবহৃত-কমান্ড-লাইন-যুক্তি-হার্ড-ত্রুটি-ভবিষ্যতে / opt / boxen / repo / पटकथा / বক্সেন - কোন- fde ধন্যবাদ যে সবাই সাহায্য করেছে।
জি

ম্যাভেরিকস ১০.৯.৩ আপডেট রুবিকে: রুবি ২.০.০ পি 451 (2014-02-24 রিভিশন 45167) [ইউনিভার্সাল.এক্স 86_64-ডারউইন 13] এটি সমস্যার সমাধান করবে বলে মনে হচ্ছে।
শাহার হাডাস

1
সমস্যাটি রুবির পুরাতন সংস্করণটির সাথে রয়েছে @ সাশ বলে। আমাকে 2.0.0p451 থেকে ম্যানুয়ালি 2.0.0p451 এ আপডেট করতে হয়েছিল .. rvm ব্যবহার করে: rvm রুবি-2.0.0-p451 ইনস্টল করুন। আরভিএম এটিকে ডিফল্ট সংস্করণ হিসাবে সেট করা উচিত তবে আপনার নিজের রত্নগুলি পুনরায় ইনস্টল করতে হবে
অ্যাডাম স্পেন্স

আমি এই সমস্যাটি আরভিএম রুবি 2.2.0p0 (2014-12-25 রিভিশন 49005) নিয়ে আসছি
সনি পার্লিন

উত্তর:


145

আমি এক্সকোড 5.1 আপডেট করার পরে ঠিক একই সমস্যার মুখোমুখি হচ্ছি এবং অ্যাপল থেকে প্রাপ্ত সংবাদগুলি ভাল নয়। থেকে Xcode 5.1 রিলিজ নোট :

  • এক্সকোড 5.1-এ অ্যাপল এলএলভিএম সংকলকটি অ-স্বীকৃত কমান্ড-লাইন বিকল্পকে ত্রুটি হিসাবে বিবেচনা করে। পাইথন নেটিভ এক্সটেনশন এবং রুবি রত্ন উভয়ই তৈরি করার সময় এই সমস্যাটি দেখা গেছে, যেখানে বর্তমানে কিছু অবৈধ সংকলক বিকল্প নির্দিষ্ট করা আছে।

এই বিকল্পগুলি অপসারণের জন্য অবৈধ সংকলক বিকল্পগুলি ব্যবহার করা প্রকল্পগুলি পরিবর্তন করা দরকার। এই রূপান্তরটি সহজ করতে সহায়তা করার জন্য, সংকলকটি একটি অস্থায়ীভাবে ত্রুটিটিকে একটি সতর্কতার সাথে অবনমিত করার বিকল্প গ্রহণ করবে:

-Wno-error=unused-command-line-argument-hard-error-in-future

এই সমস্যাটি সমাধানের জন্য, ত্রুটিটিকে একটি সতর্কতায় ডাউনগ্রেড করতে ARCHFLAGS পরিবেশ পরিবর্তনশীল সেট করুন।

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName

দেখে মনে হয় যে সংকলক বিকল্পগুলি লঙ্ঘনকারী সমস্ত রত্নগুলিকে বৈধ বিকল্পগুলি ব্যবহার করতে আপডেট করতে হবে। স্পষ্টতই বলা হয়েছে যে: এই বিকল্পটি [সতর্কতার সাথে ডাউনগ্রেড ত্রুটি] ভবিষ্যতে সমর্থিত হবে না

আমরা যে ক্ল্যাং নোটটি দেখছি ( ভবিষ্যতে এটি একটি কঠিন ত্রুটি হবে (কোনও সতর্কতার সাথে এটি ডাউনগ্রেড করা যাবে না) ) রিলিজ নোটগুলিতে ঘোষিত পরিবর্তনের সাথে মিলে যায়।


আপনার প্রশ্নের সুনির্দিষ্টভাবে উত্তর দিতে, json রত্ন ইনস্টল করতে নিম্নলিখিতটি ব্যবহার করুন:

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install json

তবে নোট করুন, এটি কেবলমাত্র একটি অস্থায়ী স্থির।


1
আপনাকে অনেক ধন্যবাদ, আপনি আমাকে অনেক সাহায্য করেছেন। এক্সকোড সিএলআই সরঞ্জাম 5.1 সংস্করণে আপডেটের পরে আমি একটি রেল 4 প্রকল্প বান্ডিল করার চেষ্টা করার সময় ত্রুটিগুলির একটি শিটলোড পাচ্ছিলাম। যদিও আমার ARCHFLAGSদু'বার পাস করার দরকার ছিল : নির্দিষ্ট দুর্গন্ধযুক্ত রত্ন ইনস্টল করার সময় এবং বান্ডিলার চালানোর সময়।

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

আমি এই সমস্যাটি সমাধান করার চেষ্টা করে প্রচুর স্টাফ করেছি এবং ঠিক কী সমাধান হয়েছে তা আমি জানি না তবে আমি নতুন রুবি সংস্করণ ইনস্টল করেছি, কমান্ড লাইন সরঞ্জামগুলির পূর্ববর্তী সংস্করণ ডাউনলোড করেছি (অক্টোবর মাসের শেষের দিকে) এবং এই উত্তরে কমান্ডটি কার্যকর করেছি। এটি আমার সমস্যার সমাধান করেছে। আমার ক্ষেত্রে আমি আমার পরিবেশ ইনস্টল করার জন্য বাক্সগুলি ব্যবহার করছিলাম তাই আমার ব্যবহৃত চূড়ান্ত কমান্ডটি ছিল ARCHFLAGS = -Wno-ભૂલ = অব্যবহৃত-কমান্ড-লাইন-যুক্তি-হার্ড-ত্রুটি-ভবিষ্যতে / অপ্ট / বক্সেন / রেপো / স্ক্রিপ্ট / বক্সেন --no-fde। আপনাকে সাহায্য করেছেন এমন সবাইকে ধন্যবাদ
g8M

2
আমি এই সমাধানটি আমার পক্ষে কাজ করতে পারি না। এখনও clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]কোন ধারণা নিয়ে ব্যর্থ ?
রবারডানিয়েল

1
আপনি স্পষ্টতই রফতানি করার চেষ্টা করতে পারেন export ARCHFLAGS="...", তারপরে একটি নতুন লাইনে আপনার কম্পাইল কমান্ডটি চালাচ্ছেন, যেমন gem install json(আমি পাইথন মডিউলগুলি নিজেই সংকলন করছি)। যাইহোক, লাইনে পূর্বে বিদ্যমান আর্চফ্লাগগুলি যুক্ত করতে ভুলবেন না, না হলে সেগুলি ওভাররাইট করা হবে।
মিশিয়েল কাউ-এ-তেজো

107

এটি ঠিক করার জন্য ওয়ান-লাইনার

curl https://gist.githubusercontent.com/Paulche/9713531/raw/1e57fbb440d36ca5607d1739cc6151f373b234b6/gistfile1.txt | sudo patch /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb

কাজ হয়নি। কমান্ডটি চালান এবং তার ব্যর্থতা ছিল:patching file /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/rbconfig.rb Hunk #1 FAILED at 82. Hunk #2 FAILED at 125. 2 out of 2 hunks FAILED -- saving rejects to file /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/rbconfig.rb.rej
মারে

19

সমস্যাটি সমাধানের জন্য আপনি @ স্যাশ দ্বারা বর্ণিত হিসাবে রুবির সাম্প্রতিকতম সংস্করণ ইনস্টল করতে পারেন। আপনি এটি করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করতে পারেন। আপনি যদি ইতিমধ্যে rvm ইনস্টল করেন তবে আপনাকে এটি পুনরায় ইনস্টল করার দরকার নেই।

#Install rvm
\curl -sSL https://get.rvm.io | bash -s stable

#Install ruby version 2.0.0-p451
rvm install ruby-2.0.0-p451

#Print ruby version to verify that it was installed successfully
ruby -v

#Install json gem
sudo gem install json

12

ইতোমধ্যে রুবি সম্বোধন করা ইস্যু:

https://bugs.ruby-lang.org/issues/9624

এখন কেবলমাত্র অ্যাপলের জন্য তাদের রুবি সংস্করণ (2.0.0p247) সর্বশেষতম (2.0.0p451) এর পরে একটিতে আপডেট করা দরকার যা এখনও প্রকাশিত হয়নি ... (বা এটি তৈরি / ম্যাকপোর্ট)

আপডেট (2014-05-15): ম্যাভেরিকস 10.9.3 আপডেট রুবি এবং ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13] এটি সমস্যার সমাধান করে বলে মনে হচ্ছে।


4

@ মুনকেন ইতিমধ্যে একে একে রত্ন ইনস্টল করার জন্য একটি উত্তর সরবরাহ করেছেন:

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName

মুনকেনের উত্তরের ভিত্তিতে, আমি চেষ্টা করেছি যে এটি ব্যবহারের সময়ও কার্যকর হয় bundle install

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future bundle install

আপনি একটি বিবরণ দিতে পারেন?
bjb568

@ মুনকেন বলেছিলেন, তবে তিনি কেবল উত্তরটি দিয়েছিলেন gem install, আমি চেষ্টা করেছিলাম bundle installএটিও কার্যকর
২২:৫৫

আপনার উত্তরটি নিজেই সম্পূর্ণ হওয়া উচিত, এমনকি অন্যান্য উত্তরের প্রসঙ্গ ছাড়াই।
bjb568

হা. অনেক ভাল এবং সম্পূর্ণ।
bjb568

এই ARCHFLAGS = -নো-ত্রুটি = অব্যবহৃত-কমান্ড-লাইন-যুক্তি-হার্ড-ত্রুটি-ইন-ভবিষ্যত প্রতিটি কমান্ডে ব্যবহার করা যেতে পারে যা ঝাঁকুনির সাথে ব্যর্থ হয়: ত্রুটি: অজানা যুক্তি: '-মલ્ટিপ্লাই_ডিফাইন্ডসপ্রেস'। আসলে এটি ঝনঝন
সংকলককে

2

আমার ক্ষেত্রে, আমার আসলে একই সমস্যা রয়েছে তবে এটি সিস্টেম রুবিতে নয়, ওএসএক্স ১০.৮ থেকে আরভিএম দ্বারা ইনস্টল করা রুবিগুলির ক্ষেত্রে এবং এটি ওএসএক্স ১০.৯-তে উন্নীত হওয়ার পরেও সমস্যা রয়েছে।

একটি সাধারণ পুনরায় ইনস্টল কাজ করে: rvm reinstall ruby-2.1.1


এই সমস্যাটি সমাধান করার জন্য সূর্যের নীচে সবকিছু চেষ্টা করার পরে, এটি আমার জন্য এটি কী হয়েছিল! ধন্যবাদ!
অনর্থকরা ডব্লিউ

1

ওএসএক্স 10.10-এ, চালানোর সময় আমার বেশ কয়েকটি সমস্যা ছিল rails new firstapp:

ERROR:  Error installing json:
ERROR: Failed to build gem native extension.
fatal error: 'ruby/config.h' file not found

আমি এই কনফিগারেশনটি দিয়ে আরভিএম আপডেট করেছি এবং সমস্ত ত্রুটিগুলি চলে গেছে !:

rvm get stable --auto-dotfiles

আপনি অ্যাপের নাম থেকে বলতে পারবেন যে আমি কেবলমাত্র রবি অন রুজে ফিড করতে শুরু করেছি, সুতরাং উপরের পরামর্শটি আপনার পক্ষে কার্যকর হতে পারে বা নাও পারে।


1

পল চেচেইটিনের ওয়ান-লাইনার আর কাজ করে না বলে মনে হয় (9/21/15)। যাইহোক, পিটের উত্তরে উল্লিখিত পোস্টের এই উত্তরটি আমার জন্য সমস্যার সমাধান করেছে:

  • (ক) অ্যাপলের এক্সকোড ইনস্টল করুন, তারপরে (খ) এটি চালু করুন এবং লাইসেন্সের শর্তাদি গ্রহণ করুন (আমি (ক) করেছিলাম, তবে (খ) না))
  • sudo gem uninstall compass
  • sudo gem install compass

আমি এক্সকোড আপডেট করেছি তবে এটি কখনই চালু হয়নি। আমি যখন এটি চালু করেছি, এটি আমাকে কিছু গ্রহণ করার জন্য অনুরোধ করেছিল, তারপরে এটি "উপাদানগুলি ইনস্টল" করতে হয়েছিল। এর পরে, আমি আমার gem install jsonআবার চেষ্টা করেছি এবং এটি কাজ করেছে!
সারা ভেসেলস

1

এগুলির কোনওটিই আমার পক্ষে কাজ করেনি।

যা শেষ পর্যন্ত কাজ করেছে তা হ'ল সুডো দিয়ে কমান্ডটি চালানো -

রত্নটি বাইবেগ -v '9.0.6' ইনস্টল করুন


-1

আমি একটি সহজ সমাধান ব্যবহার করেছি ... মিশ্রিতকরণের মাধ্যমে ইনস্টল করুন

মাতাল ইনস্টল নাম

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