Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #11325

Re: Bash 4.3.30 on AIX 6.1 filename completion

Path csiph.com!optima2.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!usenet.stanford.edu!not-for-mail
From aixtools <aixtools@gmail.com>
Newsgroups gnu.bash.bug
Subject Re: Bash 4.3.30 on AIX 6.1 filename completion
Date Wed, 12 Aug 2015 12:38:02 +0200
Lines 49
Approved bug-bash@gnu.org
Message-ID <mailman.8185.1439375891.904.bug-bash@gnu.org> (permalink)
References <55BEBADE.8030108@goshawk.com> <55BF6F47.7090405@case.edu>
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding 7bit
X-Trace usenet.stanford.edu 1439375891 2496 208.118.235.17 (12 Aug 2015 10:38:11 GMT)
X-Complaints-To action@cs.stanford.edu
To bug-bash@gnu.org
Envelope-to bug-bash@gnu.org
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=Nap86QbtKi5GJTAcKqp07TNOKj2qvDQU3SkOaWiTkzM=; b=ddFr6b48a9Nh6uR5OYDq6xlBpbRnovtRH7gyW4YyWl5wiDllOHJcz/R+q4gRQrsIg9 wpH+Nbkd+JBKWB6Y8xxPU9LCYNtiJhUSw1GfuRTdm8II8UHWx2yBgq2ENrwUP7B37gSw Js3en3Zt9oojHp5OZUtVcWVfprBTxmczpiL7wQNsI8IysoVZy5EnlrAyC2ZWf8KAtwY0 glOukF1h6mRbvaEGod18IByzsAlDcJfQKtXdYeRnNjou9VvEQ7dz12P/HH0rYDdDZ1RB HGKWEorVEcfQxgxMF71fimn2ngu/KtatA54j9TYZD6Ymq0vffV2rtl8hAiJUqvrvHv9m xyAQ==
X-Received by 10.180.73.229 with SMTP id o5mr27124987wiv.36.1439375884734; Wed, 12 Aug 2015 03:38:04 -0700 (PDT)
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
In-Reply-To <55BF6F47.7090405@case.edu>
X-detected-operating-system by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value).
X-Received-From 2a00:1450:400c:c05::230
X-BeenThere bug-bash@gnu.org
X-Mailman-Version 2.1.14
Precedence list
List-Id Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org>
List-Unsubscribe <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe>
List-Archive <http://lists.gnu.org/archive/html/bug-bash>
List-Post <mailto:bug-bash@gnu.org>
List-Help <mailto:bug-bash-request@gnu.org?subject=help>
List-Subscribe <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe>
Xref csiph.com gnu.bash.bug:11325

Show key headers only | View raw


On 2015-08-03 3:40 PM, Chet Ramey wrote:
> On 8/2/15 8:50 PM, Steve Dahl wrote:
>> If on AIX 6.1, I mount an NFS volume exported from CentOS 6.7, Bash
>> (4.3.30) is unable to do tab completion within that file system. If (for
>> example) I search for files that I know exist, such as:
>>
>>      ls -l /path/to/files/*.h
>>
>> ...no answers are returned even though
>>
>>      ls -l /path/to/files
>>
>> ...will show those files.
>>
>> In the course of trying to understand why AIX didn't like our new NFS
>> server, I found that bash's glob.c depends on opendir(), and that in a
>> simple test on that NFS file system, opendir() fails with EOVERFLOW.
>>
>> The AIX man page for opendir() documents opendir64() but doesn't go into a
>> lot of detail about what it's for other than the inferred hint that it
>> might allow for file sizes larger than 4 GB.
>>
>> The same simple test that gets EOVERFLOW when I use opendir() indeed seems
>> to succeed when I use opendir64(). Once you know the answer, you can find
>> hints on IBM forums that seem to confirm it.
>>
>> Is there already a version of "bash" somewhere that already supports large
>> file systems on AIX if its compilation is configured right?
> Bash and Readline don't use opendir64/readdir64 directly.  You might be
> able to get it to work by using cpp defines in lib/readline/complete.c
>
> Chet
Actually, I am working on a "scandir" program myself, where I am using 
opendir(). The simpliest approach seems to be this at the start of the 
code, i.e., before ANY include files are inserted. One of it's effects 
is to make all opendir() calls automatically convert to opendir64() - no 
code changes needed, and the code works on both AIX - and debian (Linux 
on Power) that I have tested.

/*
  * define _LARGE_FILES needs to be first so that all the include files 
know that
  */
#ifdef _AIX
#define _LARGE_FILES
#endif

Hope this helps!

Back to gnu.bash.bug | Previous | Next | Find similar


Thread

Re: Bash 4.3.30 on AIX 6.1 filename completion aixtools <aixtools@gmail.com> - 2015-08-12 12:38 +0200

csiph-web