pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg_create fails for math/octave
On Wed, Mar 05, 2014 at 15:37:13 -0800, Iain Morgan wrote:
> Hello,
>
> With the 2013Q4 pkgsrc snapshot on SLES 11, pkg_create fails for
> math/octave.
>
> There seem to be two issues:
>
> - The PLIST file refers to charset.alias which does not exist.
> - There is a discrepency in the directory structure generated
> from the PLIST and the actual directory structure.
>
> The only occurence of charset.alias under the work directory is:
>
> ./work/octave-3.6.4/libgnu/charset.alias
>
> It is, indeed, missing from under work/.destdir, but I'm not sure why.
>
> The discrepancy in the directory structure is in the name of a single
> directory in the path: x86_64-unknown-linux vs.
> x86_64-unknown-linux-gnu.
>
> /u/imorgan/work/math/octave/work/.tools/bin/mkdir -p
> /u/imorgan/work/math/octave/work/.destdir/u/imorgan/pkg/s
> hare/octave/site/m
> /u/imorgan/work/math/octave/work/.destdir/u/imorgan/pkg/share/octave/site/api-v48+/m
> /u/imo
> rgan/work/math/octave/work/.destdir/u/imorgan/pkg/share/octave/3.6.4/site/m
> /u/imorgan/work/math/octave/work/.
> destdir/u/imorgan/pkg/lib/octave/site/oct/x86_64-unknown-linux-gnu
> /u/imorgan/work/math/octave/work/.destdir/u
> /imorgan/pkg/lib/octave/site/oct/api-v48+/x86_64-unknown-linux-gnu
> /u/imorgan/work/math/octave/work/.destdir/u
> /imorgan/pkg/lib/octave/3.6.4/site/oct/x86_64-unknown-linux-gnu
> /u/imorgan/work/math/octave/work/.destdir/u/im
> organ/pkg/libexec/octave/site/exec/x86_64-unknown-linux-gnu
> /u/imorgan/work/math/octave/work/.destdir/u/imorga
> n/pkg/libexec/octave/api-v48+/site/exec/x86_64-unknown-linux-gnu
> /u/imorgan/work/math/octave/work/.destdir/u/i
> morgan/pkg/libexec/octave/3.6.4/site/exec/x86_64-unknown-linux-gnu
> /u/imorgan/work/math/octave/work/.tools/bin/mkdir -p
> '/u/imorgan/work/math/octave/work/.destdir/u/imorgan/pkg
> /include/octave-3.6.4/octave'
> /usr/bin/install -c -o imorgan -g cstaff -m 644 config.h
> '/u/imorgan/work/math/octave/work/.destdir/u/imorgan
> /pkg/include/octave-3.6.4/octave'
> /u/imorgan/work/math/octave/work/.tools/bin/mkdir -p
> '/u/imorgan/work/math/octave/work/.destdir/u/imorgan/pkg
> /share/octave/3.6.4/etc'
> /usr/bin/install -c -o imorgan -g cstaff -m 644 NEWS
> '/u/imorgan/work/math/octave/work/.destdir/u/imorgan/pkg
> /share/octave/3.6.4/etc'
> make[3]: Leaving directory
> `/nobackupnfs2/imorgan/pkgsrc/2013Q4/workdir/math/octave/work/octave-3.6.4'
> make[2]: Leaving directory
> `/nobackupnfs2/imorgan/pkgsrc/2013Q4/workdir/math/octave/work/octave-3.6.4'
> make[1]: Leaving directory
> `/nobackupnfs2/imorgan/pkgsrc/2013Q4/workdir/math/octave/work/octave-3.6.4'
> => Automatic manual page handling
> pkg_create: can't stat
> `/u/imorgan/work/math/octave/work/.destdir/u/imorgan/pkg/lib/charset.alias'
> pkg_create: can't stat
> `/u/imorgan/work/math/octave/work/.destdir/u/imorgan/pkg/lib/octave/3.6.4/oct/x86_64-un
> known-linux/PKG_ADD'
> pkg_create: can't stat
> `/u/imorgan/work/math/octave/work/.destdir/u/imorgan/pkg/lib/octave/3.6.4/oct/x86_64-un
> known-linux/__contourc__.oct'
> ...
>
> % ls work/.destdir/u/imorgan/pkg/lib/octave/3.6.4/oct/
> x86_64-unknown-linux-gnu
>
> Any recommendations on how/where to fix these issues?
>
> Thanks,
>
> --
> Iain Morgan
Hello,
I finally got some time to look into this issue in a little more detail.
To clarify the directory mismatch issue, the output from build-aux/config.guess
in the source distribution does not match MACHINE_GNU_PLATFORM;
build-aux/config.guess has a trailing -gnu. I tried using :S to modify
the variable, but that only cuased mk/plist/plist.subst.awk to ignore
teh variable.
The other issue is due to the conditional inclusion of charset.alias,
whereas the PLIST file unconditionally includes it. From
lbgnu/Makefile.in,
if test $(GLIBC21) = no; then \
case '$(host_os)' in \
darwin[56]*) \
need_charset_alias=true ;; \
darwin* | cygwin* | mingw* | pw32* | cegcc*) \
need_charset_alias=false ;; \
*) \
need_charset_alias=true ;; \
esac ; \
else \
need_charset_alias=false ; \
fi ; \
if $$need_charset_alias; then \
$(mkinstalldirs) $(DESTDIR)$(libdir) ; \
fi ; \
if test -f $(charset_alias); then \
sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
else \
if $$need_charset_alias; then \
sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
fi ; \
fi
To avoid having to duplicate part of this logic for the PLIST file, it
might be best to uncoditionally set need_charset_alias.
--
Iain Morgan
Home |
Main Index |
Thread Index |
Old Index