title: FTDI TTL with Linux
body: <p>in order to send commands to an external device, I use a wire called TTL-232R-3V3 of FTDI. I want to set there specific pathways to high or to low. Parity or stop bits are not needed. </p>
  
  <p>My operating system is Ubuntu Linux 13.04.</p>
  
  <p>I want to develop an Java or C application, which can send these commands. But there is an error when I try to install the driver for the wire:</p>
  
  <p>I'm following <a href="http://www.ftdichip.com/Support/Documents/AppNotes/AN_220_FTDI_Drivers_Installation_Guide_for_Linux%20.pdf" rel="nofollow">this</a> instruction, and I decided to install the D2XX driver. I think I've successfully installed the Shared Object and Static Library as described in step 2.1, anyway I didn't got any error messages.</p>
  
  <p>But when I try to compile sample code, as described in step 3, I got the following output executing the <code>make -B</code> command.</p>
  
  <pre><code>for n in BitMode EEPROM/erase EEPROM/read EEPROM/write EEPROM/user/read EEPROM/user/size EEPROM/user/write Events LargeRead MultiThread SetVIDPID Simple Timeouts ; do make -C $n || exit 1; done
  make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/BitMode'
  gcc main.c -o bitmode -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib  
  make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/BitMode'
  make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/erase'
  gcc main.c -o erase -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
  make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/erase'
  make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/read'
  gcc main.c -o read -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
  make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/read'
  make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/write'
  gcc main.c -o write -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
  make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/write'
  make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/read'
  gcc main.c -o readua -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
  make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/read'
  make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/size'
  gcc main.c -o sizeua -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
  make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/size'
  make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/write'
  gcc main.c -o writeua -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
  make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/write'
  make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/Events'
  gcc main.c -o events -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
  make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/Events'
  make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/LargeRead'
  gcc main.c -o largeread -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
  make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/LargeRead'
  make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/MultiThread'
  gcc main.c -o multi -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
  make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/MultiThread'
  gcc main.c -o multi -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
  /usr/bin/ld: /tmp/ccoAsrRg.o: undefined reference to symbol     'pthread_create@@GLIBC_2.2.5'
  /usr/bin/ld: note: 'pthread_create@@GLIBC_2.2.5' is defined in DSO /lib/x86_64-linux-    gnu/libpthread.so.0 so try adding it to the linker command line
  /lib/x86_64-linux-gnu/libpthread.so.0: could not read symbols: Ungültiger Vorgang
  collect2: Fehler: ld gab 1 als Ende-Status zurück
  make[1]: *** [multi] Fehler 1
  make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples    /MultiThread'
  make: *** [subdirs] Fehler 1
  </code></pre>
  
  <p>How can I fix that error? Has someone experiences with this wire and Linux?
  Thanks in advance!</p>