Re: di fails to build

Scott Hannahs via Fink-users <[email protected]> Wed, 8 May 2024 10:13:40 -0400
Newsgroups gmane.os.apple.fink.general
Message-ID <[email protected]>

> On May 8, 2024, at 09:20, Derek Homeier <[email protected]> wrote:
> 
> On 8 May 2024, at 3:31 AM, Scott Hannahs via Fink-users <[email protected]> wrote:
>> 
>> It seems that it is hardwired to look for /usr/local/share/locale.  I tried to redirect it to /opt/sw/share/locale but that did not work for some reason.
>> 
> It is built with `prefix=/opt/sw`; I *think* that should work, otherwise probably would be broken
> already on older system versions.
> 
>> The mkcl.sh script that it uses is not very informative of why something failed.   As you can see below COMPILE … fail.
>> 
>> -Scott
>> 
>> Attempt to build on Sonoma 14.4.1:
>> 
>> COMPILE didiskutil.c ... ok
>> COMPILE digetentries.c ... fail
>> make[2]: *** [digetentries.o] Error 1
>> make[1]: *** [all-sh] Error 2
>> make: *** [all] Error 2
>> ### execution of prefix=$i failed, exit code 2
>> ### execution of /tmp/fink.VmG0M failed, exit code 2
>> Removing runtime build-lock...
>> Removing build-lock package...
>> /opt/sw/bin/dpkg-lockwait -r fink-buildlock-di-4.52-1
>> (Reading database ... 392371 files and directories currently installed.)
>> Removing fink-buildlock-di-4.52-1 (2024.05.07-21.14.29) ...
>> Failed: phase compiling: di-4.52-1 failed
>> 
> That script is maximally non-verbose really, but changing to
> disp="${disp}COMPILE ${cmd} … “
> 
> I could nail the error down to
> 
> cc -O2 -I/opt/sw/include -Os -DDI_LOCALE_DIR=\"/opt/sw/share/locale\" -fno-common -Wextra -Wno-unused-but-set-variable -Wno-unused-parameter -Wno-unknown-pragmas -Wno-float-equal -Wno-shift-sign-overflow -Wno-stringop-overflow -Wno-stringop-truncation -Wno-poison-system-directories -Wformat -Wformat-security -Werror=format-security -Werror,-Wunused-command-line-argument -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-protector-all -DPIE -fPIE -Wno-unknown-warning-option -Weverything -Wno-padded -Wno-format-nonliteral -Wno-cast-align -Wno-system-headers -Wno-disabled-macro-expansion -c digetentries.c ... fail
> 
> digetentries.c:180:11: warning: 'USE_ETC_FILESYSTEMS' is not defined, evaluates to 0 [-Wundef]
> #     if (USE_ETC_FILESYSTEMS)
>          ^
> digetentries.c:580:22: error: variable has incomplete type 'struct mnttab'
>    struct mnttab    mntEntry;
>                     ^
> digetentries.c:580:12: note: forward declaration of 'struct mnttab'
>    struct mnttab    mntEntry;
>           ^
> digetentries.c:590:39: error: invalid application of 'sizeof' to an incomplete type 'struct mnttab'
>    while (fread ((char *) &mntEntry, sizeof (struct mnttab), 1, f) == 1)
>                                      ^      ~~~~~~~~~~~~~~~
> digetentries.c:580:12: note: forward declaration of 'struct mnttab'
>    struct mnttab    mntEntry;
>           ^
> digetentries.c:600:45: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
>                    sizeof (diDiskInfo_t) * *diCount);
>                                          ~ ^~~~~~~~
> digetentries.c:616:6: warning: '_mem_struct_mnttab_mntopts' is not defined, evaluates to 0 [-Wundef]
> # if _mem_struct_mnttab_mntopts
>     ^
> 3 warnings and 2 errors generated.
> 
> 
> Don’t know if setting USE_ETC_FILESYSTEMS can somehow be patched around here or if that is a
> more fundamental conflict with 14.x/Xcode 15 headers.
> 
> HTH
> 			Derek

Derek,
Thanks!  I will try to dig into if di should have USE_ETC_FILESYSTEMS set or not. I think that variable is specific to the di project.  The fact that it is not set during the configure stage either True or False seems to be a fundamental issue.

-Scott





_______________________________________________
Fink-users mailing list
[email protected]
List archive:
https://sourceforge.net/p/fink/mailman/fink-users/
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-users