Debian系Linux(64bit)でModelSim-Altera(Intel)が動かないときに見る記事

環境

64bit DebianLinux(Linux Mint 18.1 Serena)

Quartus Prime Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition

ModelSim - INTEL FPGA STARTER EDITION 10.5b Revision 2016.10 Date Oct5 2016

(Model Technology ModelSim ALTERA STARTER EDITION vsim 10.5b Simulator 2016.10 Oct 5 2016)

症状

DebianLinux (今回の環境はLinux Mint 18.1 Serena)でModelSim-AlteraをQuartus -> Tools -> Run Simulation Tool -> RTL Simulation から起動すると 

Can't launch ModelSim-Altera Simulation software -- make sure the software is properly installed and the environment variable LM_LICENSE_FILE or MGLS_LICENSE_FILE points to the correct license file.

とエラーダイアログが表示され、起動できない。

同様に、vsimをターミナルから直接起動すると

$ vsim
./vish: error while loading shared libraries: libXft.so.2: cannot open shared object file: No such file or directory

と依存ライブラリがないとエラー、起動不能。

原因・解決

ModelSimは32bitアーキテクチャ用のライブラリを必要とするようなので、インストールする。

sudo dpkg --add-architecture i386 sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install gcc-multilib g++-multilib \
lib32z1 lib32stdc++6 lib32gcc1 \
expat:i386 fontconfig:i386 libfreetype6:i386 libexpat1:i386 libc6:i386 libgtk-3-0:i386 \
libcanberra0:i386 libpng12-0:i386 libice6:i386 libsm6:i386 libncurses5:i386 zlib1g:i386 \
libx11-6:i386 libxau6:i386 libxdmcp6:i386 libxext6:i386 libxft2:i386 libxrender1:i386 \
libxt6:i386 libxtst6:i386

これはマニュアル(参考2つ目)に書いてあるが、RedHat系を想定してある(rpmパッケージが並んでいる)のでaptとか使っている場合はこの情報をそのまま使えない。

参考

mattaw.blogspot.jp

 

Intel FPGA Software Installation and Licensing

https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/manual/quartus_install.pdf

ACM-ICPC Asia Singapore Regional Contest 参加記

ACM-ICPCアジア地区予選に参加してきました。 日記です。

0日目

  • シンガポールに入国。入国審査は受けたがガバガバな印象を受けた
  • スタンプを押す人が不機嫌そうで怖かった
  • タクシーを捕まえる。ベンツだった
  • 英語が心配だったのでarrowsさんを助手席にブチ込む(先輩)
  • "National University of Singapore, please" と言ってみたところ伝わらず、事前に印刷しておいた地図と住所を提示し何とか理解してもらえた
  • 運転手さんがいろいろ話しかけてきてくれるが誰も聞き取れず、ここで†訛り†が無視できない範囲であることに気づき始める
  • シンガポールの道路には速度を落とさせるための(?)でこぼこがたくさんついており、揺れた
  • とりあえず到着し、kzyKTさんに運賃を払ってもらった
  • 大学の扉で大学の人が待っててくれて、"University of Aizu?"と聞いてくれた。なぜ特定されたのか、そんなに我々は日本人顔だったのかと不安になったが、単に到着が最後なだけだった
  • ここで気温と湿度がめっちゃ高いことに気づき、ダウンを脱ぐ
  • FinalZukkyが到着し、部屋に案内してもらう。寮の部屋だったようだが、それぞれの部屋の扉にきらびやかなデコレーションが施されていてシンガポール大学の学生のおしゃれセンスに感動した。
  • 部屋の中は南国の別荘(の書斎)って感じでとてもおしゃれだった。
  • 荷物を整理した後、のどが渇いていることに気づき、このまま寝ると気温湿度もあり脱水で死ぬことが予想されたので先輩を誘って水を買いに行こうとした。

    関門1

  • 寮の建物から出るための鉄格子が開かない。prison.
  • 開く扉がどこかにあると予想し寮内を歩き回る。階段を幾らか下りたところに扉を見つけ、あけようとしたところ"This is emergency door. Alarm will ring"(うろ覚え)と書かれた張り紙を見つけギリギリセーフ。
  • 歩き回るうちに、鉄格子から少し離れたところに"Push to EXIT"とかかれたボタンをみつける。
  • アラームが鳴りそうなドアのこともあり、かなりとまどったがdohatsuプロが押してくれ、とりあえずあく。
  • オートロックだと予想し、戻ったときに扉を開ける係を置いて(先輩)、飲み物を探しに行く。
  • すぐに自販機を見つけたが、お札が使えないことに気づく。
  • かっぱえびせんも見つけた。パッケージに日本語で「かっぱえびせん」と書いてあった)
  • 一度戻って作戦会議。kzyKTさんが体調悪そう。飛行機で数独をプレイし乗り物酔いをしたらしい。
  • 引率の先生にアドバイスをもらいにいく案が出る。
  • さてプロ「でもお前先生は俺たちをここまで連れてきてくれたんだぜ?迷惑をかけるわけにはいかない。俺たちの問題は俺たちで解決しよう」
  • さてプロがロビーでダンスしている少女たちに両替を頼もうという案を出す
  • 全員否定
  • arrowsさん「こんな深夜に踊ってる人、絶対ウェイでしょ。ヤバい」
  • それ以外に方法はないということでとりあえず行ってみることに。
  • 踊ってる人たちの横まで行くも戸惑う。
  • 後ろにいる警備員さんにコンビニの場所を聞こうと言うことに。ここでconvenience storeが正しい英語かどうかを確認する。

  • 僕「We're locking for a convenience store.」

  • 警備員「Yes?」
  • 僕「Where is a convenience store? We are looking for a convenience store.」
  • 警備員「?」
  • 僕「Seven Eleven」
  • 警「Oh, Yes! في العلم والفضيلة في اليابا(訛りがあるのか僕らのリスニング力がないのか、聞き取れない)」
  • 僕「Say it in different way, please?」
  • ここまでやりとりして警備員さんが察してくれたようで、コンビニに行く曲がり角まで案内してくれた。
  • 少し歩くとセブンイレブンにつく。水とお茶とお菓子を買ってレジへ。
  • 店員さんが携帯電話で通話しながら接客をしてて、時給分の労働を感じた
  • sateプロがメタメタに言っていた
  • 買い物を終え戻ると、待機組が外側からの鉄格子の開け方を発見していてくれた
  • そういえば待機組には「両替えをお願いしてくる」としか言っておらず、不安をあおってしまった。ごめんなさい。
  • 部屋で飲み物を飲み休憩

    関門2

  • arrowsさんとシャワールームに行く
  • 土足床とシャワー床が同じ床だったり、洋式便器とシャワーが一緒の部屋に設置されていたりして使い方がわからず††文化の違い††を感じた
  • 適当に解決していざシャワールームへ
  • お湯が出ない
  • arrowsさんに呼びかける 「そっちお湯出てますか」
  • 出てると聞き、このシャワーが故障しているだけと判断、もう一つのルームに行く
  • こちらも冷水
  • シンガポールは熱帯なのでシャワーは水で浴びるのかもしれない」などと考える
  • arrowsさんが出るのを待つ
  • 出てきたarrowsさん「めっちゃ水圧弱い」
  • めっちゃ水圧弱かった
  • 水よりはいいかと思いとりあえず浴びる
  • このときすでにAM4時とか5時とか
  • お腹が空いていたので買ってきたお菓子を食べて寝る

    1日目

  • 起きる、歯を磨く、顔を洗うなど
  • FinalZukkyと引率の先生がいる階へいく
  • ネームプレートなどをもらう
  • 僕が一番若いので主催側からいただいたらしいUVa本をいただく
  • 寮のロビーに行く。強そうなひとが多い
  • 日本語がわかる方にアンバサダーを頼む
  • 日本語がめちゃうまだったので僕も英語をがんばろうと思った
  • arrowsさんが桐間紗路ポーズをとるdohatsuさんを撮影する
  • バスに乗ってオープニングセレモニー会場へ向かう
  • 会場の建物があるUniversity Townに到着する
  • University TownにはApple Storeのようなおしゃれ建物がたくさん並び、様々なお店があった
  • University of Aizu にも University Townをつくろう(提案)
  • 会場の建物のロビーで昼食会。立食形式だった
  • 春巻きとアイスの入ったシュークリームがおいしかった
  • オープニングセレモニー会場に入り、あずにゃんの写真を撮る
  • すごいひとがすごいはなしをしていた
  • Practice Sessionをおこなう建物へ
  • 会場が開くまで外で待機
  • dohatsuプロがシンガポール大学勢の人がDSを持っているのを見つけ、話しかける
  • 一緒にスマブラをしていた
  • 相手がジャッジの人であったことをこのときの我々はまだ知らない……
  • Practice Sessionが開始、Emacsの設定やジャッジの仕組みなどを確認した
  • 夕食を食べに香港勢と店まで歩く
  • 日本で言うファミレスのような、大衆食堂っぽいところに入る
  • メニューがわからない、とりあえず「シャワーでは痛い目を見るが食事ではたいてい当たる」と主張するさてプロとおなじバターチキンとナンを頼む
  • 料理がくる、普通にいい香りがして期待が高まる
  • と、ここでナンの容器が蟻の巣化しているのに気づく
  • シンガポールの人は蟻を生きたまま食べるのか、それともこの蟻には消毒効果か何かがあり店の器全てについているのかと考えを巡らす
  • 同じ料理を注文したsateさんとzukkyさんの容器には蟻がついていなかったので察する
  • 英語が苦手なので何も言わず器用に蟻を払ってナンを食べる
  • 味はとてもおいしかった
  • 帰りにseven-elevenでおもしろ新聞を買う
  • 相変わらずお湯が出るシャワーは一つしかなかったが、問題なく使用し、早めに就寝

    2日目

  • 朝ご飯を食べに行く
  • バイキング形式だったが、もうほとんど残っていなかった。僕がとったのでほぼ最後、FinalZukkyは殆ど食べ物をとれていなかった(僕は一番後輩)
  • コーヒーがおいしかった
  • 食料が追加され、適当に食べる
  • コンテストが開始、5完でした
  • お昼を食べ、表彰式
  • 表彰式が始まる前にゆるゆりを観ている選手を補則
  • 表彰式はなにも問題なく終わる。たまに司会の人が冗談を飛ばすがわからずとりあえず愛想笑いをしていた
  • FinalZukkyが12位。プロ。
  • なんだかんだあって夕食会
  • arrowsさんとゆるゆりの人に声をかけに行く
  • Yuruyuri意外にもGochiusaを観ていることを聞けた
  • "I like Moe Anime"って言ってて"Moe Anime"が世界標準であることを実感した
  • dohatsuさんが逆ナンされる
  • 夕食会もおわり、部屋でシャワーの支度をする
  • kzyKTさんがWi-Fiがつながらなず廊下で携帯電話を使用していたので、モバイルルータの場所をarrowsさんの部屋に置くことに(それまでは僕の部屋においていた)
  • arrowsさんに変換プラグとタコ足を渡す
  • 部屋に戻りシャワーを浴びるぞと洗面具をグッと睨んだ途端照明が落ちる
  • 僕が渡したタコ足が230Vに対応しておらずブレーカーが落ちる
  • 警備員さんに助けを求めに行くと、ちょうどブレーカーが落ちたのを把握してぼくらの階に移動している雰囲気だったので、ついていく
  • 玄関に案内される
  • 「ブレーカーがおちる」をweblioで調べ、arrowsさんとkzyKTさんが警備員さんに事情を話しに言ってくれる
  • 警備員さん了承の表情で、われわれと部屋の階まで行ってくれる
  • 警「This is your floor. OK?」
  • みんな必死で引き止める。arrowsさんが部屋の状況をジェスチャーなどで表してくれ、なんとか伝わる
  • 警備員さん納得の表情、ブレーカーをリセットしてくれる
  • 直らない
  • 30分くらいして助っ人のおじさんがきてくれ、直った
  • 警備員のおじさんに圧倒的感謝
  • 改めてシャワーに行く
  • 唯一のお湯が出たシャワーも冷水になり、仕方なく冷水を浴びる
  • 熱帯だし大丈夫でしょ→普通に寒かった
  • 冷たいシャワーからもどりなんとなくTwitterを開くとsateさんがお湯の仕組みを発見していた
  • シャワーを浴び直す
  • 寝る

3日目

  • 飛行機の時間が朝6時くらいだったので3時間くらい寝て起きる
  • タクシーで空港まで行く
  • 僕が助手席に乗る番になる
  • 何も言わなくても空港へ向かってくれた
  • 途中で雑談をしかけられるも一ミリも聞き取れずダメ
  • airlineを聞かれたのに「Destination? Change, please.」と言ってしまった
  • 途中から鼻歌を歌い出した、眠気を覚ましていたようだ
  • 遠回りをしてトイレに行く
  • 出国し、おみやげを見繕う
  • arrowsさんのラップトップを借り、プログラミングCの授業の課題を済ます
  • 飛行機に搭乗、前半はミッションインポッシブルを見ていた。後半はみんなでポーカーをした
  • 成田につく。一部解散
  • 京成電鉄で上野まで行く
  • coderunner勢が宿泊の話をしていた
  • ネカフェ検索サービスを作ろうなって話になったりならなかったりした
  • その日に帰るのは僕だけだったので、上野で解散
  • 新幹線と磐越西線を乗継いだ
  • 磐越西線で世界史の問題を出しあう女子高生がいた
  • 家につくと祖父がそばをうってくれていたので食べる
  • 壊れていたボイラーが新しくなっている

感想

たのしかった

反省

そのうち書く

JAG夏合宿参加記

ACM-ICPC OB/OG会による競技プログラミング合宿に参加してきました。 ICPC国内予選自体は<<<予選落ち>>>で、某氏にも「最悪3日間座ってるだけになるかも」と言われていたので結構ビビっていました。 実際、結果だけみると1日目0完2日目0完3日目2完と、3日間座っているだけ状態は免れたものの微妙of微妙で合宿は終わってしまいました。 ただ、現時点で自分から会いに行くことが少ない激ムズ問題を読んだり、都会に住む激つよマンなどとお話したりすることができて、非常によい刺激になったと思います。 来年はアジア地区大会対策として参加できるようレッツ・精進。

ASL合宿参加記

弊校と東海大学さんとの合同ハッカソン。

0日目

1日目

  • トマトを食べる
  • すき家で牛丼並を食べる
  • 会場(大学)に着く
  • 一番に着いてしまったため、後続の人に挨拶をせねばならないことを考えて入り口を背に向け席を取る(受身の姿勢)

  • ぬるっと開会

  • 教授陣がネタを提供する
  • Rafaleさんに会い、一方的名刺提供をキメる
  • 背が高かった(KONAMI)
  • 各位自己紹介の時間
  • 学部一年生がいなくて絶望
  • 無理をして冗談を言った(笑ってもらえた)
  • twitterに書かれた
  • チームビルディングでチームが生える
  • まよわずRafaleさんのところに行く
  • 東海大生3人、弊校生2人、計5人のチームに所属
  • チームとしてはFPGAでDAコンバータを実装し、PCMファイルを再生することが目標になってヤバそうさにビビる
  • チームリーダー「にゃんぱす~再生しよう」
  • 回路設計班とPCM解析班に別れる
  • 自分は回路設計はしたことないので圧倒的PCM解析班
  • ここまで決まったところで懇親会のためお好み焼き屋に
  • 遠いので僕が運転する
  • 圧倒的MT車で最低の乗り心地

  • 東海大院生にお好み焼きの焼き方を教えてもらう

  • 東海大院生にもんじゃ焼きの焼き方を教えてもらう
  • 東海大院生に東海大の闇を教えてもらう
  • 東海大院生に謎スキャンダル疑惑を教えてもらう
  • 任意の整数n枚くらいの焼き物を食べたところで解散

    2日目09:00~

  • 規則正しい生活
  • wavファイルからIntelHexファイル(よくわからない)に変換するスクリプトを作ることを頼まれる
  • 東海大に入院している人とともに、vim -b にゃんぱす~.wav
  • なんとなく方針が固まってきたところで、ヘッダのサイズの情報は適当という記述を見つけブチギレる(よくわからない)
  • 回路設計班が大変そうにしてて大変そう
  • 何はともあれ中間進捗報告会でしゃべる
  • しゃべり始めると止まってはいけないような強迫観念に駆られ、とりあえず浮かぶことだけを適当にしゃべる
  • しゃべり終わってから言い忘れていたことをたくさん思い出して反省する
  • 言い忘れていたことについてむちゃ質問が来てごめんなさいする
  • Rafaleさんがめっちゃ解説しててつよい(確信)

    2日目19:00~

  • スクリプトを書き始める
  • とりあえず最小限のもの、ファイルからデータ部分だけをきりとって標準入力にコピペしてHexが出るものを作る
  • 普通にできたのでバイナリを適当にスクレイピングする処理を適当に付け加えて、変換元ファイルをコマンドライン引数で指定するだけで全部完了するよう改良する
  • 回路がまだできていないので出力するフォーマットを一気に確認できないため、主にchecksumをちまちま手計算で確認する
  • 大丈夫そうなので完成した旨をリーダーに伝える
  • 少し休憩する

    2日目24:00~

  • 端的に言って眠い
  • 回路班が相変わらず大変そう
  • 手持ち無沙汰そうにしていたらリーダーがNSLというHDLについてのチュートリアルを渡してくれる
  • 頑張ってこなす
  • が、眠いので四分の一くらいやったところでこっそり会場を抜けだして、廊下の椅子に横になる
  • 堕ちる
  • 起きると5時間くらい経ってしまった気がする
  • 謝り方を考えながら冷や汗垂らし垂らし会場に戻る
  • まだ15分しか経っていなかった
  • チュートリアル再開する
  • ちょっと突っ伏してねる
  • これを八千回くらい繰り返す

    3日目0400~

  • 眠気覚ましに小倉唯さんの『Honey Come』を購入する
  • ハ、ハ、ハニカムーーーーーーーーーーーーーーーーーーーーッッッ!!!!!!!!!!
  • 回路ができる
  • さっきのスクリプトでにゃんぱす~.wavをにゃんぱす~.hexに変換し渡す
  • Invalid Checksum
  • 冷や汗ダラダラおたくしながらデバッグする
  • 桁があふれるときの処理が必要だったことに気づき、適当にマスクビットしたら通る
  • ドキドキしながら再生させる
  • 圧電スピーカからセミの鳴き声がする
  • 回路班は回路が悪いというが、一応自分は自分でバイナリのチェックをする
  • 大丈夫そうだとわかると堕ちる

    3日目0600~

  • 目が覚めてもまだ蝉の声がする
  • よくわからないのでできることもないが、とりあえず回路班が実装する後ろで祈る
  • 音声ファイルのバイナリはIntelHexフォーマットでなく、データ部分だけで良いことがわかる
  • データ部分を渡す
  • セミ度が高まる
  • ここで11時になりセミのままタイムアップ

    3日目12:50~

  • 完成品の発表会
  • ドミネータつくりチームにグロ動画を観せられる
  • ドローンチームの作品を見てメカトロやりてぇと思う
  • 時間が押して、東海大勢が先に帰る
  • 別れの挨拶をして別れる
  • 教授陣の発表
  • 教授各位が授業の時とは違いイキイキしているのを確認する
  • 一本締めで解散

    感想

  • チームのみんなが頑張っている時に寝るなどして申し訳🚀NASA🚀
  • チームリーダーが一睡もしていないのにつらさを感じさせなくて†院生の強靭さ†を感じた
  • バイナリを初めて読んだ
  • 次回以降ちゃんと予習をして回路設計にも携わりたい