aix: gros fichiers

1
/opt/freeware/bin/ls //media/nfs/slack64/pubblica
/opt/freeware/bin/ls: cannot open directory //media/nfs/slack64/pubblica: Value too large to be stored in data type

Cela arrive avec coreutils-8.23 de perlz et avec 8.24 recompilé sur aix. Le fs est nfs. Comment résoudre?

C'est la spec de coreutils

Summary: The GNU core utilities: a set of tools commonly used in shell scripts
Name:    coreutils
Version: 8.24
Release: 1
License: GPL
Group:   System Environment/Base
URL:     http://www.gnu.org/software/coreutils/
Source0: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz
Source1: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig
Source2: %{name}-DIR_COLORS
Source3: %{name}-DIR_COLORS.xterm
Source4: %{name}-colorls.sh
Source5: %{name}-colorls.csh
Patch0:  %{name}-%{version}-aix-uname.patch
Patch1:  %{name}-%{version}-aix-configure.patch

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root

BuildRequires: gettext, gmp-devel >= 4.3.2
BuildRequires: gcc >= 4.2.3-2
BuildRequires: make

Requires: /sbin/install-info
Requires: info, gettext, gmp >= 4.3.2

Conflicts: mktemp, coreutils-64bit

Provides: fileutils = %{version}-%{release}
Provides: sh-utils = %{version}-%{release}
Provides: stat = %{version}-%{release}
Provides: textutils = %{version}-%{release}
Obsoletes: fileutils <= 4.1.9
Obsoletes: sh-utils <= 2.0.12
Obsoletes: stat <= 3.3
Obsoletes: textutils <= 2.0.21


%description
These are the GNU core utilities.  This package is the combination of
the old GNU fileutils, sh-utils, and textutils packages.

These tools are the GNU versions of common useful and popular file and text
utilities which are used for:
- file management
- shell scripts
- modifying text file (spliting, joining, comparing, modifying, ...)

Most of these programs have significant advantages over their Unix
counterparts, such as greater speed, additional options, and fewer arbitrary
limits.


%prep
%setup -q
%patch0
%patch1


%build
# required if you run 'configure' as root user
export FORCE_UNSAFE_CONFIGURE=1

export CC="gcc -pthread -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES"
export CFLAGS="-DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I/opt/freeware/include"
./configure \
    --prefix=%{_prefix} \
    --mandir=%{_mandir} \
    --infodir=%{_infodir} \
    --enable-largefile \
    --enable-nls
gmake %{?_smp_mflags}
gmake


%install
[ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT}
gmake DESTDIR=${RPM_BUILD_ROOT} install

bzip2 -9f ChangeLog

(
  cd ${RPM_BUILD_ROOT}
  /usr/bin/strip .%{_bindir}/* || :
  gzip --best .%{_infodir}/*info*

  mkdir -p usr/linux/bin
  mkdir -p usr/bin
  cd usr/linux/bin
  ln -sf ../../..%{_bindir}/* .
  cd ../../bin
  for i in dir dircolors vdir tac md5sum pinky seq
  do
     rm ../linux/bin/$i
     ln -sf ../..%{_bindir}/$i .
  done
)

mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d
cp %{SOURCE2} ${RPM_BUILD_ROOT}%{_sysconfdir}/DIR_COLORS
cp %{SOURCE3} ${RPM_BUILD_ROOT}%{_sysconfdir}/DIR_COLORS.xterm
cp %{SOURCE4} ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/colorls.sh
cp %{SOURCE5} ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/colorls.csh
chmod 644 ${RPM_BUILD_ROOT}%{_sysconfdir}/DIR*
chmod 644 ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/*


%pre
# We must deinstall these info files since they're merged in
# coreutils.info. else their postun'll be run too late
# and install-info will fail badly because of duplicates
for file in sh-utils textutils fileutils; do
    /sbin/install-info --delete %{_infodir}/$file.info.gz --dir=%{_infodir}/dir &> /dev/null || :
done


%preun
if [ $1 = 0 ]; then
    /sbin/install-info --delete %{_infodir}/%{name}.info.gz %{_infodir}/dir || :
fi


%post
/usr/bin/grep -v '(sh-utils)\|(fileutils)\|(textutils)' %{_infodir}/dir > \
  %{_infodir}/dir.rpmmodify || exit 0
    /bin/mv -f %{_infodir}/dir.rpmmodify %{_infodir}/dir
/sbin/install-info %{_infodir}/%{name}.info.gz %{_infodir}/dir || :


%clean
[ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT}


%files
%defattr(-,root,system,-)
%doc COPYING ABOUT-NLS ChangeLog.bz2 NEWS README THANKS TODO old/*
%config(noreplace) %{_sysconfdir}/DIR_COLORS*
%{_sysconfdir}/profile.d/*
%{_bindir}/*
%{_infodir}/coreutils*
# exclude %{_libdir}/charset.alias as it conflicts with glib2
# %{_libdir}/*
%{_mandir}/man?/*
%{_datadir}/locale/*/*/*
/usr/bin/*
/usr/linux/bin/*
Elbarna
la source
Qu'obtenez-vous avec ls -ldce répertoire?
Schily
Allez-vous éventuellement sur www-01.ibm.com/support/docview.wss?uid=isg1IV35122 ?
Jeff Schaller
Est-ce que vous vous référez à aix ls situé dans / usr / bin / ls qui fonctionne bien, je veux utiliser les gnu ls pour de meilleures options (couleur, etc.)
elbarna
lire le fichier de spécifications sur le premier message ./configure \ --prefix =% {_ prefix} \ --mandir =% {_ mandir} \ --infodir =% {_ infodir} \ --enable-largefile \ --enable-nls gmake % {? _ smp_mflags}
elbarna

Réponses:

1

Fondamentalement, vous devez vous assurer que _LARGE_FILES est défini, par exemple, essayez

# export CFLAGS="-O3 -D_LARGE_FILES"

le -OXest facultatif. Je recommande -O3 par défaut avec gcc et -O2 avec xlc

Ou, vous pouvez essayer mon emballage (coreutils-8.25 au moins).

ps je viens de vérifier le site perzl - il emballe également 8.25 maintenant. La principale différence entre nos méthodes de packaging est que j'utilise installp en tant que gestionnaire de paquet et /opt/binque plutôt que /opt/freeware/bin(vous pouvez donc avoir les deux installées côte à côte et décider lequel est le plus facile à gérer) - Remarque: comme je ne connais pas la convention je ne suis pas (encore) en train d’ajouter une URL à mes 'aixtools'. Vous pouvez essayer d'attirer mon attention via twitter @ rootvgnet si vous êtes intéressé.


Comme il est trop gros pour un commentaire - en ajoutant - les instructions d’installation si vous choisissez d’utiliser mon emballage

la commande d'installation: -as root- #installp -d / some / dir -agX aixtools.gnu.coreutils; devrait afficher dans la sortie un bloc d’informations comprenant:

SUCCESSES
---------
  Filesets listed in this section passed pre-installation verification
  and will be installed.

  Selected Filesets
  -----------------
  aixtools.gnu.coreutils.rte 8.25.0.0         # built 22-Aug-2016 1702 UTC

  Requisites
  ----------
  (being installed automatically;  required by filesets listed above)
  aixtools.gnu.gettext.rte 0.19.8.1           # built 21-Aug-2016 1821 UTC
  aixtools.gnu.gettext.share 0.19.8.1         # universal files
  aixtools.gnu.libiconv.rte 1.14.0.4          # built 21-Aug-2016 1623 UTC
  aixtools.gnu.libiconv.share 1.14.0.4        # universal files

Cela signifie que, outre coreutils, vous avez également besoin des dépendances gnu 'gettext' pour l'internationalisation du texte et de GNU iconv car coreutils n'accepte pas la façon dont AIX iconv implémentait un certain nombre de traductions.

Les liens respectifs du wiki (car les paquets peuvent être mis à jour au fil du temps) sont les suivants: - http://www.aixtools.net/index.php/coreutils - http://www.aixtools.net/index.php/gettext - http : //www.aixtools.net/index.php/libiconv

En bref, après avoir téléchargé les trois fichiers installp dans (par exemple, / tmp / aixtools)

# installp -d /tmp/aixtools -agX aixtools.gnu.coreutils

Cela installera les composants "share" et "rte" de chacun, ainsi que les pages de manuel de coreutils.

Si vous ne voulez pas que les pages de manuel utilisent:

# installp -u aixtools.gnu.aixtools.man

pour les enlever

Michael Felt
la source
Je peux essayer votre packagin, où télécharger, s'il vous plaît?
Elbarna
Merci pour le lien aixtools, j'ai trouvé sur votre profil. Mais est un autre format ou utilisez le format standard AIX que j'installe en utilisant installp?
Elbarna
J'ai configuré avec l'exportation CFLAGS = "- DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_ALL_SOURCE -DFUNCPROTO = 15 -O -I / opt / freeware / include -D_LARGE_FILE Mais c'est la même chose avec une erreur
elbarna
Le lien vers la page de coreutils est: aixtools.net/index.php/coreutils . Le téléchargement est un format installp, vous pouvez donc utiliser smitty install_latest pour l’installer. Si vous ajoutez un fichier .I (installp / bff) à un répertoire, n'oubliez pas de supprimer .toc (table des matières) afin que installp refasse ce fichier (ou n'exécute pas un nom de fichier Direc - par exemple, un fichier inutile.) J'essaierai de poser une question et d'y répondre. sur le package HOWTO OSS pour AIX, mais pas aujourd'hui. ps assurez-vous d’ajouter / opt / bin à votre PATH si vous utilisez mon emballage. J'essaie très fort de ne pas écraser les emballages existants.
Michael senti
Modérateurs: j'ai ajouté à la réponse - les instructions d'installation. Cela n’est pas directement lié à la question - supprimer si cela enfreint un principe de stackexchange. @elbarna - quel compilateur utilisez-vous? FYI: Je package normalement en utilisant xlc.
Michael senti