XZ utils fails to build from source on hurd/x86

View: New views
2 Messages — Rating Filter:   Alert me  

XZ utils fails to build from source on hurd/x86

by Jonathan Nieder :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Larhzu and Hurd porters,

XZ utils fails to build on the Hurd, with the following message [1]:

src/liblzma/check/crc32_x86.S: Assembler messages:
src/liblzma/check/crc32_x86.S:280: Error: character following name is not '#'
src/liblzma/check/crc32_x86.S:282: Error: unknown pseudo-op: `.indirect_symbol'
make[6]: *** [liblzma_la-crc32_x86.lo] Error 1

I am no expert in these things, but it looks as though the assembly
code checks for Mach-O format with __MACH__, but Hurd, which uses ELF,
defines that symbol to convey it uses the Mach microkernel. If this is
right, what preprocessor symbol should be checked instead?

Unrelated, but while I have your attention I thought I should ask: the
same files emit a .note.GNU-stack section for a non-executable stack
only if __ELF__ and __linux__ are defined. Is there a better
conditional to use to make that work more widely?

I look forward to your thoughts.  (I am not subscribed to the
debian-hurd mailing list, so please CC me when appropriate.)

Regards,
Jonathan

[1] Full log:
<https://buildd.debian.org/fetch.cgi?pkg=xz-utils;ver=4.999.9beta%2B20091004-1;arch=hurd-i386;stamp=1255937440>
The sources built correspond to commit ebfb2c5 in xz.git.


--
To UNSUBSCRIBE, email to debian-hurd-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: XZ utils fails to build from source on hurd/x86

by Samuel Thibault-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

Jonathan Nieder, le Mon 19 Oct 2009 16:09:22 -0500, a écrit :
> I am no expert in these things, but it looks as though the assembly
> code checks for Mach-O format with __MACH__, but Hurd, which uses ELF,
> defines that symbol to convey it uses the Mach microkernel. If this is
> right, what preprocessor symbol should be checked instead?

I have usually seen people using #if defined(__APPLE__) && defined(__MACH__)

> Unrelated, but while I have your attention I thought I should ask: the
> same files emit a .note.GNU-stack section for a non-executable stack
> only if __ELF__ and __linux__ are defined. Is there a better
> conditional to use to make that work more widely?

Mmm, I'd tend to think that if defined(__ELF__) && defined(__GLIBC__)
should be fine.

Samuel


--
To UNSUBSCRIBE, email to debian-hurd-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...