[Top][All Lists]

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

Re: [Info-mtools] mtools-4.0.32 build feedback

From: Alain Knaff
Subject: Re: [Info-mtools] mtools-4.0.32 build feedback
Date: Sat, 17 Jul 2021 19:31:52 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0


On 10/07/2021 20:23, Nelson H. F. Beebe wrote:
> I got successful builds and installations of mtools-4.0.32 on 14
> platforms in our lab, includind CentOS 5, 7, and 8, Debian 7, RedHat
> 8, Oracle 7 and 8, and Ubuntu 20.04 O/Ses on ia-64, MIPS R5000, and
> x86_64,

Thanks for this feedback. I've now made a 4.0.33 version which should
address most of the issues.

> However, on two versions of macOS on x86_64, and FreeBSD 13 on i686
> and x86_64, I got this compilation failure:
>       remap.c:94:13: error: use of undeclared identifier 'EBADR'
>                               errno = EBADR;

It turned out that this was the wrong errno code for the purpose
anyways. I've now replaced it with EFAULT, which is a better fit ("Bad
address" which normally applies to memory, but in this case means bad
zone in a file read / written to), and has more universal support.

> On CentOS 6 x86_64 with native gcc-4.8.5, I got this failure:
>       /usr/bin/cc -DHAVE_CONFIG_H -DSYSCONFDIR=\"/usr/local/etc\"
>       -DCPU_x86_64 -DVENDOR_pc -DOS_linux_gnu -g -O2 -Wall
>       -fno-strict-aliasing -I.  -I.  -c config.c
>       config.c: In function 'get_env_conf':
>       config.c:265: error: #pragma GCC diagnostic not allowed inside functions
>       config.c:266: error: #pragma GCC diagnostic not allowed inside functions
>       config.c:285: error: #pragma GCC diagnostic not allowed inside functions
>       config.c: In function 'set_var':
>       config.c:515: error: #pragma GCC diagnostic not allowed inside functions
>       config.c:516: error: #pragma GCC diagnostic not allowed inside functions
>       config.c:540: error: #pragma GCC diagnostic not allowed inside functions

I've now moved these outside of the functions (i.e. pushed before the
function, and popped after it), rather than directly around the target
instructions. Warnings may still occur on older versions of gcc, but at
least no hard errors.

> I did a fresh build with gcc-5.5.0 (thanks to my having built many
> versions of gcc on our systems from versions 2 to 12), and that
> succeeded.
> On Solaris 11.4 x86_64 with native Sun /usr/bin/cc, I had to add -lnsl
> to the LIBS variable to resolve this problem

I'm now using the AX_LIB_SOCKET_NSL macro, which is meant to fix the issue.

> However, that was not enough, because compilation then died with
>       devices.c:395:10: fatal error: sys/fdio.h: No such file or directory
>        #include <sys/fdio.h>

Apparently, in Solaris 11, they dropped floppy support (D'oh), and thus
this include no longer exist. I now test for presence of this file
specifically in the configure script.

> I retried the build with CC set to the Oracle-supplied /usr/bin/gcc
> (10.2.0), but that too failed because of that missing header file.
> -------------------------------------------------------------------------------
> - Nelson H. F. Beebe                    Tel: +1 801 581 5254                  
> -
> - University of Utah                    FAX: +1 801 581 4148                  
> -
> - Department of Mathematics, 110 LCB    Internet e-mail:  
> -
> - 155 S 1400 E RM 233              
> -
> - Salt Lake City, UT 84112-0090, USA    URL: 
> -
> -------------------------------------------------------------------------------



reply via email to

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