歴史的に 32 ビットの Ubuntu 仮想マシンで開発された GTK ベースの ARM プロジェクトがあります。現在、それを新しい 64 ビット Arch Linux 開発ボックスに移行しようとしています。私が取った2つのルートによって生成されたエラーをどうするかわかりません.
リンカに /usr/lib を使用するように指示すると、コンパイルが停止します。
/usr/lib/librt.so: file not recognized: File format not recognized
したがって、これが 32 ビット対 64 ビットの問題であると仮定して、gcc を /usr/lib32 に向けると、次のメッセージが表示されました。
/usr/bin/arm-linux-gnueabi - ld: skipping incompatible /usr/lib32/librt.so when searching for -lrt
/usr/bin/arm-linux-gnueabi - ld: skipping incompatible /usr/lib32/librt.a when searching for -lrt
/usr/bin/arm-linux-gnueabi - ld: skipping incompatible /usr/lib32/libpthread.so when searching for -lpthread
/usr/bin/arm-linux-gnueabi - ld: skipping incompatible /usr/lib32/libpthread.a when searching for -lpthread
/usr/bin/arm-linux-gnueabi - ld: cannot find -lz
/usr/bin/arm-linux-gnueabi - ld: cannot find -lsqlite3
/usr/bin/arm-linux-gnueabi - ld: cannot find -lusb-1.0
/usr/bin/arm-linux-gnueabi - ld: cannot find -lssl
等々。Archリポジトリからlib32-sqliteをインストールしようとしましたが、役に立ちませんでした。
どちらのディレクトリでも、次の警告を何度も何度も受け取りますが、これもよくわかりません
/usr/include/pthread.h:672:6: warning: '__regparm__' attribute directive ignored [-Wattributes]
/usr/include/pthread.h:684:3: warning: '__regparm__' attribute directive ignored [-Wattributes]
/usr/include/pthread.h:729:6: warning: '__regparm__' attribute directive ignored [-Wattributes]
それが単に最新のライブラリに対してコンパイルされた古いコードからのアーティファクトなのか、それとも何なのかはわかりませんが、そう遠くないうちに解決したいものです.
編集: 私のターゲット アーキテクチャは ARM926EJ-S / i.MX27 です