CFT #3: Re: linux libusb again... (now also for 10i386)
Juergen Lock
nox at jelal.kn-bremen.de
Sat Mar 15 21:33:15 UTC 2014
Hi!
I now have changed my port to use devel/linux-f10-devtools instead of
emulators/linux_base-gentoo-stage3 (you need linux-f10-devtools-10_1
because of http://www.freebsd.org/cgi/query-pr.cgi?pr=187609 ),
which not only allows it to build outside of tb/powderkeg but also
works around the missing 10i386 package issue:
http://people.freebsd.org/~nox/tmp/linux_libusb-002.shar
Packages:
http://people.freebsd.org/~nox/tmp/packages/10amd64/linux_libusb-11.0r261448_1.txz
http://people.freebsd.org/~nox/tmp/packages/10i386/linux_libusb-11.0r261448_1.txz
(Seems you can also manually untar them and use them on 9.x,
at least Linux lsusb seems to do something on 9.2/amd64 too.)
Happy testing... :)
Juergen
On Mon, Mar 03, 2014 at 07:18:25PM +0100, Juergen Lock wrote:
> HPS found out what was wrong, the linux libusb needs to be built
> with COMPAT_32BIT=YES on amd64 since the linuxolator is 32bit...
> Using this packages Linux lsusb finally does something.
>
> So I updated the shar and package at the locations listed below,
> please test! :)
>
> Thanx,
> Juergen
>
> On Wed, Feb 12, 2014 at 12:20:48AM +0100, Juergen Lock wrote:
> > On Tue, Feb 11, 2014 at 07:56:50PM +0000, Wojciech A. Koszek wrote:
> > > On Tue, Feb 11, 2014 at 12:11:09AM +0100, Juergen Lock wrote:
> > > > On Mon, Feb 10, 2014 at 11:06:27AM +0000, Bjoern A. Zeeb wrote:
> > > > >
> > > > > On 10 Feb 2014, at 04:18 , Wojciech A. Koszek <wkoszek at FreeBSD.org> wrote:
> > > > >
> > > > > > On nie, lut 09, 2014 at 02:59:06 +0100, Juergen Lock wrote:
> > > > > >> On Sun, Feb 09, 2014 at 02:56:24AM +0000, Wojciech A. Koszek wrote:
> > > > > >>> On sob, lut 08, 2014 at 09:45:46 +0100, Juergen Lock wrote:
> > > > > >>>> On Fri, Feb 07, 2014 at 08:49:28PM +0000, Wojciech A. Koszek wrote:
> > > > > >>>>> On pi??, lut 07, 2014 at 09:12:08 +0100, Juergen Lock wrote:
> > > > > >>>>>> Hi!
> > > > > >>>>>>
> > > > > >>>>>> This came up on irc so I tried to build a linux libusb port (before
> > > > > >>>>>> I learned about ports/146895), mine uses linux_base-gentoo-stage3
> > > > > >>>>>> like linux_kdump with a src/lib/libusb head snapshot so it's more
> > > > > >>>>>> up to date than wkoszek's build (ports/146895), and it's really
> > > > > >>>>>> easy to update it again. Also maybe it can be used as linux
> > > > > >>>>>> libusb-1.0.so too; I didn't actually test it tho.
> > > > > >>>>>>
> > > > > >>>>>> Should this be committed? Is wkoszek's version better since it
> > > > > >>>>>> also builds on < 10.x? Comments welcome...
> > > > > >>>>>>
> > > > > >>>>>> wkoszek's version:
> > > > > >>>>>>
> > > > > >>>>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=146895
> > > > > >>>>>>
> > > > > >>>>>> Mine:
> > > > > >>>>>>
> > > > > >>>>>> http://people.freebsd.org/~nox/tmp/linux_libusb.shar
> > > > > >>>>>>
> > > > > >>>>>> Distfile:
> > > > > >>>>>>
> > > > > >>>>>> http://people.freebsd.org/~nox/tmp/distfiles/linux_libusb-11.0r261448.tar.bz2
> > > > > >>>>>>
> > > > > >>>>>> 10/amd64 package:
> > > > > >>>>>>
> > > > > >>>>>> http://people.freebsd.org/~nox/tmp/packages/10amd64/linux_libusb-11.0r261448.txz
> > > > > >>>>>>
> > > > > >>>>>> (built via:
> > > > > >>>>>>
> > > > > >>>>>> poudriere bulk -v -j 10amd64 -p custom devel/linux_libusb
> > > > > >>>>>>
> > > > > >>>>>> - btw for some reason the dependency emulators/linux_base-gentoo-stage3
> > > > > >>>>>> doesn't build for 10i386 in poudriere bulk, I get a pkg segfault. bapt
> > > > > >>>>>> Cc'd...)
> > > > > >>>>>>
> > > > > >>>>>
> > > > > >>>>> Juergen,
> > > > > >>>> Hi!
> > > > > >>>>>
> > > > > >>>>> What would be the reason for this update?
> > > > > >>>>>
> > > > > >>>>> My stuff may be out of date, but it was all tested and working. I verified
> > > > > >>>>> it with Linux'ish lsusb(1) and USB-based FPGA JTAG programmer, for which
> > > > > >>>>> this stuff was written.
> > > > > >>>>>
> > > > > >>>> I was just thinking an updated version may be useful, but if it's
> > > > > >>>> already working for everyone maybe less so...
> > > > > >>>>
> > > > > >>>> Or would it work as a linux libusb-1.0.so too? I know the libusb 1.0
> > > > > >>>> stuff added some functions since 9.x at least... maybe hps would know
> > > > > >>>> (Cc'd.)
> > > > > >>>>
> > > > > >>>
> > > > > >>> Juergen,
> > > > > >>>
> > > > > >>> I think this package is useful and is looking for maintainer, so if you have
> > > > > >>> time and energy, I'm OK with upgrading it, but I suggest testing it first.
> > > > > >>> Bjoern might be interested too.
> > > > > >>>
> > > > > >> You mean bz@ ? Cc'd. I tried testing lsusb from debian sid but it printed
> > > > > >> nothing, neither with my nor with your older version, but maybe it's just
> > > > > >> `too new' for our current linuxolator.
> > > > > >
> > > > > > I assume you have at least 1 USB device while trying this. I don't remember
> > > > > > exactly, but while trying within Linuxolator, you may need devfs/procfs to
> > > > > > be mounted under Linuxolator's root directory.
> > > > >
> > > > > My understanding and from looking at trace is that if we cannot find it in /compat/linux we ale search in /; so no need for an extra mount unless maybe you run chrooted.
> > > > >
> > > > >
> > > > > > So you'll have to figure this out.
> > > > > >
> > > > > > Does it return with 0 exit code?
> > > > > >
> > > > > > If not, lsusb should be simple enough to let you place printf() all over the
> > > > > > place and understand out when it's failing.
> > > > >
> > > > > For me the problem was a clock_gettime() call in the libusb which my glibc did not provide. That made all things fail (silently) until I used linux ?rtld" tracing to see the unresolved symbol from libusb/the commercial 3rd party software dynamically loading libusb.
> > > > >
> > > > And my linux_kdump ends like this:
> > > >
> > > > 35607 lsusb CALL munmap(0x28247000,0x8000)
> > > > 35607 lsusb RET munmap 0
> > > > 35607 lsusb CALL linux_open(0x28090c31,0,0x28081e00)
> > > > 35607 lsusb NAMI "/compat/linux/dev/usbctl"
> > > > 35607 lsusb NAMI "/dev/usbctl"
> > > > 35607 lsusb RET linux_open 3
> > > > 35607 lsusb CALL linux_ioctl(0x3,0xffe5 ,0xffffc5d8)
> > > > 35607 lsusb RET linux_ioctl 0
> > > > 35607 lsusb CALL close(0x3)
> > > > 35607 lsusb RET close 0
> > > > 35607 lsusb CALL linux_exit_group(0x1)
> > > > 35607 lsusb UNKNOWN(11)
> > > >
> > > > and the exit code is 1, so I guess it's failing on an unhandled
> > > > syscall or something like that.
> > >
> > > Juergen
> > >
> > > Can you send the full trace with all eventual child processes? If you could
> > > copy&paste:
> > >
> > > open libusb
> > > for each bus
> > > for each device
> > > open device
> > >
> > > to a separate program, we could make it libusb/Linuxolator regression test.
> > > This would also help us match ptrace<->line number output.
> > >
> > There are no child processes and it seems it doesn't even get to
> > enumerate buses, i.e. the /dev/usbctl above is the only usb-related
> > thing it opens. I've put the full kdump here:
> >
> > http://people.freebsd.org/~nox/tmp/lsusb.kdump.txt.xz
> >
> > (don't be surprised about the libz.so.1 path, the one from fc10
> > was too old so I had to point LD_LIBRARY_PATH at debian's one
> > I copied.)
> >
> > > Which FreeBSD are you using?
> > >
> > 10.0-r.
> >
> > > This may indicate some relationship with
> > >
> > > http://www.freebsd.org/cgi/query-pr.cgi?pr=141439
> > >
> > Well at least 10.0 should have that fix already.
> >
> > Maybe I can find an older (fc10?) lsusb later...
> >
> > Thanx,
> > Juergen
More information about the freebsd-emulation
mailing list