20210511のLinuxに関する記事は5件です。

composer requireで could not delete エラーが出てきたときの解消法

*WindowsPCでvagrantで仮想環境を立てて、lamp環境を使っています 背景 doctrine/dbalのライブラリが必要になったのでインストールすることに。 composer require doctrine/dbalを実行 [vagrant@localhost testproject]$ composer require doctrine/dbal Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. See https://getcomposer.org/2 Using version ^3.1 for doctrine/dbal ./composer.json has been updated Loading composer repositories with package information Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. See https://getcomposer.org/2 Updating dependencies (including require-dev) ^[cPackage operations: 5 installs, 0 updates, 0 removals As there is no 'unzip' command installed zip files are being unpacked using the PHP zip extension. This may cause invalid reports of corrupted archives. Besides, any UNIX permissions (e.g. executable) defined in the archives will be lost. Installing 'unzip' may remediate them. - Installing composer/package-versions-deprecated (1.11.99.1): Loading from cache Plugin installation failed (include(/var/www/html/testproject/vendor/composer/package-versions-deprecated/src/PackageVersions/Installer.php): failed to open stream: No such file or directory), rolling back - Removing composer/package-versions-deprecated (1.11.99.1) Installation failed, reverting ./composer.json to its original content. [RuntimeException] Could not delete /var/www/html/testproject/vendor/composer/package-versions-deprecated/src/PackageVersions: require [--dev] [--prefer-source] [--prefer-dist] [--fixed] [--no-progress] [--no-suggest] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--update-with-all-dependencies] [--ignore-platform-reqs] [--prefer-stable] 上記のような Could not deleteエラー発生 解決法 まずは手早く結論から。。。! ① composer require composer/package-versions-deprecated --dev --prefer-source の実行 参考:https://github.com/barryvdh/laravel-ide-helper/issues/1135 [vagrant@localhost testproject]$ composer require composer/package-versions-deprecated --dev --prefer-source Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. See https://getcomposer.org/2 Using version 1.11.99.1 for composer/package-versions-deprecated ./composer.json has been updated Loading composer repositories with package information Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. See https://getcomposer.org/2 Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing composer/package-versions-deprecated (1.11.99.1): Cloning 7413f0b55a Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested. Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating optimized autoload files composer/package-versions-deprecated: Generating version class... composer/package-versions-deprecated: ...done generating version class > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi Discovered Package: facade/ignition Discovered Package: fideloper/proxy Discovered Package: laravel/tinker Discovered Package: laravel/ui Discovered Package: nesbot/carbon Discovered Package: nunomaduro/collision Package manifest generated successfully. 62 packages you are using are looking for funding. Use the `composer fund` command to find out more! ↑このコマンドを実行したことによりとりあえず第一段階はOK! やってみたこと 元々のエラーで、 - Installing composer/package-versions-deprecated (1.11.99.1): Loading from cache Plugin installation failed (include(/var/www/html/testproject/vendor/composer/package-versions-deprecated/src/PackageVersions/Installer.php): failed to open stream: No such file or directory), rolling back - Removing composer/package-versions-deprecated (1.11.99.1) こうでてたのでおそらくこのcomposer/package-versions-deprecatedは現状とりあえずなさそうだと判断し、 入れてみることにした いざ実行 [vagrant@localhost testproject]$ composer require composer/package-versions-deprecated Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. See https://getcomposer.org/2 Using version 1.11.99.1 for composer/package-versions-deprecated ./composer.json has been updated Loading composer repositories with package information Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. See https://getcomposer.org/2 Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing composer/package-versions-deprecated (1.11.99.1): Loading from cache Plugin installation failed (include(/var/www/html/testproject/vendor/composer/package-versions-deprecated/src/PackageVersions/Installer.php): failed to open stream: No such file or directory), rolling back - Removing composer/package-versions-deprecated (1.11.99.1) Installation failed, reverting ./composer.json to its original content. [RuntimeException] Could not delete /var/www/html/testproject/vendor/composer/package-versions-deprecated/src/PackageVersions: require [--dev] [--prefer-source] [--prefer-dist] [--fixed] [--no-progress] [--no-suggest] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--update-with-all-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--] [<packages>]... すると同じようなエラーが出る。 しばらくググっていたら参考に取り上げた記事を発見(https://github.com/barryvdh/laravel-ide-helper/issues/1135) --dev --prefer-sourceこれを付けたことにより無事インストール完了。(この意味は分からないが。。。) ② 再度 composer require doctrine/dbal の実行 [vagrant@localhost testproject]$ composer require doctrine/dbal Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. See https://getcomposer.org/2 Using version ^3.1 for doctrine/dbal ./composer.json has been updated Loading composer repositories with package information Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. See https://getcomposer.org/2 Updating dependencies (including require-dev) Package operations: 4 installs, 0 updates, 0 removals - Installing doctrine/event-manager (1.1.1): Downloading (100%) - Installing doctrine/deprecations (v0.5.3): Downloading (100%) - Installing doctrine/cache (1.11.0): Downloading (100%) - Installing doctrine/dbal (3.1.0): Downloading (100%) doctrine/cache suggests installing alcaeus/mongo-php-adapter (Required to use legacy MongoDB driver) Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested. Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating optimized autoload files composer/package-versions-deprecated: Generating version class... composer/package-versions-deprecated: ...done generating version class > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi Discovered Package: facade/ignition Discovered Package: fideloper/proxy Discovered Package: laravel/tinker Discovered Package: laravel/ui Discovered Package: nesbot/carbon Discovered Package: nunomaduro/collision Package manifest generated successfully. 65 packages you are using are looking for funding. Use the `composer fund` command to find out more! ①つめのコマンド実行によってエラーが潰せたのか、 Could not delete のエラーもでることなく無事インストール完了!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MySQLのタイムゾーンを日本時間にする(Ubuntu18.04)

勘違いしていたこと MySQLのタイムゾーンはデフォルトでホストマシンのタイムゾーンを参照している! ❎my.cnfを編集する 🔴Ubuntuのタイムゾーンを変更する ホストマシン(Ubuntu)のタイムゾーンを変更 $> date Tue May 11 07:43:16 UTC 2021 日時を確認 UTCからJSTに変える $> timedatectl set-timezone Asia/Tokyo ==== AUTHENTICATING FOR org.freedesktop.timedate1.set-timezone === Authentication is required to set the system timezone. Authenticating as: vagrant,,, (vagrant) Password: パスワードを入力 ==== AUTHENTICATION COMPLETE === と出たら成功 $> date Tue May 11 16:44:02 JST 2021 JSTになってることを確認 MySQLを確認 MySQLに接続し確認 mysql> show variables like '%time_zone%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | UTC | | time_zone | SYSTEM | +------------------+--------+ 2 rows in set (0.01 sec) あれ?変わってない。。。 MySQLを再起動 mysql> exit Bye $> systemctl restart mysql ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units === Authentication is required to restart 'mysql.service'. Authenticating as: vagrant,,, (vagrant) Password: ==== AUTHENTICATION COMPLETE === mysql> show variables like '%time_zone%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | JST | | time_zone | SYSTEM | +------------------+--------+ 2 rows in set (0.00 sec) 行けた! MySQL再起動することをお忘れなく〜
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Jettyにしばらくアクセスしてないとjava.lang.NoClassDefFoundErrorが発生した話

普段tomcatを使ってて、業務で(組み込みではない)Jettyは使ったことなかったので知らなかったわーという話。 環境 AmazonLinux2 Jetty9.4 Java8 結論 Linuxは標準で/tmp 配下を消しているが、Jettyのwarのキャッシュを置くデフォルトのディレクトリが /tmp を指しているので、定期削除のタイミングでキャッシュディレクトリが削除されていたのが原因 経緯 Jettyを起動したまま、数日間放置。 久々にアクセスするとInternal Server Errorが発生していて、ログを確認すると、java.lang.NoClassDefFoundErrorと出ていた。 そのクラスがないのはアカンじゃろ、と思いながらも、Jettyを再起動すると直るので、よくわからないからいいか。 というのを度々発生させる JettyってアクセスしてないとGC発生してメモリから消しちゃうの?そんなの運用に耐えられなくない??? そして、日数があんまり経ってないのに発生した。再起動したらやっぱり直る。これは誰かが消してる?? ググった結果、以下の記事にあたる。 Jettyが週1、2で停止する場合はtmpwatchを疑うべきかも 試しに、Jetty起動中に/tmpのキャッシュディレクトリを消すと、再現したので、これが正解の模様 tmpwatch とは Linuxとか標準で用意している機能。 詳しくは以下の記事が参考になる 【Linux】【Cent OS】/tmpと/var/tmp以下のファイルを放っておくと勝手に削除される話 そういえば、いつの間にかキレイになってるなぁとは思ってたけど、あんまり気にしたことなかった AmazonLinux2の /usr/lib/tmpfiles.d/tmp.conf を確認すると以下の設定になってる。 tmpは10日でキレイになるのか /usr/lib/tmpfiles.d/tmp.conf # Clear tmp directories separately, to make them easier to override v /tmp 1777 root root 10d v /var/tmp 1777 root root 30d 対策 Jettyが週1、2で停止する場合はtmpwatchを疑うべきかも に書いてる通りなんだけど ① Jettyが使用するjava.io.tmpdirのシステム設定の場所を指定する で対応。 jetty.service の EnvironmentFile で指定したファイルに追記しました。 TMPDIR=/opt/jetty/temp 起動プロセスのVMオプションのtmpdirが -Djava.io.tmpdir=/opt/jetty/temp となっていればOK
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Laravel×Heroku】シンボリックリンクが上手くいかない時の対処法

"laravel シンボリックリンク" を検索すると、多くの関連記事が出てくると思います。 自分も、今回laravelアプリを開発していて、本番環境でシンボリックリンクが効いておらずハマったのですが、全く同じ境遇という方が見受けられなかったため、記事を書いています。 対象者 ・Laravelでstorageディレクトリを使った画像表示、ファイルの操作を行う方 前提 ・Laravelアプリを、Herokuにデプロイする方 ローカル環境でシンボリックリンクが上手くいっていない方は Laravelでpublicフォルダ配下に保存したファイルにアクセスできないを参考にしてみてください。 まずはこれを試してみる 今回の解決策を述べる前に、まずまだ何も試していない方は、以下を確認してみてください。 そもそも本番環境にシンボリックリンクが無い。 laravelで普通に開発をしている場合、ローカル環境で設定したシンボリックリンクはGitにpushされません。本番環境にGitと連携してpushする場合、Gitに無いものはpushされないのは当然のことです。 これを解消するには、アプリのホームディレクトリ上にある.gitignoreから、public/storageを削除してください。これで、ローカル環境で作成したシンボリックリンクはGitで管理されるようになるため、pushして、本番環境にデプロイしてみてください。 .gitignore /node_modules /public/hot /public/storage #削除 /storage/*.key /vendor .env .env.backup .phpunit.result.cache docker-compose.override.yml Homestead.json Homestead.yaml npm-debug.log yarn-error.log heroku run php artisan storage:linkを実行すれば良いんじゃないの? と思うかも知れません。自分もそう考えてHerokuにpushした後に実行してみましたが、効果はありませんでした。試しに、Herokuにssh接続してみた結果、シンボリックリンクが作成されて無いことに気が付きました。 さらに、ssh接続したHeroku上で、php artisan storage:linkを実行します。この瞬間では、public/storageとしてシンボリックリンクが作成されます。しかし、一度ssh接続を終了し、再度接続した時にはもう消えています。 Heroku上で直接行うのは意味がない Heroku上で、直接ファイル操作をするのは、意味がなかったようです。 Herokuはマルチテナントであるが故に、インスタンスの切り替えが発生するらしいです。 以下のタイミングでその切り替えが発生し、直接アップ(Git以外から操作)したファイルなどが消えてしまいます。 Git Push時 Heroku config変更時 おおむね1日1度、自動的に再起動 Heroku初心者がつまづいたこと3つ それでも動かない ・ローカル環境ではシンボリックリンクで正常に動作する ・本番環境では動作しないが、シンボリックリンクは存在する この2点が重なった場合、考えられる可能性は、以下の2つです。 ・権限の問題でアクセスできない ・シンボリックリンクのパスが環境の差異による影響を受けている 権限が無い場合 当方は、こちらに遭遇したことはないのですが、一応載せておきます。一応。 app/storageディレクトリのパーミッションの設定~Laravel初期設定~ シンボリックリンクのパスが環境の差異による影響を受けている 当方の場合、こちらでした。 Docker環境で開発しており、Herokuにはアプリ本体だけをデプロイしていたために発生しました。 ローカル環境のシンボリックリンクのパスを確認 % cd public % ls -l ...省略 lrwxr-xr-x ... storage -> /workspace/[アプリのディレクトリ]/storage/app/public ...省略 Herokuのシンボリックリンクのパスの確認 % heroku run bash [~ $ cd public [~/public $ ls -l lrwxrwxrwx ... dyno ... storage -> /workspace/[アプリのディレクトリ]/storage/app/public ローカル環境で作成したシンボリックリンクがそのままです。 しかし、Heroku環境はこのようなディレクトリ構造になっていないため、リンク切れになっていると想定できます。 Heroku上の正しいシンボリックリンクのリンクを確認 Herokuで正常に動作させるには、Heroku上のディレクトリ構造に合わせてあげなければなりません。 ただ、Heroku上で直接変更しても意味がないのは前述の通りです。 なので、Heroku上の正しいパスを確認し、それをローカル環境で設定し、pushし直します。 heroku [ ~ $ cd public [ ~/public $ rm storage [ ~/public $ ls -l #storageが無いことを確認してください。 [ ~/public $ cd [ ~ $ php artisan storage:link [ ~ $ cd public [ ~/public $ ls -l lrwxrwxrwx ... dyno ... storage -> /app/storage/app/public このように、Heroku上の正しいパスでシンボリックリンクが作成されます。 このパスで再設定してあげます。 ローカル % cd public % rm storage #既存のシンボリックリンクを削除します。 % ln -s /app/storage/app/public storage $ ln -s リンク元 登録名 リンク元に設定するリンク、登録名にシンボリックリンクの名前を設定します。 php artisan storage:linkはlaravelのコマンドですが、lnはlinuxコマンドです。 windowsの場合はmklinkコマンドがあります。 確認します。 % ls -l ... lrwxr-xr-x ... storage -> /app/storage/app/public ... これで、Heroku上のディレクトリ構造に合わせることができました。 ただし、ローカル環境で正常に動作しなくなるので、再設定が必要です。 再デプロイ 以上が設定し終わったら、Herokuにデプロイします。 正常に動作するはずです。 最後に 対処療法的なものだと思うので、もしよりベターな方法があればアドバイスいただけるとありがたいです。 参考にした記事 シンボリックリンクの作成, 確認, 削除 Laravel シンボリックリンクで少しハマった話 Heroku初心者がつまづいたこと3つ lnコマンドについて詳しくまとめました 【Linuxコマンド集】 app/storageディレクトリのパーミッションの設定~Laravel初期設定~ Laravelでpublicフォルダ配下に保存したファイルにアクセスできない Windows 10でシンボリックリンクを作成する Mklink - DOS コマンド一覧 herokuでアプリを指定してsshログイン 大変参考になりました。有難うございます!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

RaspberryPi picoのC言語CUI開発環境を構築する+開発する上で便利なアプリ

はじめに RaspberryPi picoがようやく入手できたので、開発環境を構築しました。 巷では、pythonばかりでC言語しかもCUIの構築が乏しく、色々調べていたらYouTubeにUpされていたので自分の環境で試してみました。 ちなみにYouTubeでは、RaspberryPiで環境構築していました。 使用したPC CUIのbuild環境のため、ロースペックなPCにしました。 TOSHIBA Dynabook SS M37 CPU:Core2Duo1.66GHz→Core2Duo2.00GHz(CPU換装) MEM:2GB→4GB(公式では2GBまで、Chipsetで4GBまでの認識) HDD:80GB(余っていたHDD) 環境 OS:Ubuntu20.04LTS 64bit desktop(最小インストール) 使用したアプリ等 samba openssh-server barrier GTKTerm 開発環境のインストール 前提条件:Ubuntuインストール後、アップデート済み。 gitのインストール sudo apt install -y git SDKのインストール mkdir pico cd pico git clone -b master https://github.com/raspberrypi/pico-sdk.git cd pico-sdk git submodule update --init サンプルプログラムのDownload(Buildできるか確認するため) cd ~/pico git clone -b master https://github.com/raspberrypi/pico-examples.git プログラミングツールのインストール sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential 環境設定 PATHを通す必要があるので、以下を.bashrcの最後に追記します。 export PICO_SDK_PATH=~/pico/pico-sdk 保存、終了して source .bashrc を入力します。 build確認 サンプルプログラムをbuildしてみます。 picoの動作にはLチカが定番のようです。 私もLチカでbuild確認してみます。 まず、ダウンロードしたサンプルブログラムのディレクトリへ移動します。 cd ~/pico/pico-examples 「blink」ディレクトリをコピーします。 cp -r blink ~/pico 「blink」ディレクトリへ移動します。 cd ../blink 「pico_sdk_import.cmake」をコピーします。 cp -p ~/pico/pico-sdk/external/pico_sdk_import.cmake ./ ディスク容量が圧迫されるのが嫌であれば、シンボリックリンクを作成します。 ln -s ../pico-examples/pico_sdk_import.cmake 現在のディレクトリで作業すると沢山のファイルが作成されるため、buildディレクトを作成し移動ます。 mkdir build cd build 「CMakeLists.txt」の編集をします 編集前 add_executable(blink blink.c ) # Pull in our pico_stdlib which pulls in commonly used features target_link_libraries(blink pico_stdlib) # create map/bin/hex file etc. pico_add_extra_outputs(blink) # add url via pico_set_program_url example_auto_set_url(blink) 編集後 cmake_minimum_required(VERSION 3.12) include(pico_sdk_import.cmake) project(blink) pico_sdk_init() add_executable(blink blink.c ) # Pull in our pico_stdlib which pulls in commonly used features target_link_libraries(blink pico_stdlib) # create map/bin/hex file etc. pico_add_extra_outputs(blink) # add url via pico_set_program_url #example_auto_set_url(blink) cmake_minimum_required(VERSION 3.12) include(pico_sdk_import.cmake) project(blink) pico_sdk_init() をファイル上部に追加します。 また、 example_auto_set_url(blink) はコメントし保存します。 それではbuildします cmake .. 問題が無ければ、下記のように出力されます。 ちなみに、cmakeは1回だけ行えば良いです。 Using PICO_SDK_PATH from environment ('/home/hogehoge/pico/pico-sdk') PICO_SDK_PATH is /home/hogehoge/pico/pico-sdk Defaulting PICO_PLATFORM to rp2040 since not specified. Defaulting PICO platform compiler to pico_arm_gcc since not specified. -- Defaulting build type to 'Release' since not specified. PICO compiler is pico_arm_gcc PICO_GCC_TRIPLE defaulted to arm-none-eabi -- The C compiler identification is GNU 9.2.1 -- The CXX compiler identification is GNU 9.2.1 -- The ASM compiler identification is GNU -- Found assembler: /usr/bin/arm-none-eabi-gcc Defaulting PICO target board to pico since not specified. Using board configuration from /home/hogehoge/pico/pico-sdk/src/boards/include/boards/pico.h -- Found Python3: /usr/bin/python3.8 (found version "3.8.5") found components: Interpreter TinyUSB available at /home/hogehoge/pico/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040; adding USB support. -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) ELF2UF2 will need to be built -- Configuring done -- Generating done -- Build files have been written to: /home/hogehoge/pico/blink/build makeします make 問題が無ければ、下記のように出力されます。(サンプルなのでエラーはありませんが) 自分で作ったソースでエラーがあれば、修正する度にmakeを実行します。 Scanning dependencies of target ELF2UF2Build [ 1%] Creating directories for 'ELF2UF2Build' [ 3%] No download step for 'ELF2UF2Build' [ 5%] No patch step for 'ELF2UF2Build' [ 6%] No update step for 'ELF2UF2Build' [ 8%] Performing configure step for 'ELF2UF2Build' -- The C compiler identification is GNU 9.3.0 -- The CXX compiler identification is GNU 9.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done -- Generating done -- Build files have been written to: /home/hogehoge/pico/blink/build/elf2uf2 [ 10%] Performing build step for 'ELF2UF2Build' Scanning dependencies of target elf2uf2 [ 50%] Building CXX object CMakeFiles/elf2uf2.dir/main.cpp.o [100%] Linking CXX executable elf2uf2 [100%] Built target elf2uf2 [ 11%] No install step for 'ELF2UF2Build' [ 13%] Completed 'ELF2UF2Build' [ 13%] Built target ELF2UF2Build Scanning dependencies of target bs2_default [ 15%] Building ASM object pico-sdk/src/rp2_common/boot_stage2/CMakeFiles/bs2_default.dir/compile_time_choice.S.obj [ 16%] Linking ASM executable bs2_default.elf [ 16%] Built target bs2_default Scanning dependencies of target bs2_default_padded_checksummed_asm [ 18%] Generating bs2_default.bin [ 20%] Generating bs2_default_padded_checksummed.S [ 20%] Built target bs2_default_padded_checksummed_asm Scanning dependencies of target blink [ 22%] Building C object CMakeFiles/blink.dir/blink.c.obj [ 23%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_stdlib/stdlib.c.obj [ 25%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_gpio/gpio.c.obj [ 27%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_claim/claim.c.obj [ 28%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_sync/sync.c.obj [ 30%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_platform/platform.c.obj [ 32%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_uart/uart.c.obj [ 33%] Building ASM object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_divider/divider.S.obj [ 35%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/common/pico_time/time.c.obj [ 37%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/common/pico_time/timeout_helper.c.obj [ 38%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_timer/timer.c.obj [ 40%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/common/pico_sync/sem.c.obj [ 42%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/common/pico_sync/lock_core.c.obj [ 44%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/common/pico_sync/mutex.c.obj [ 45%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/common/pico_sync/critical_section.c.obj [ 47%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/common/pico_util/datetime.c.obj [ 49%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/common/pico_util/pheap.c.obj [ 50%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/common/pico_util/queue.c.obj [ 52%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_runtime/runtime.c.obj [ 54%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_clocks/clocks.c.obj [ 55%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_watchdog/watchdog.c.obj [ 57%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_xosc/xosc.c.obj [ 59%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_pll/pll.c.obj [ 61%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_vreg/vreg.c.obj [ 62%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_irq/irq.c.obj [ 64%] Building ASM object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/hardware_irq/irq_handler_chain.S.obj [ 66%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_printf/printf.c.obj [ 67%] Building ASM object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_bit_ops/bit_ops_aeabi.S.obj [ 69%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_bootrom/bootrom.c.obj [ 71%] Building ASM object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_divider/divider.S.obj [ 72%] Building ASM object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_double/double_aeabi.S.obj [ 74%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_double/double_init_rom.c.obj [ 76%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_double/double_math.c.obj [ 77%] Building ASM object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_double/double_v1_rom_shim.S.obj [ 79%] Building ASM object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_int64_ops/pico_int64_ops_aeabi.S.obj [ 81%] Building ASM object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_float/float_aeabi.S.obj [ 83%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_float/float_init_rom.c.obj [ 84%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_float/float_math.c.obj [ 86%] Building ASM object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_float/float_v1_rom_shim.S.obj [ 88%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_malloc/pico_malloc.c.obj [ 89%] Building ASM object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_mem_ops/mem_ops_aeabi.S.obj [ 91%] Building ASM object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_standard_link/crt0.S.obj [ 93%] Building CXX object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_standard_link/new_delete.cpp.obj [ 94%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_standard_link/binary_info.c.obj [ 96%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_stdio/stdio.c.obj [ 98%] Building C object CMakeFiles/blink.dir/home/hogehoge/pico/pico-sdk/src/rp2_common/pico_stdio_uart/stdio_uart.c.obj [100%] Linking CXX executable blink.elf [100%] Built target blink make実行後の「build」ディレクトリの内容 CMakeCache.txt blink.bin blink.elf.map cmake_install.cmake pico-sdk CMakeFiles blink.dis blink.hex elf2uf2 Makefile blink.elf blink.uf2 generated blink.uf2をpicoにdrag-and-dropすると、picoのLEDがチカチカします。 使用するアプリ(各人の好み) samba Ubuntu上のファイルをWindowsから編集するとき便利 openssh-server Windowsからターミナルでbuildするときに便利 barrier Ubuntuでbuildしたpicoの実行ファイルをWindowsのキーボード+マウスでpicoに転送するときに便利 GTKTerm printf()でデバッグするときに便利 まとめ CUI環境での開発であれば、ロースペックなPCでも開発は可能 アプリのインストール等 samba sudo apt install samba openssh-server sudo apt install openssh-server barrier sudo add-apt-repository ppa:alexlarsson/flatpak sudo apt install flatpak gnome-software-plugin-flatpak flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 上記インストール後rebootして、「barrier」をubuntuソフトウェアから検索時実行します。 Windowsにもインストールする必要があります。 GTKTerm sudo apt install gtkterm sudo gtkterm
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む