হোমব্রিউয়ের সাথে কীভাবে সাম্প্রতিক ঝাঁকুনি ইনস্টল করবেন?


20

আমি চেষ্টা করেছিলাম

brew install llvm

কিন্তু এর পরে আমি এর clang++*অধীনে কোনও এক্সিকিউটেবল খুঁজে পাচ্ছি না /usr/local

এইভাবে আমার প্রশ্ন: হোমব্রিউয়ের মাধ্যমে ঝাঁকুনি কীভাবে পাবেন?

উত্তর:


18

2018 হিসাবে, হোমব্রিউ সংস্করণ সংগ্রহস্থল ('আলতো চাপুন') অফ অফ সার্ভিস

স্টক হোমব্রিউলিএলভিএম প্যাকেজটিতে এখনও ডিফল্টরূপে ঝনঝন / ঝাঁকুনি ++ অন্তর্ভুক্ত নেই। সুতরাং, এটি প্রাক বিল্ট ('বোতলজাত') প্যাকেজের অংশ নয়।

এটির মাধ্যমে এটি তৈরি করা যায়:

brew install --with-toolchain llvm

এবং তারপরে এটি ব্যবহার করুন:

$ PATH="/usr/local/opt/llvm/bin:$PATH" \
    LDFLAGS='-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib' \
    cmake ...

তবে এই --with-toolchainউত্সাহিত বিল্ডটি খুব দীর্ঘ সময় নেয় এবং এইভাবে অবিচ্ছিন্ন একীকরণ (সিআই) পরিবেশে অনুপযুক্ত uit

যাইহোক, সাম্প্রতিক এক্সকোড (যেটি ট্র্যাভিস-সিআই, সংস্করণ 9 এর মত সিআই পরিবেশে উপলব্ধ, যে ক্ল্যাংটি এসেছে তা ডিফল্ট, 10 টি উপলব্ধ, খুব বেশি) আর আগের যে পুরানো তা আগের মতো নেই (অ্যাপল একটি ফ্যান্টাসি সংস্করণ স্কিম ব্যবহার করে) ঝাঁকুনির জন্য যা আপস্ট্রিম ক্ল্যাং সংস্করণ সংখ্যার সাথে মেলে না তবে কমাক সনাক্ত করে যেমন অ্যাপলক্ল্যাং 9.1.0.9020039 সংস্করণ 4.0.1) 4.0 সুতরাং, এটি বুস্টের (যেমন সংস্করণ 1.67) এর মতো সাধারণ নির্ভরতা সহ সি ++ 11 / সি ++ 14 সফ্টওয়্যার তৈরি করতে যথেষ্ট।

2016 স্টেট অফ দ্য আর্ট

llvmHomebrew এর প্যাকেজটি clang++ডিফল্টরূপে অন্তর্ভুক্ত নয় । এটি ইনস্টল করার সময় আপনাকে --with-clangকমান্ড লাইনে যুক্ত করতে হবে (উদাঃ brew install --with-clang llvm)। অতিরিক্ত --with-clangএকটি সম্পূর্ণ প্যাকেজ সংকলন দেয় কারণ কেবলমাত্র একটি প্রি-বিল্ড ('বোতলজাত') llvmপ্যাকেজ উপলব্ধ (ছাড়া clang++) রয়েছে। এটি ছাড়াও: llvmপ্যাকেজটি তুলনামূলকভাবে পুরানো - বর্তমানে এটিতে এলএলভিএম ৩.6 রয়েছে - যেখানে months মাস আগে ৩.7 প্রকাশ হয়েছিল।

সুতরাং, বোতলজাত clang++3.7 পেতে আপনাকে হোমব্রিউ সংস্করণ থেকে llvm প্যাকেজ ইনস্টল করতে হবে :

$ brew tap homebrew/versions
$ brew install llvm37

এটি তখন এর অধীনে উপলব্ধ:

/usr/local/bin/clang++-3.7

সূত্রটিতে আরও উল্লেখ করা হয়েছে:

To link to libc++, something like the following is required:
  CXX="clang++-3.7 -stdlib=libc++"
  CXXFLAGS="$CXXFLAGS -nostdinc++ -I/usr/local/opt/llvm37/lib/llvm-3.7/include/c++/v1"
  LDFLAGS="$LDFLAGS -L/usr/local/opt/llvm37/lib/llvm-3.7/lib"

মনে রাখবেন যে আপনি যদি এমস্ক্রিপ্টেনের জন্য এটি করছেন তবে আপনাকে তাদের সরবরাহ করা ঝনঝন সংস্করণটি ব্যবহার করতে হবে।
ক্লদিউ

7
সর্বশেষ Homebrew llvm(3.9.1) এ homebrew-coreআলতো চাপুন হিসাবে এখন clang, clang++ইত্যাদি অধীনে/usr/local/opt/llvm/bin
shadowtalker

1
@ Ssdecontrol এর মন্তব্যে পরিপূরক: --with-toolchainএখন এমন একটি যুক্তি রয়েছে যা কিছু ব্যবহারকারীর প্রয়োজন হতে পারে। আরো তথ্য এখানে embeddedartistry.com/blog/2017/2/20/installing-clangllvm-on-osx
driftcatcher

শ্যাডোটালেকার ঠিকই আছে, এবং তখন থেকে, --with-clangযুক্তি সরানো হয়েছে।
এমসিসিসিএস 15 'এ

@ শ্যাডোওয়ালটকার, @ brew install --with-toolchain llvmহ্যাংটোয়ান্টি পরামর্শ দিচ্ছে বা brew install llvmপর্যাপ্ত হওয়ায় আমাকে কি কার্যকর করতে হবে? সঙ্গে --with-toolchainযা খুবই সময় সাপেক্ষ হয় - - শুধুমাত্র একটি prebuilt (বোতলজাত / বাইনারি) প্যাকেজ ইনস্টল করার তুলনায় বিকল্প প্যাকেজ কম্পাইল করা হয়।
ম্যাক্সচলেপজিগ

4

আপনাকে এটি --with-clangবিকল্প সহ ইনস্টল করতে হবে :

$ brew install --with-clang llvm
==> Installing dependencies for llvm: cmake
==> Installing llvm dependency: cmake
==> Downloading https://homebrew.bintray.com/bottles/cmake-3.4.3.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring cmake-3.4.3.el_capitan.bottle.tar.gz
==> Caveats
Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/cmake
==> Summary
🍺  /usr/local/Cellar/cmake/3.4.3: 1,980 files, 27.4M
==> Installing llvm
==> Downloading http://llvm.org/releases/3.6.2/llvm-3.6.2.src.tar.xz
######################################################################## 100.0%
==> Downloading http://llvm.org/releases/3.6.2/cfe-3.6.2.src.tar.xz
######################################################################## 100.0%
==> cmake -G Unix Makefiles /private/tmp/llvm20160211-42310-16fdrbw/llvm-3.6.2.src -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEAS
==> make
==> make install
==> Caveats
LLVM executables are installed in /usr/local/opt/llvm/bin.
Extra tools are installed in /usr/local/opt/llvm/share/llvm.

This formula is keg-only, which means it was not symlinked into /usr/local.

OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/llvm/lib
    CPPFLAGS: -I/usr/local/opt/llvm/include


If you need Python to find bindings for this keg-only formula, run:
  echo /usr/local/opt/llvm/lib/python2.7/site-packages >> /usr/local/lib/python2.7/site-packages/llvm.pth
==> Summary
🍺  /usr/local/Cellar/llvm/3.6.2: 1,350 files, 338.2M, built in 21 minutes 18 seconds

তারপর, আপনি পাবেন clang++উপর , / usr / স্থানীয় / অপ্ট / llvm / বিন / ঝনঝন ++,


1
এইচএম, এখনও কি প্রাক-বিল্ট বাইনারি প্যাকেজ পাওয়া (যেমন একটি 'বোতল') পাওয়া সম্ভব? মানে যখন উল্লেখ করছি --with-clang? আমি জিজ্ঞাসা করছি কারণ আমি অবিচ্ছিন্ন একীকরণের পরিবেশে
এটিকে

যদি উপস্থিত থাকে তবে আমি এটি সম্পর্কে জানি তবে আমি মনে করি না এটি বিদ্যমান।
ঝেরান

1
আসলে, হোমব্রু ভার্সনগুলির মাধ্যমে একটি বোতলজাত সংস্করণ পাওয়া যায়। আমার উত্তরটিও দেখুন।
ম্যাক্সচলেপজিগ

3

--With-clang এবং --with-ટૂেলচেন বিকল্পগুলি আর কাজ করে না। এটি আমার পক্ষে কাজ করেছে:

brew install llvm
cd /Library/Developer/CommandLineTools/Packages/
open .
run the installer

আমি সংকলিত

CC=/usr/local/cellar/llvm/7.0.1/bin/clang CCX=/usr/local/cellar/llvm/7.0.1/bin/clang++ make

1
দুর্ভাগ্যক্রমে হোমব্রিউ বাইনারি ঝাঁকুনি ভেঙে গেছে। এটি /usr/local/includeফোল্ডারে অন্তর্ভুক্ত করে না যেমন বেস অন্তর্ভুক্ত, তাই সমস্ত সফ্টওয়্যার বিল্ড ব্যর্থ হয়। এক্সকোড দ্বারা প্রদত্ত ঝাঁকুনির কাছে নেই fsanitize=leakএবং রয়েছে ccc-analyzer। সুতরাং ম্যাক ওএসের উভয় কলঙ্ক ভেঙে গেছে। উত্স থেকে সক্ষম সমস্ত বৈশিষ্ট্য সহ আপনাকে এটি তৈরি করতে হবে। তবে সংকলন আপনার সিআইকে ট্র্যাভিসের মতো মেরে ফেলবে। সুতরাং আপনাকে কেবল আপেলের জন্য পৃথক সিআই হোস্ট করতে হবে এবং বজায় রাখতে হবে। অ্যাপল কেবল সাধারণ বিকাশের জন্য ভাল, অন্য যে কোনও কিছুতে ব্যথার প্রয়োজন হয়।
পুচু

3

এখন এটি চালানোর জন্য যথেষ্ট:

brew install llvm

বোতল এখন clangডিফল্ট অন্তর্ভুক্ত ।


আমরা দীর্ঘ উত্তর খুঁজছি যা কিছু ব্যাখ্যা এবং প্রসঙ্গ সরবরাহ করে। শুধু একটি লাইনের উত্তর দেবেন না; আপনার উত্তর কেন সঠিক তা ব্যাখ্যা করুন, আদর্শভাবে উদ্ধৃতি দিয়ে। ব্যাখ্যাগুলি অন্তর্ভুক্ত না করে এমন উত্তরগুলি সরানো হতে পারে।
তেটসুজিন

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