• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Sigma IrDA-Adapter für Pulsuhrübertragung

Dremus

Member
Hallo zusammen,

ich habe ein Standard-Infrarot-Adapter besorgt, welches ich für die Übertragung meiner Pulsuhrdaten nutze (jedenfalls unter Windows). Damit ich damit auch unter Linux arbeiten kann, benötige ich zwei Dinge:
- Sportstracker (http://www.saring.de/sportstracker/index.html), damit ich meine übertragenen HRM-Dateien betrachten und auswerten kann (setzt mono, libgdiplus und gtk2 voraus), sowie
- s710 (http://daveb.net/s710), um die Daten via IrDA/USB übertragen zu können.

Sportstracker zu installieren und zu starten, ist kein Problem. Wenn ich versuche, s710 zu kompilieren, erhalte ich schon bei ./configure die Fehlermeldung, daß "libpng is required": libpng ist aber installiert.

In der config.log tauchen dann so Zeilen auf wie diese:
Code:
[...]
configure:7870: checking for libpng-config
configure:7903: result: no
configure:7917: checking for png_create_write_struct in -lpng
configure:7948: gcc -o conftest -g -O2    conftest.c -lpng -lz -lm  >&5
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../../i586-suse-linux/bin/ld: cannot find -lpng
collect2: ld returned 1 exit status
[...]

Kann das sein, daß s710 bestimmte Voraussetzungen erwartet, die nur bei Mandriva oder Debian zutreffen? Muß libpng irdendwie gestartet werden?

Der Adapter wird jedenfalls ordnungsgemäß erkannt. "lsusb -v" gibt aus:

Code:
Bus 001 Device 003: ID 066f:4200 SigmaTel, Inc. STIr4200 IrDA Bridge
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         1
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x066f SigmaTel, Inc.
  idProduct          0x4200 STIr4200 IrDA Bridge
[...]

Danke für Eure Hilfe.
 
OP
D

Dremus

Member
Hallo Freecoffee,

war schon mal ein guter Tip, bis "./configure" dann an der nächsten Hürde hängenbleibt:
Code:
checking for gdlib-config... no
checking gd.h usability... no
checking gd.h presence... no
checking for gd.h... no
configure: error: gd.h is required
lauten die ausgegebenen Fehlermeldungen.

Jetzt habe ich mal schnell gd und php installiert, aber das hat auch nicht geholfen.

Helfen Du?
 
OP
D

Dremus

Member
Nachdem ich php wieder entfernt habe (führte zu verschiedenen Darstellungsproblemen) habe ich die gd-devel gefunden und installiert.

Jetzt habe ich zumindest s710d ordnungsgemäß installieren können. Das Aktivieren der IrDA-Übertragung müßte dann wohl ggf. in einem anderen Thread diskutiert werden. Danke.
 
A

Anonymous

Gast
Aus Jux und Dollerei hab ich mal ein rpm/src.rpm gebastelt (unter Mithilfe von Krpmbuilder, die Gurus mögen mich dafür steinigen, aber ich arbeite mich in den RPM-Bau gerade erst ein, das erzeugte SPEC wurde anschließend von Hand angepasst).

BuildRequires: libusb gd-devel libpng-devel
Requires: libusb gd

Das sollte zumindest dafür sorgen, daß bei der Installation bzw. beim Rebuild die fehlenden Bibliotheken mit einer ordentlichen Fehlermeldung _vor_ dem Aufruf von ./configure bzw. beim Versuche der Installation angezeigt werden.

Weitere Optionen bei ./configure:

Als Prefix wird /usr und nicht /usr/local verwendet, das Paket wird mit USB-Unterstützung gebaut ("--with-usb").

Durch den anderen Prefix muß allerdings zuvor eine händische Installation entfernt werden.

Code:
sudo make uninstall

Das SPEC sieht folgendermassen aus:

Code:
Name: s710
Summary: s710 A Software to communicate between a Linux computer and a Polar S710 heart rate monitor via the serial IR interface.
Version: 0.19
Release: rm.0
License: GPL
Group: Software/Utilities
Source: s710-0.19.tar.gz
Requires:	libusb gd
BuildRequires:	libusb gd-devel libpng-devel
BuildRoot: %{_tmppath}/build-root-%{name}
Packager: RM
Distribution: openSUSE 10.x
Prefix: /usr
Url: http://daveb.net/s710/

%description
s710
 This software lets you communicate from a Linux computer to a Polar S710 heart rate monitor via the serial IR interface. It is not complete, but a utility is provided that gives you the ability to view the settings on the watch and download exercise files. Other utilities (also provided) allow you to print the contents of exercise files and render the data in PNG graphs. A Perl interface to the library is also provided.

Authors:
--------
Dave Bailey <dave(at)daveb.net>

%prep
rm -rf $RPM_BUILD_ROOT 
mkdir $RPM_BUILD_ROOT

%setup -q s170

%build
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
./configure --prefix=%{prefix} --with-usb
make -j 2

%install
make DESTDIR=$RPM_BUILD_ROOT install-strip

cd $RPM_BUILD_ROOT

find . -type d -fprint $RPM_BUILD_DIR/file.list.%{name}.dirs
find . -type f -fprint $RPM_BUILD_DIR/file.list.%{name}.files.tmp
sed '/\/man\//s/$/.gz/g' $RPM_BUILD_DIR/file.list.%{name}.files.tmp > $RPM_BUILD_DIR/file.list.%{name}.files
find . -type l -fprint $RPM_BUILD_DIR/file.list.%{name}.libs
sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' $RPM_BUILD_DIR/file.list.%{name}.dirs > $RPM_BUILD_DIR/file.list.%{name}
sed 's,^\.,\%attr(-\,root\,root) ,' $RPM_BUILD_DIR/file.list.%{name}.files >> $RPM_BUILD_DIR/file.list.%{name}
sed 's,^\.,\%attr(-\,root\,root) ,' $RPM_BUILD_DIR/file.list.%{name}.libs >> $RPM_BUILD_DIR/file.list.%{name}

%clean
rm -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_DIR/file.list.%{name}
rm -rf $RPM_BUILD_DIR/file.list.%{name}.libs
rm -rf $RPM_BUILD_DIR/file.list.%{name}.files
rm -rf $RPM_BUILD_DIR/file.list.%{name}.files.tmp
rm -rf $RPM_BUILD_DIR/file.list.%{name}.dirs

%files -f ../file.list.%{name}

%defattr(-,root,root,0755)

%changelog
* Thu Feb 15 2007 Rain_Maker <rain_maker(at)root-forum.org>
- Initial package, Version 0.19

Als s710.spec abspeichern, den Quellcode 's710-0.19.tar.gz' nach '/usr/src/packages/SOURCES' kopieren (als User!) und ebenfalls als User folgenden Befehl aufrufen:

Code:
rpmbuild -bb s710.spec #für ein Binärpaket

rpmbuild -bs s710.spec #für ein src.rpm

rpmbuild -ba s710.spec #für beides

Die fertigen Pakete befinden sich in '/usr/src/packages/' in:

RPMS/i586 => 32 Bit-Installation, Binärpaket

RPMS/x86_64 => 64 Bit-Installation, Binärpaket

SRPMS => src.rpm => Unabhängig von der Architektur.

Installation am einfachsten in der Kommandozeile als root mit 'rpm -Uvh *Paketname*'

Vorschläge/Anregungen, besonders bezüglich der (Build)Requires (hab ja vielleicht was Wichtiges vergessen) sind genauso wie "Versuchskaninchen" sehr willkommen.

Greetz,

RM
 
Oben