[General Questions and Answers] Deagon:
I decided to change flashtool's script/launcher so it looks for libusbx in a more robust (i hope) way. i've attached the changed file. If this works for you then we can submit the changes to the devs for their consideration.

#!/bin/sh

export BASEDIR=$(dirname $0)

export system64=$(uname -m)

export OS=$(uname -s)

cd $BASEDIR

if test "$OS" = "Linux"

then

chmod 755 ./x10flasher_lib/adb.linux

chmod 755 ./x10flasher_lib/fastboot.linux

chmod 755 ./x10flasher_lib/unyaffs.linux

chmod 755 ./x10flasher_lib/bin2elf

chmod 755 ./x10flasher_lib/bin2sin

if [ "$(whoami)" != "root" ]

then

export HASRULES="false"

if test -d /etc/udev/rules.d

then

if grep -rl "0fce" /etc/udev/rules.d >/dev/null

then

export HASRULES="true"

fi

fi

if test "$HASRULES" = "true"

then

echo "Not running as root but Sony/SonyEriccson Vendor ID found on your udev rules"

echo "if Flashing didn't work well, run flashtool as root"

else

echo "Not running as root and there is no Sony/SonyEriccson Vendor ID on your udev rules"

echo "The user must be granted access to adb/flashmode/fastboot"

echo "If you are unsure what to do, run flashtool as root"

exit 1

fi

else

echo "Running as root."

fi

if test -z "${JAVA_HOME}"

then

if test "${system64}" = "x86_64"

then

export JAVA_HOME=./x10flasher_lib/linjre64

else

export JAVA_HOME=./x10flasher_lib/linjre32

fi

echo "JAVA_HOME not set. Using default value : ${JAVA_HOME}"

fi

if test -e ${JAVA_HOME}/bin/java

then

export LD_LIBRARY_PATH=./x10flasher_lib/linux/lib32

export LD_LIBRARY_PATH=./x10flasher_lib/linux/lib64:$LD_LIBRARY_PATH

#Begin changes by deagon 02/11/13

#ln -sf libusbx-1.0.so.0.1.0 ./x10flasher_lib/linux/lib32/libusbx-1.0.so

#ln -sf libusbx-1.0.so.0.1.0 ./x10flasher_lib/linux/lib64/libusbx-1.0.so

find /*/lib -name 'libusb*.0.1.0' -exec ln -sf {\} ./x10flasher_lib/linux/lib32/libusbx-1.0.so \;

find /*/lib -name 'libusb*.0.1.0' -exec ln -sf {\} ./x10flasher_lib/linux/lib64/libusbx-1.0.so \;

#End changes by deagon 02/11/13

ISJAVA6=$($JAVA_HOME/bin/java -version 2>&1|grep version|grep 1.6|wc -l)

ISJAVA7=$($JAVA_HOME/bin/java -version 2>&1|grep version|grep 1.7|wc -l)

ISJAVA64=$($JAVA_HOME/bin/java -version 2>&1|grep 64-Bit|wc -l)

if test $ISJAVA6 -gt 0 -o $ISJAVA7 -gt 0

then

if test $ISJAVA64 -gt 0

then

ln -sf swt64.jar ./x10flasher_lib/swtlin/swt.jar

else

ln -sf swt32.jar ./x10flasher_lib/swtlin/swt.jar

fi

$JAVA_HOME/bin/java -Xms128m -Xmx512m -Duser.country=US -Duser.language=en -jar x10flasher.jar

else

echo "Java version must be 1.6 or 1.7"

fi

else

echo "No Java in specified path in JAVA_HOME=${JAVA_HOME}"

echo "Set the variable to a valid Java installation"

fi

else

chmod 755 ./x10flasher_lib/adb.mac

chmod 755 ./x10flasher_lib/fastboot.mac

chmod 755 ./x10flasher_lib/unyaffs.mac

export DYLD_LIBRARY_PATH=./x10flasher_lib/mac/lib64:$DYLD_LIBRARY_PATH

export DYLD_LIBRARY_PATH=./x10flasher_lib/mac/lib32:$DYLD_LIBRARY_PATH

ln -sf libusbx-1.0.0.dylib ./x10flasher_lib/mac/lib64/libusbx-1.0.dylib

ln -sf libusbx-1.0.0.dylib ./x10flasher_lib/mac/lib32/libusbx-1.0.dylib

ISJAVA6=$(java -version 2>&1|grep version|grep 1.6|wc -l)

ISJAVA7=$(java -version 2>&1|grep version|grep 1.7|wc -l)

ISJAVA64=$(java -version 2>&1|grep 64-Bit|wc -l)

if test $ISJAVA64 -gt 0

then

ln -sf swt64.jar ./x10flasher_lib/swtmac/swt.jar

else

ln -sf swt32.jar ./x10flasher_lib/swtmac/swt.jar

fi

if test $ISJAVA6 -gt 0 -o $ISJAVA7 -gt 0

then

java -XstartOnFirstThread -Xms128m -Xmx512m -Duser.country=US -Duser.language=en -jar x10flasher.jar

else

echo "Java version must be 1.6 or 1.7"

fi

fi

let me know how you get on :good:

-- deagon

***EDIT*** I found a downside. The the new script/launcher is going to find and use either the old libusb or libusbx so it may create more problems than it solves for some users if they dont install libusbx before using flashtool.

Another problem will arise if the distro's libusbx package maintainers havent over written the old libusb libs to use libusbx as a drop in replacement like on arch and fedora 19 (i checked inside the fedora libusbx package before) because the changed script/launcher will likely link to libusb before libusbx if they are sitting next to each other.