pkgsrc-Users archive

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

Re: Error compiling GNU Guile 2.2.5 under Linux



Hi David,

Thanks for your answer. I commented out the file in PLIST and guile 2.2.5 compiled and installed correctly.

Also, there are several packages with the same file in their PLIST configuration:

$ grep -Ril charset.alias ./*/*/PLIST
./converters/libiconv/PLIST
./cross/arm-none-eabi-gdb/PLIST
./mail/dovecot2/PLIST
./sysutils/amanda-common/PLIST
./sysutils/grub2/PLIST
./www/elinks/PLIST

I suspect "libiconv", "grub2", "dovecot2" and "amanda-common" are probably going to be the most important packages for most users.

The package "libiconv" in particular is a dependency in a lot of other packages, unless I am mistaken:

$ grep -Ril libiconv ./*/*/Makefile | wc -l
311

BUT... The interesting thing is that a dumb "bmake && bmake install" compiles libiconv without any issue:

=> Automatic manual page handling
=> Generating post-install file lists
=> Checking file-check results for libiconv-1.14nb3
=> Creating binary package /opt/pkgsrc/pkgsrc/converters/libiconv/work/.packages/libiconv-1.14nb3.tgz
===> Building binary package for libiconv-1.14nb3
=> Creating binary package /opt/pkgsrc/pkgsrc/packages/All/libiconv-1.14nb3.tgz
===> Installing binary package of libiconv-1.14nb3
libiconv-1.14nb3: copying /opt/pkg/share/examples/libiconv/charset.alias to /opt/pkg/lib/charset.alias

Is it possible that libiconv is required to obtain this "charset.alias" file?

This is very confusing to me, any help would be greatly appreciated!

-- N.

Le dim. 1 sept. 2019 à 02:23, David H. Gutteridge <david%gutteridge.ca@localhost> a écrit :
On Wed, 28 Aug 2019, at 20:32:19 +0200, Noryungi wrote:
> I am trying to set up a compile server to try pbulk, under Slackware
> Linux, and I bumped into the following error.
>
> Compile server:
>
> Slackware Linux 14.2
> Linux 4.4.190 x86_64
> Installed with all the latest patches + kernel.
>
> Using pkgsrc 2019Q2, in an unprivileged configuration.
>
> My pkgsrc directory is /opt/pkgsrc
> The (unprivileged) destination directory is /opt/pkg
>
> I can compile some utilities already (ncdu, mtr, etc).
>
> However, trying to compile GNU Guile 2.2.5 within a chroot environment
> gives me:
>
> $ bmake && bmake install
> (... Lots of text removed here ...)
> => Automatic manual page handling
> => Generating post-install file lists
> pkg_create: can't stat
> `/opt/pkgsrc/pkgsrc/lang/guile22/work/.destdir/opt/pkg/guile/2.2/lib/c
> harset.alias'
> => Checking file-check results for guile22-2.2.5
> ERROR: ************************************************************
> ERROR: The following files are in the PLIST but not in
> /opt/pkgsrc/pkgsrc/lang/guile22/work/.destdir/opt/pkg:
> ERROR:         /opt/pkgsrc/pkgsrc/lang/guile22/work/.destdir/opt/pkg/g
> uile/2.2/lib/charset.alias
> *** Error code 1
>
> Stop.
> bmake[1]: stopped in /opt/pkgsrc/pkgsrc/lang/guile22
> *** Error code 1
>
> Stop.
> bmake: stopped in /opt/pkgsrc/pkgsrc/lang/guile22
>
> Trying to compile GNU Guile 2.2.5 *outside* of the chroot environment:
>
> $ bmake clean && bmake distclean
> $ bmake && bmake install
> ( ... etc ... )
> => Automatic manual page handling
> => Generating post-install file lists
> pkg_create: can't stat
> `/opt/pkgsrc/pkgsrc/lang/guile22/work/.destdir/opt/pkg/guile/2.2/lib/c
> harset.alias'
> => Checking file-check results for guile22-2.2.5
> ERROR: ************************************************************
> ERROR: The following files are in the PLIST but not in
> /opt/pkgsrc/pkgsrc/lang/guile22/work/.destdir/opt/pkg:
> ERROR:         /opt/pkgsrc/pkgsrc/lang/guile22/work/.destdir/opt/pkg/g
> uile/2.2/lib/charset.alias
> *** Error code 1
>
> Stop.
> bmake[1]: stopped in /opt/pkgsrc/pkgsrc/lang/guile22
> *** Error code 1
>
> Stop.
> bmake: stopped in /opt/pkgsrc/pkgsrc/lang/guile22
>
> The exact same error message makes me think there is an issue with
> this package, and not with my setup.
>
> The "charset.alias" file is, indeed, in the PLIST, but not in the
> "work" directory:
>
> $ ls -alhF work/.destdir/opt/pkg/guile/2.2/lib/*charset*
> ls: cannot access 'work/.destdir/opt/pkg/guile/2.2/lib/*charset*': No
> such file or directory
>
> $ ls -alhF work/.destdir/opt/pkg/guile/2.2/lib/*.alias
> ls: cannot access 'work/.destdir/opt/pkg/guile/2.2/lib/*.alias': No
> such file or directory
>
> Any idea on how to correct this issue? Many thanks in advance.

Hello,

You're quite right, the issue is with the package, not your setup. I
can reproduce this on Debian Stretch and Fedora 30. The short answer is
that you can simply comment out or remove that particular entry in the
PLIST, and you'll be fine.

What's happening is the configuration determines whether to install
that one specific file depending on the OS and OS release. For modern
Linux with glibc (and MacOS X from the past fifteen years), it doesn't
deem it necessary, whereas for anything else, it installs it. I can add
a specific check and PLIST variable to the package to handle this
difference.

Regards,

Dave




Home | Main Index | Thread Index | Old Index