Armin K. wrote:
> On 07/14/2012 10:51 AM, Armin K. wrote:
>> On 07/14/2012 01:30 AM, Bruce Dubbs wrote:
>>> OK, here is my first trial build of udev from systemd.
>>>
>>> These are the instructions:
>>>
>>> wget http://www.freedesktop.org/software/systemd/systemd-186.tar.xz
>>> tar -xf systemd-186.tar.xz
>>> cd systemd-186
>>>
>>> tar -xf ../udev-lfs-186.tar.bz2
>>>
>>> make -f udev-lfs-186/Makefile.lfs
>>> make -f udev-lfs-186/Makefile.lfs DESTDIR=/tmp/udev install
>>>
>>> The build time on my system is about 10 seconds.  It builds in chroot
>>> for a fresh system I built a couple of days ago, but I have not actually
>>> tried to boot with it yet.
>>>
>>> I'll keep testing, but would appreciate feedback.
>>>
>>>      -- Bruce
>>>
>>>
>>
>> Hi there. I just got to test it. It ends up with an error:
>>
>> $ make -f udev-lfs-186/Makefile.lfs
>> CC src/shared/util.c
>> src/shared/util.c: In function ‘parse_bytes’:
>> src/shared/util.c:2867:17: error: overflow in implicit constant
>> conversion [-Werror=overflow]
>> src/shared/util.c:2868:17: error: overflow in implicit constant
>> conversion [-Werror=overflow]
>> src/shared/util.c:2869:17: error: overflow in implicit constant
>> conversion [-Werror=overflow]
>> src/shared/util.c: In function ‘format_bytes’:
>> src/shared/util.c:5441:17: error: overflow in implicit constant
>> conversion [-Werror=overflow]
>> src/shared/util.c:5442:17: error: overflow in implicit constant
>> conversion [-Werror=overflow]
>> src/shared/util.c:5443:17: error: overflow in implicit constant
>> conversion [-Werror=overflow]
>> cc1: some warnings being treated as errors
>> make: *** [build/util.o] Error 1
>>
>> It's x86 LFS.

I looked at the code and it's wrong for 32 bit systems.  They use off_t 
where it needs to use uint64_t.  The error cascades, but we don't use 
the two functions in udev anyway.

>> Other thing that I dislike is shipping .la file. Those files are
>> UNNECESARY in every context. You are not building udev with libtool so
>> that file is pointless. Just look at files that don't use autotools,
>> they don't have .la files, but they work very great. BLFS talloc, mysql,
>> most packages that use cmake don't have .la files, but work  very well.

I thought about that a little, but don't know enough about libtool to 
make a change.  I was just emulation upstream for this.

>> Also, shipping rules in the archive is really nice, avoids having 2
>> archives. I would suggest you look at Debian's write_dev_root_rule. That
>> one had to be started before udevadm settle and after udevd. It symlinks
>> /dev/root to whatever partition that is set as root partition (/). I had
>> some problems with grub-install without that one. Also with
>> grub-mkconfig ...



> I found the error. It's 32bit specific problem only. You need to add
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 to CFLAGS. See
> http://comments.gmane.org/gmane.comp.sysutils.systemd.devel/4897

OK, does just adding those to the defines in the Makefile.lfs fix it for 
you?

> Another stuff
>
>         -DUSB_DATABASE=0                  \
>         -DPCI_DATABASE=0                  \
>
> You can safely add here path to usb.ids and pci.ids ... It won't fail in
> building, nor at runtime. It will just print a warning if they don't
> exist. That was the requirement of pciutils and usbutils, just to find
> the location of such files.

I'll do that.  I'll check to see if the full path is needed.

   -- Bruce




-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to