www.digitalmars.com         C & C++   DMDScript  

D - samples bug: recls

reply "Carlos Santander B." <carlos8294 msn.com> writes:
The recls samples (both recls_test_1.d and recls_test_2.d) compile but don't
link, neither in Windows nor Linux (with dmd 0.79, win xp, mandrake 9).

-----------------------
Carlos Santander Bernal
Jan 27 2004
next sibling parent "Matthew" <matthew.hat stlsoft.dot.org> writes:
I've not tested them since 0.78.

Can you give more information

"Carlos Santander B." <carlos8294 msn.com> wrote in message
news:bv768a$17n3$1 digitaldaemon.com...
 The recls samples (both recls_test_1.d and recls_test_2.d) compile but

 link, neither in Windows nor Linux (with dmd 0.79, win xp, mandrake 9).

 -----------------------
 Carlos Santander Bernal

Jan 27 2004
prev sibling parent reply J C Calvarese <jcc7 cox.net> writes:
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Carlos Santander B. wrote:
 The recls samples (both recls_test_1.d and recls_test_2.d) compile but don't
 link, neither in Windows nor Linux (with dmd 0.79, win xp, mandrake 9).

 
 -----------------------
 Carlos Santander Bernal

I haven't looked at recls_test_1 and _2, but I suspect you need to create recls.lib using a command line like this (Windows version)... cd \DMD\SRC\PHOBOS\ETC\C\RECLS make -fwin32.mak Then put recls.lib in the a lib path (probably either \dm\lib or \dmd\lib) and include it when you compile your file. I've attached a sample file I've used to test recls. (By the way, it seems to me like this should be documented somewhere, but I couldn't find it at the recls website: http://recls.org/.) Good luck. -- Justin http://jcc_7.tripod.com/d/
Jan 27 2004
parent reply "Matthew" <matthew.hat stlsoft.dot.org> writes:
I think you're right.

But the contents of recls.lib should be in phobos.lib. I'm confused

Walter, did something happen to remove them in the latest build?

In the meantime, chaps (and chappettes), we'll have to figure out a way to
workaround it.

Give me a few mins to check it out.

Matthew



"J C Calvarese" <jcc7 cox.net> wrote in message
news:bv77c1$19gn$1 digitaldaemon.com...
 Carlos Santander B. wrote:
 The recls samples (both recls_test_1.d and recls_test_2.d) compile but


 link, neither in Windows nor Linux (with dmd 0.79, win xp, mandrake 9).

 -----------------------
 Carlos Santander Bernal

I haven't looked at recls_test_1 and _2, but I suspect you need to create recls.lib using a command line like this (Windows version)... cd \DMD\SRC\PHOBOS\ETC\C\RECLS make -fwin32.mak Then put recls.lib in the a lib path (probably either \dm\lib or \dmd\lib) and include it when you compile your file. I've attached a sample file I've used to test recls. (By the way, it seems to me like this should be documented somewhere, but I couldn't find it at the recls website: http://recls.org/.) Good luck. -- Justin http://jcc_7.tripod.com/d/

---------------------------------------------------------------------------- ----
  echo off
 dmd recls.d recls.lib
 pause
 cd \
 f:\pgm\d\testing\phobos\recls.exe
 pause

---------------------------------------------------------------------------- ----
 /*

 File: recls.d
 Author: J C Calvarese
 License: Public Domain
 Date: 2004-01-23
 Purpose: Demonstrate simple usage of the recls library.

 Make recls.lib using a command line like this...
 D:\DMD\SRC\PHOBOS\ETC\C\RECLS>make -fwin32.mak

 Then put recls.lib in the a lib path (probably either \dm\lib or

 Here's the batch file I used to compile and test my recls sample:

  echo off
 dmd recls.d recls.lib
 pause
 cd \
 \pgm\d\testing\phobos\recls.exe
 pause


 Read the recls FAQ:
 http://recls.org/faq.html

 */

 import std.recls;

 void main()
 {
     Search  search  =   new Search(".", "*.*",

     foreach(Entry entry; search)
     {
 with(entry)
 {
 if(!ShortFile())
 printf("%.*s%.*s\n", DirectoryPath(), File());
 else
 printf("%.*s%.*s (%.*s)\n", DirectoryPath(), File(), ShortFile());
 }
 }
 }

Jan 27 2004
parent reply "Matthew" <matthew.hat stlsoft.dot.org> writes:
I've just checked in win32.mak in the phobos root dir. The offending lines
are:

    phobos.lib : $(OBJS) minit.obj internal\gc\dmgc.lib etc\c\zlib\zlib.lib
\
     win32.mak etc\c\recls\recls.lib
     lib -c phobos.lib $(OBJS) minit.obj internal\gc\dmgc.lib
etc\c\zlib\zlib.lib

It looks as though big-W hasn't put "etc\c\recls\recls.lib" on the
command-line, as well as on the dependency line.

Still, it's not all his fault, as I clearly have not checked that recls
worked as part of Phobos.

Blushes all round, I guess.

Walter, what's the best next step? When's the new release due?

In the meantime, JC's advice is the right one, i.e. you'll need to build the
recls.lib and use that. It shouldn't present a problem, beyond being a PITA.
Sorry.

Cheers

Matthew




"Matthew" <matthew.hat stlsoft.dot.org> wrote in message
news:bv77hi$19qd$1 digitaldaemon.com...
 I think you're right.

 But the contents of recls.lib should be in phobos.lib. I'm confused

 Walter, did something happen to remove them in the latest build?

 In the meantime, chaps (and chappettes), we'll have to figure out a way to
 workaround it.

 Give me a few mins to check it out.

 Matthew



 "J C Calvarese" <jcc7 cox.net> wrote in message
 news:bv77c1$19gn$1 digitaldaemon.com...
 Carlos Santander B. wrote:
 The recls samples (both recls_test_1.d and recls_test_2.d) compile but


 link, neither in Windows nor Linux (with dmd 0.79, win xp, mandrake



 That sounds like a problem I had.

 -----------------------
 Carlos Santander Bernal

I haven't looked at recls_test_1 and _2, but I suspect you need to create recls.lib using a command line like this (Windows version)... cd \DMD\SRC\PHOBOS\ETC\C\RECLS make -fwin32.mak Then put recls.lib in the a lib path (probably either \dm\lib or \dmd\lib) and include it when you compile your file. I've attached a sample file I've used to test recls. (By the way, it seems to me like this should be documented somewhere, but I couldn't find it at the recls website: http://recls.org/.) Good luck. -- Justin http://jcc_7.tripod.com/d/

--------------------------------------------------------------------------

 ----


  echo off
 dmd recls.d recls.lib
 pause
 cd \
 f:\pgm\d\testing\phobos\recls.exe
 pause

--------------------------------------------------------------------------

 ----


 /*

 File: recls.d
 Author: J C Calvarese
 License: Public Domain
 Date: 2004-01-23
 Purpose: Demonstrate simple usage of the recls library.

 Make recls.lib using a command line like this...
 D:\DMD\SRC\PHOBOS\ETC\C\RECLS>make -fwin32.mak

 Then put recls.lib in the a lib path (probably either \dm\lib or

 Here's the batch file I used to compile and test my recls sample:

  echo off
 dmd recls.d recls.lib
 pause
 cd \
 \pgm\d\testing\phobos\recls.exe
 pause


 Read the recls FAQ:
 http://recls.org/faq.html

 */

 import std.recls;

 void main()
 {
     Search  search  =   new Search(".", "*.*",

     foreach(Entry entry; search)
     {
 with(entry)
 {
 if(!ShortFile())
 printf("%.*s%.*s\n", DirectoryPath(), File());
 else
 printf("%.*s%.*s (%.*s)\n", DirectoryPath(), File(), ShortFile());
 }
 }
 }


Jan 27 2004
parent "Walter" <walter digitalmars.com> writes:
I'll fix it. -Walter
Jan 28 2004