"Go get" ইনস্টলেশনে ব্যর্থ হওয়া অভ্যন্তরীণ সংকলন কমান্ডগুলি কীভাবে আমি দেখতে পারি?


126

আমি নির্ভরতা সহ একটি প্যাকেজ টানছি এবং ইনস্টল করছি, এবং একটি সংকলন ব্যর্থ হয়, এক্ষেত্রে কোনও ফাইল খুঁজে না পাওয়া magic.h,। সংকলন আদেশগুলি এবং পতাকাগুলি কী ছিল তা আমি কীভাবে দেখতে পারি? -vবিকল্প সাহায্য করে না। (কোথা থেকে ম্যাজিক h পেতে হবে সে সম্পর্কে আমি ধারণা চাই না, এটি কেবল উদাহরণ।

$ go get -u github.com/presbrey/magicmime
# github.com/presbrey/magicmime
../../../src/github.com/presbrey/magicmime/magicmime.go:20:11: fatal error:   'magic.h' file not found
#include <magic.h>

আমি কিভাবে জানতে পারেন, উদাহরণস্বরূপ, যেখানে এটি ফাইল অন্তর্ভুক্ত খুঁজছেন ছিল, কি উৎস ঠিক এটা কম্পাইল করা হয়েছিল? (এক্ষেত্রে আমি যে উত্স ফাইলটি দেখছি $GO_PATH/srcতাতে #includeমন্তব্য করা হয়েছে এবং যে /usr/local/include/match.hকোনও উপায়ে উপস্থিত রয়েছে))


এটি মন্তব্য করা হয়নি, এটি একটি কগোয়ের যাদু মন্তব্য। এটি ফাইলের সন্ধান করে যেখানে কোনও সি সংকলক এটি অনুসন্ধান করবে। নিশ্চিত হয়ে নিন যে আপনি লাইবমেজিকটি সঠিকভাবে ইনস্টল করেছেন। Golang.org/cmd/cgo দেখুন ।
আইনার-জি

আমি ব্রিবু ব্যবহার করে আনইনস্টল এবং পুনরায় ইনস্টল করেছি, যা গো ইনস্টলও হয়েছে। প্রশ্নটি কী হয় তা howাকনাটি কীভাবে সরিয়ে ফেলা যায়। এটি যে উত্স ফাইলটি ব্যবহার করছে সেটি সিআরসি ট্রিতে মিলছে না - তবে এটি কোথা থেকে এলো? $ Find ~ / go / src -name "* .go" -অ্যাকেক্স গ্রেপ ম্যাজিক। h .h} \; // # অন্তর্ভুক্ত <জাদুঘটিয়া> // # অন্তর্ভুক্ত <ম্যাজিক.h>> নোট মন্তব্য করা লাইন
timbl

আপনি কি কগো লিঙ্কটি পড়েছেন? এটি একটি যাদু মন্তব্য। গো সংকলক সি সংকলককে কল করার জন্য এটি অনুবাদ করে, যা পরিবর্তে ব্যর্থ হয় কারণ এটি ম্যাজিক। H খুঁজে পাচ্ছে না। এতে একটি সি ফাইল তৈরি করার চেষ্টা করুন #include <magic.h>এবং একটি সি সংকলক দিয়ে সংকলন করুন। এটি যে ব্যর্থ হয় না, এটি আকর্ষণীয় হয়ে ওঠে।
আইনার-জি

এছাড়াও আপনাকে কল করতে হবে brew link libmagic( gist.github.com/eparreno/1845561 দেখুন )।
আইনার-জি

উত্তর:


101

সমস্যা প্যাকেজে অন বিল্ড-এক্স চালান:

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