[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#35650: [PATCH] Improving HP-UX support

From: Paul Eggert
Subject: bug#35650: [PATCH] Improving HP-UX support
Date: Sat, 11 May 2019 16:14:57 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1

Thanks for the bug report. I installed the attached patches to coreutils on savannah to fix some (but not all) of the bugs, and some other C99-related bugs I noticed, and have some further comments and questions.

On 5/9/19 5:50 AM, Osipov, Michael wrote:

* basenc.c: HP aCC does not allow anonymous unions inside structs,

Fixed in the 3rd attached patch, in a slightly-different way.

* blake2/blake2.h: __attribute__((packed)) does not exist in HP aCC, use #pragma pack

As near as I can make out, that code (a) doesn't need the packed attribute on any popular platform, and (b) wouldn't be portable among Standard C platforms even if Standard C had the packed attribute. I'll try to follow up with the BLAKE2 folks and CC: here.

* copy.c, mkfifo.c: disable SELinux code if it is not available

As you noted, this patch isn't needed (the code builds without it) so let's omit the patch.

* system.h: use __attribute(x) on a GNU-style compiler only
* configure.ac, local.mk: use HP aCC-style linker options for libstdbuf

I don't see why these patches are needed. 'configure' should arrange for libstdbuf to be built only if you are using GCC. If libstdbuf is being built when you use HP-UX aCC, that suggests there is a bug in 'configure.ac' and we should fix that bug rather than try to port libstdbuf to HP-UX.

FORCE_UNSAFE_CONFIGURE=1 gl_cv_have_include_next=no ac_cv_func_getacl=no ac_cv_func_aclsort=no ac_cv_header_sys_bitypes_h=no $CONFIGURE
gmake install

Why do you need all those flags and why do you need to use gmake? Plain './configure; make' should work. The fact that you need those flags suggests that there is a bug in configure.ac, and it'd be better to fix the underlying bug than to try to paper around it (and possibly introduce further bugs).

* I have disabled the compilation of b2sum completely because gmake repeatedly quits with:
gmake[2]: *** No rule to make target '/var/tmp/AAA000546.i', needed by 'src/b2sum-md5sum.o'.  Stop.
gmake[2]: Leaving directory '/tmp/system-compile/gnu/coreutils-8.31'
gmake[1]: *** [Makefile:12647: all-recursive] Error 1
gmake[1]: Leaving directory '/tmp/system-compile/gnu/coreutils-8.31'
gmake: *** [Makefile:6827: all] Error 2

Presumably your top-level Makefile is messed up somehow. Please investigate the rule for building b2sum that is in 'Makefile', and try to figure out how it got corrupted. It might be a bug in the way 'configure' calls 'sed', or a bug in your 'sed' or 'awk' implementation.

* The configuration of PIC and shared library is for HP-UX now. At best autotools would determine that with some default m4 file.
Plain './configure; make' should work and if it doesn't work we should fix it. Normally it does not build shared libraries or try to use PIC; although you can arrange for it to do so that is lower priority for us.

Attachment: 0001-build-update-gnulib-submodule-to-latest.patch
Description: Text Data

Attachment: 0002-maint-adjust-to-recent-verify_true-removal.patch
Description: Text Data

Attachment: 0003-basenc-port-to-C99.patch
Description: Text Data

Attachment: 0004-cp-port-fiemap.h-to-C99.patch
Description: Text Data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]