chiark / gitweb /
journal: systemd v38 fails to build on big-endians
authorDan Horák <dan@danny.cz>
Thu, 19 Jan 2012 11:42:53 +0000 (12:42 +0100)
committerLennart Poettering <lennart@poettering.net>
Sat, 21 Jan 2012 02:48:26 +0000 (03:48 +0100)
commitce3fd7e72a1b101002617bd410031e65d290f56f
tree139630c73096829d750993e1c66f02903e0f4ab9
parentd1f262fa46a1ae9450d3a9aa1f103a16120de350
journal: systemd v38 fails to build on big-endians

Hi,

during the builds for Fedora/s390x I've found that systemd v38 fails to
build on big-endian platforms.

...
make[2]: Entering directory `/root/systemd'
  CC     src/journal/libsystemd_journal_la-sd-journal.lo
src/journal/sd-journal.c: In function 'init_location':
src/journal/sd-journal.c:69:22: error: incompatible types when
initializing type 'long unsigned int' using type 'sd_id128_t'
src/journal/sd-journal.c:69:20: error: incompatible types when assigning
to type 'sd_id128_t' from type 'long unsigned int'
make[2]: *** [src/journal/libsystemd_journal_la-sd-journal.lo] Error 1

I see the problem in using le64toh() on the 16 bytes boot_id structure
in init_location()

Please see
http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=544375 for a
full build log and attachment for a proposed fix.

With regards

Dan
src/journal/sd-journal.c