Não tenho certeza do que você está tentando alcançar; você precisa da libusb para trabalhar tanto em 32 quanto em 64 bits? Ou apenas um deles? Em qualquer caso, a biblioteca deve ser instalada especificamente para a arquitetura correta. O comando de instalação, por padrão, instalaria apenas sua versão "própria" da biblioteca. Você pode dizer especificamente para instalar as duas versões:
sudo apt-get install libusb-1.0-0-dev:i386
sudo apt-get install libusb-1.0-0-dev:amd64
para 32 e 64 bits, respectivamente. Você também pode verificar diretamente os arquivos da biblioteca, no meu sistema (16.04) que eles vivem em
32bit: /usr/lib/i386-linux-gnu/
64bit: /usr/lib/x86_64-linux-gnu
(se você estiver em dúvida, dpkg-query -L libusb-1.0-0-dev
mostra onde eles estão instalados.)
Quanto à libusb que você compilou, você precisa saber que está usando a versão correta ao vincular seu programa. Talvez você esteja mixando versões de 32 e 64 bits em / usr / local / lib? gcc / ld não saberia mantê-los separados então.
Quanto à sessão de depuração, o gdb está apenas tentando mostrar as linhas de origem, mas não sabe onde encontrar os arquivos de origem da biblioteca. Caso contrário, não vejo nada que esteja obviamente errado aqui.