1

私はsmslibを使用してsmsを送信しようとしています。Windowsでは問題なく動作しますが、ubuntu11.10で動作させる必要があります。そこで、ここhttp://www.cloudhopper.com/opensource/rxtx/から64ビットOS用のrxtxをインストールしました。/ dev / ttyS32(無料のシリアルポート)にリンクした/ dev/ttyACM0として検出されたusbを使用して携帯電話を接続しました。次に、プログラムを実行しようとすると、次のエラーが発生します。

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f44f9a065da, pid=8875, tid=139934227818240
#
# JRE version: 7.0_147-b147
# Java VM: OpenJDK 64-Bit Server VM (21.0-b17 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea7 2.0
# Distribution: Ubuntu 11.10, package 7~b147-2.0-0ubuntu0.11.10.1
# Problematic frame:
# C  [librxtxSerial.so+0x75da]  Java_gnu_io_RXTXPort_nativeDrain+0xea
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/radek/NetBeansProjects/sms/hs_err_pid8875.log
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
#   https://bugs.launchpad.net/ubuntu/+source/openjdk-7/
#
Java Result: 134

どうやってこれに取り組むのか分かりません。

4

4 に答える 4

3

私のubuntu11.1064ビット版でも同様の問題がありました。

問題は、RXTXを手動でインストールし、アーキテクチャと互換性がなかったためです。を使用してRXTXを再インストールしました

sudo apt-get install librxtx-java

そして今それは動作します。これがお役に立てば幸いです。

于 2012-04-15T21:10:35.533 に答える
2

伝えられるところによると、rxtx-javaはUbuntu64ビットのopenjdk7でクラッシュします。上記の構成(12.04LTS)でも同じようになります

ここを読んでくださいhttps://lists.launchpad.net/openjdk/msg08527.html

于 2013-10-10T20:08:26.407 に答える
1

新しいバージョンをインストールしましたが、正常に動作しています。

于 2012-03-05T15:27:34.647 に答える
0

次のサイトから更新バージョンをダウンロードします:http://jlog.org/rxtx-lin.html

「「RXTXcomm.jar」をダウンロードして、JavaVMの「lib/ ext」フォルダにインストールします(例:Ubuntu 11.04の場合:「/ usr / lib / jvm / java-6-sun-1.6.0.26/jre」およびSunのJava1.6.0_04を使用するRH9:'/usr/java/j2re1.6.0_04/lib/ext')。ファイルを一時的な場所(デスクトップなど)にダウンロードし、特権コマンド(またはからsudo)を使用する必要がある場合があります。コマンド/ターミナル)を移動先に移動します。

V3.xまたはV4Beta2から(つまり、古いバージョンのRXTXから)アップグレードする場合は、「/ lib / 386」フォルダー(または同等のもの)にある「librxtxSerial-2.1-x.so」ファイルを削除してください。

'librxtxSerial.so'をダウンロードし、JavaVMの'lib/i386'または'lib/ amd64'フォルダーにインストールします(例:Ubuntu 11.04:'/usr/lib/jvm/java-6-sun-1.6.0.26 / jre'およびSunのJava1.6.0_04を使用するRH9の場合:' /usr/java/j2re1.6.0_04/lib/i386')。'lib / i386'が見つからない場合(IBMのJava 1.4.xなど)は、このファイルの'bin'フォルダーを試してください。'librxtxSerial'にすべての実行権限があることを確認してください。ファイルを一時的な場所(デスクトップなど)にダウンロードし、特権コマンド(またはコマンド/ターミナルからのsudo)を使用してファイルを移動先に移動する必要がある場合があります。

'root'としてログインし、使用する'/ var / lock'ディレクトリを所有するグループとシリアルポート(例:/ dev / ttyS0)を所有するグループにjLogユーザーを追加する必要がある場合があります。これはUbuntu11.04では必要ありません。

これは通常(たとえば、Red Hat9とFedoraCoreの場合)、それぞれユーザーの「lock」と「uucp」になります。

問題が発生した場合、つまり、問題の原因がファイルへの不適切なアクセスまたは不適切なインストールであるかどうかを確認するには、jLogをrootとして実行してみてください。」

于 2016-03-16T17:44:41.027 に答える