I'm trying to run the arduino port built for HEAD/i386. This is using the binary pkg repository.
adrian@lucy-11i386:~/work/freebsd/head/src % arduino
java.lang.UnsatisfiedLinkError: /usr/local/arduino/lib/librxtxSerial.so: Shared object "libpthread.so.0" not found, required by "librxtxSerial.so" thrown while loading gnu.io.RXTXCommDriver
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/local/arduino/lib/librxtxSerial.so: Shared object "libpthread.so.0" not found, required by "librxtxSerial.so"
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
.. and it never finishes starting up.
adrian@lucy-11i386:~/work/freebsd/head/src % pkg info | grep arduino
arduino-1.0.5_2,1 Open-source electronics prototyping platform
adrian@lucy-11i386:~/work/freebsd/head/src % pkg info arduino
Name : arduino
Version : 1.0.5_2,1
Installed on : Tue Sep 16 18:16:03 PDT 2014
Origin : devel/arduino
Architecture : freebsd:11:x86:32
Prefix : /usr/local
Categories : lang java devel
Maintainer : email@example.com
WWW : http://arduino.cc/
Comment : Open-source electronics prototyping platform
ATMEGA644P : off
DOCS : on
EXAMPLES : on
repo_type : binary
repository : FreeBSD
Flat size : 22.6MiB
Arduino is an open-source electronics prototyping platform based on
flexible, easy-to-use hardware and software. It's intended for artists,
designers, hobbyists, and anyone interested in creating interactive
objects or environments.
The Arduino software consists of a development environment (IDE) and the
.. is this missing some dependency on something?
I'm running 9.1-RELEASE and don't really use the arduino ide.
The only libpthread.so.0 I see on my system is part of linux_base-f10. I installed arduino and xorg and deinstalled linux_base-f10 on a spare box and
I can get the arduino ide to run via X over a ssh session.
I also see two versions of librxtxSerial.so. One is installed by arduino and the other by rxtx-openjdk6. On my test system it looks like the rxtx-openjdk6 version is the one being used and it only depends on libc.so.7.
I poked at the configure script for the comms/rxtx source package but it doesn't look to me as if it would ever directly add -lpthread to LDFLAGS on any version of FreeBSD. Can you determine which librxtxSerial.so you're running? I used ls -lu after running arduino. See if you can figure out if the FreeBSD 11 librxtxSerial.so depends on libpthread.so.0.
(In reply to leres from comment #2)
root@lucy-11i386:/home/adrian # pkg info | grep rxtx
rxtx-openjdk7-2.2p2_2 Native interface to serial ports in Java
root@lucy-11i386:/home/adrian # pkg info | grep arduino
arduino-1.0.6,1 Open-source electronics prototyping platform
That's all I know. I'm using the binary packages made for -HEAD i386, and I update every month. It's still not working even with the most recent update.
So, how's it ending up not actually working?
The [RXTX] port, that [arduino] depends on, requires the "libpthread.so.0" which can be found in the port "./emulators/linux_base-c6".
This is installed into /usr/local/lib/compat/libpthread.so.1 by the [linux_base-c6] port.
The [RXTX] port is lacking this dependancy, and a bug for the [RXTX] port has been raised, with a proposed patch attached.
(Please see bug reports for RXTX that you will encounter once you resolve the issue you reported; it has a static code base located at http://rxtx.qbang.org/ which hasn't been updated since 4th Feb 2009).
This core dump is occuring in the [RXTX] port as it issues a SIGABRT to a thread, which forces the prcoess to perform a core dump.
I suspect in JRE (OpenJDK) the handling of this had a different effect than OpenJDK 7+.
An upstream bug in RXTX has been reported, with proposed patch attached.
Upstream PR raised on RXTX:
Given the recent fixes applied to and PRs closed for comms/rxtx, is the original concern still an issue?
There's no -HEAD package for i386 yet, so I guess it's all even more broken again. :(
Please try it out on i386 -HEAD; it'll be very obvious.
any update on this?