Giter Site home page Giter Site logo

Comments (9)

jondegenhardt avatar jondegenhardt commented on August 14, 2024

Hi Boulund,

I don't know why this is happening on your system, as it works on mine. I have an idea for fixing it though. In your copy of the code, in file tsv-filter/src/tsv-filter.d, in lines 228 and 229, try replacing the calls to 'toLower' with 'asLowerCase' and try to build. If that works for you, then I'll make this change to the code.

--Jon

from tsv-utils.

boulund avatar boulund commented on August 14, 2024

Hi,

Thanks for taking the time to look into this! I have no clue what's going on really. Tell me if there's anything I can supply you with to aid in debugging this.

I made these changes to tsv-filter.d:

[tsv-utils-dlang]$ git diff                                                                               
diff --git a/tsv-filter/src/tsv-filter.d b/tsv-filter/src/tsv-filter.d                                                  
index 8c5e512..240356b 100644                                                                                           
--- a/tsv-filter/src/tsv-filter.d                                                                                       
+++ b/tsv-filter/src/tsv-filter.d                                                                                       
@@ -225,8 +225,8 @@ bool strNotInFld(const char[][] fields, size_t index, string val) { return !fiel                    
  */                                                                                                                    
 bool istrEQ(const char[][] fields, size_t index, dstring val) { return fields[index].asLowerCase.equal(val); }         
 bool istrNE(const char[][] fields, size_t index, dstring val) { return !fields[index].asLowerCase.equal(val); }        
-bool istrInFld(const char[][] fields, size_t index, dstring val) { return fields[index].toLower.canFind(val); }        
-bool istrNotInFld(const char[][] fields, size_t index, dstring val) { return !fields[index].toLower.canFind(val); }    
+bool istrInFld(const char[][] fields, size_t index, dstring val) { return fields[index].asLowerCase.canFind(val); }    
+bool istrNotInFld(const char[][] fields, size_t index, dstring val) { return !fields[index].asLowerCase.canFind(val); }

 /* Note: Case-sensitivity is built into the regex value, so these regex predicates are                                 
  * used for both case-sensitive and case-insensitive regex operators.                                                  

Running make now gives this (even longer) output:

[tsv-utils-dlang]$ make

make -C common  
make[1]: Entering directory `/home/boulund/code/tsv-utils-dlang/common'
make[1]: `release' is up to date.
make[1]: Leaving directory `/home/boulund/code/tsv-utils-dlang/common'

make -C number-lines  
make[1]: Entering directory `/home/boulund/code/tsv-utils-dlang/number-lines'
dmd -release -O -inline -boundscheck=off -odobj  -of/home/boulund/code/tsv-utils-dlang/bin/number-lines -I/home/boulund/code/tsv-utils-dlang/common/src src/number-lines.d 
make[1]: Leaving directory `/home/boulund/code/tsv-utils-dlang/number-lines'

make -C tsv-select  
make[1]: Entering directory `/home/boulund/code/tsv-utils-dlang/tsv-select'
dmd -release -O -inline -boundscheck=off -odobj  -of/home/boulund/code/tsv-utils-dlang/bin/tsv-select -I/home/boulund/code/tsv-utils-dlang/common/src src/tsv-select.d /home/boulund/code/tsv-utils-dlang/common/src/tsvutil.d
make[1]: Leaving directory `/home/boulund/code/tsv-utils-dlang/tsv-select'

make -C tsv-filter  
make[1]: Entering directory `/home/boulund/code/tsv-utils-dlang/tsv-filter'
dmd -release -O -inline -boundscheck=off -odobj  -of/home/boulund/code/tsv-utils-dlang/bin/tsv-filter -I/home/boulund/code/tsv-utils-dlang/common/src src/tsv-filter.d 
--- errorlevel 1
make[1]: Leaving directory `/home/boulund/code/tsv-utils-dlang/tsv-filter'
._D10tsv_filter9istrInFldFxAAamAywZb+0xda): undefined reference to `_D3std9algorithm9searching531__T16simpleMindedFindVAyaa6_61203d3d2062TS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ16simpleMindedFindFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImpl'
obj/tsv-filter.o: In function `_D10tsv_filter12istrNotInFldFxAAamAywZb':
src/tsv-filter.d:(.text._D10tsv_filter12istrNotInFldFxAAamAywZb+0xda): undefined reference to `_D3std9algorithm9searching531__T16simpleMindedFindVAyaa6_61203d3d2062TS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ16simpleMindedFindFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImpl'
obj/tsv-filter.o: In function `_D3std9algorithm9searching518__T4findVAyaa6_61203d3d2062TS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ4findFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImpl':
src/tsv-filter.d:(.text._D3std9algorithm9searching518__T4findVAyaa6_61203d3d2062TS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ4findFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImpl+0x37): undefined reference to `_D3std9algorithm9searching531__T16simpleMindedFindVAyaa6_61203d3d2062TS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ16simpleMindedFindFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImpl'
obj/tsv-filter.o: In function `_D3std9algorithm9searching12__T7canFindZ502__T7canFindTS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ7canFindFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZb':
src/tsv-filter.d:(.text._D3std9algorithm9searching12__T7canFindZ502__T7canFindTS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ7canFindFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZb+0x48): undefined reference to `_D3std9algorithm9searching531__T16simpleMindedFindVAyaa6_61203d3d2062TS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ16simpleMindedFindFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImpl'
collect2: error: ld returned 1 exit status
make[1]: *** [/home/boulund/code/tsv-utils-dlang/bin/tsv-filter] Error 1
make: *** [tsv-filter] Error 2

Got any other ideas?

from tsv-utils.

jondegenhardt avatar jondegenhardt commented on August 14, 2024

Um... Not great ones. Best I can tell, the linker is saying it can't find a particular template instantiation, something coming out of the D standard library. I looked the library code, there are several interacting templates, so it's not clear to me exactly what bit is failing. And, it doesn't fail on my machines. I've tried with three compilers, 2 DMD versions and an LDC version, and on Mac and Linux.

If you're comfortable with a bit a D coding, you could remove the problematic routines to get you going. What's failing to build are two case-insensitive string search tests for the tsv-filter routine. Specifically, the --istr-in-fld and --istr-not-in-fld command line options. They are lesser used options. To remove them, remove or comment out the function definitions, plus the calling code. It would be something like:

  • Comment out the two lines you already tried modifying, lines 228 and 229. (istrInFld, istrNotInFld)
  • The two calls at lines 561 and 562 (handlerIStrInFld, handerIStrNotInFld)
  • The two command line option specification lines at lines 617, 618.

I haven't tried it, but I think that should do. Then you could at least try the routines out.

from tsv-utils.

boulund avatar boulund commented on August 14, 2024

After applying the following changes to the code (one additional line to comment out that you unfortunately missed your reply @jondegenhardt) it now appears to work. Really looking forward to putting tsv-utils-dlang to the test now! I work with large tab separated text daily and this looks like it will suit me perfectly :). Thanks for the help to find a way around my issue @jondegenhardt, really appreciate it!

diff --git a/tsv-filter/src/tsv-filter.d b/tsv-filter/src/tsv-filter.d
index 8c5e512..1912658 100644
--- a/tsv-filter/src/tsv-filter.d
+++ b/tsv-filter/src/tsv-filter.d
@@ -225,8 +225,8 @@ bool strNotInFld(const char[][] fields, size_t index, string val) { return !fiel
  */
 bool istrEQ(const char[][] fields, size_t index, dstring val) { return fields[index].asLowerCase.equal(val); }
 bool istrNE(const char[][] fields, size_t index, dstring val) { return !fields[index].asLowerCase.equal(val); }
-bool istrInFld(const char[][] fields, size_t index, dstring val) { return fields[index].toLower.canFind(val); }
-bool istrNotInFld(const char[][] fields, size_t index, dstring val) { return !fields[index].toLower.canFind(val); }
+//bool istrInFld(const char[][] fields, size_t index, dstring val) { return fields[index].asLowerCase.canFind(val); }
+//bool istrNotInFld(const char[][] fields, size_t index, dstring val) { return !fields[index].asLowerCase.canFind(val); }

 /* Note: Case-sensitivity is built into the regex value, so these regex predicates are
  * used for both case-sensitive and case-insensitive regex operators.
@@ -558,8 +558,8 @@ struct TsvFilterOptions {

         void handlerIStrEQ(string option, string value)       { fieldVsIStringOptionHandler(tests, maxFieldIndex, &istrEQ,       option, value); }
         void handlerIStrNE(string option, string value)       { fieldVsIStringOptionHandler(tests, maxFieldIndex, &istrNE,       option, value); }
-        void handlerIStrInFld(string option, string value)    { fieldVsIStringOptionHandler(tests, maxFieldIndex, &istrInFld,    option, value); }
-        void handlerIStrNotInFld(string option, string value) { fieldVsIStringOptionHandler(tests, maxFieldIndex, &istrNotInFld, option, value); }
+        //void handlerIStrInFld(string option, string value)    { fieldVsIStringOptionHandler(tests, maxFieldIndex, &istrInFld,    option, value); }
+        //void handlerIStrNotInFld(string option, string value) { fieldVsIStringOptionHandler(tests, maxFieldIndex, &istrNotInFld, option, value); }

         void handlerRegexMatch(string option, string value)     { fieldVsRegexOptionHandler(tests, maxFieldIndex, &regexMatch,    option, value, true); }
         void handlerRegexNotMatch(string option, string value)  { fieldVsRegexOptionHandler(tests, maxFieldIndex, &regexNotMatch, option, value, true); }
@@ -614,9 +614,9 @@ struct TsvFilterOptions {
                 "str-ne",          "FIELD:STR   FIELD != STR (string).", &handlerStrNE,
                 "istr-ne",         "FIELD:STR   FIELD != STR (string, case-insensitive).", &handlerIStrNE,
                 "str-in-fld",      "FIELD:STR   FIELD contains STR (substring search).", &handlerStrInFld,
-                "istr-in-fld",     "FIELD:STR   FIELD contains STR (substring search, case-insensitive).", &handlerIStrInFld,
-                "str-not-in-fld",  "FIELD:STR   FIELD does not contain STR (substring search).", &handlerStrNotInFld,
-                "istr-not-in-fld", "FIELD:STR   FIELD does not contain STR (substring search, case-insensitive).", &handlerIStrNotInFld,
+                //"istr-in-fld",     "FIELD:STR   FIELD contains STR (substring search, case-insensitive).", &handlerIStrInFld,
+                //"str-not-in-fld",  "FIELD:STR   FIELD does not contain STR (substring search).", &handlerStrNotInFld,
+                //"istr-not-in-fld", "FIELD:STR   FIELD does not contain STR (substring search, case-insensitive).", &handlerIStrNotInFld,

                 "regex",           "FIELD:REGEX   FIELD matches regular expression.", &handlerRegexMatch, 
                 "iregex",          "FIELD:REGEX   FIELD matches regular expression, case-insensitive.", &handlerIRegexMatch, 

from tsv-utils.

jondegenhardt avatar jondegenhardt commented on August 14, 2024

@boulund Have you tried any of the more recent releases? If so, let me know if you are still seeing this issue.

from tsv-utils.

boulund avatar boulund commented on August 14, 2024

@jondegenhardt Sorry for my late reply. No I haven't tried any later versions; I didn't really have the need to after I got it working :).

I just tried with a fresh clone of the repository and it still fails (still using dmd v2.068.1).

makefile:5: warning: overriding commands for target `unittest'
../makeapp.mk:28: warning: ignoring old commands for target `unittest'
makefile:5: warning: overriding commands for target `unittest'
../makeapp.mk:28: warning: ignoring old commands for target `unittest'
obj/tsv-filter.o: In function `_D10tsv_filter9istrInFldFxAAamAywZb':
/home/boulund/apps/tsv-utils-dlang/common/src/unittest_utils.d:(.text._D10tsv_filter9istrInFldFxAAamAywZb+0xda): undefined reference to `_D3std9algorithm9searching531__T16simpleMindedFindVAyaa6_61203d3d2062TS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ16simpleMindedFindFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImpl'
obj/tsv-filter.o: In function `_D10tsv_filter12istrNotInFldFxAAamAywZb':
/home/boulund/apps/tsv-utils-dlang/common/src/unittest_utils.d:(.text._D10tsv_filter12istrNotInFldFxAAamAywZb+0xda): undefined reference to `_D3std9algorithm9searching531__T16simpleMindedFindVAyaa6_61203d3d2062TS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ16simpleMindedFindFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImpl'
obj/tsv-filter.o: In function `_D3std9algorithm9searching518__T4findVAyaa6_61203d3d2062TS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ4findFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImpl':
/home/boulund/apps/tsv-utils-dlang/common/src/unittest_utils.d:(.text._D3std9algorithm9searching518__T4findVAyaa6_61203d3d2062TS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ4findFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImpl+0x37): undefined reference to `_D3std9algorithm9searching531__T16simpleMindedFindVAyaa6_61203d3d2062TS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ16simpleMindedFindFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImpl'
obj/tsv-filter.o: In function `_D3std9algorithm9searching12__T7canFindZ502__T7canFindTS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ7canFindFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZb':
/home/boulund/apps/tsv-utils-dlang/common/src/unittest_utils.d:(.text._D3std9algorithm9searching12__T7canFindZ502__T7canFindTS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ7canFindFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZb+0x48): undefined reference to `_D3std9algorithm9searching531__T16simpleMindedFindVAyaa6_61203d3d2062TS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplTAywZ16simpleMindedFindFNaNbNiNfS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImplAywZS3std3uni273__T7toCaserS36_D3std3uni12toLowerIndexFNaNbNiNewZtVii1043S34_D3std3uni10toLowerTabFNaNbNiNemZwTS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ7toCaserFS3std3utf77__T7byDcharTS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ7byDcharFNcS3std3utf20__T10byCodeUnitTAxaZ10byCodeUnitFAxaZ14ByCodeUnitImplZ11byDcharImplZ11ToCaserImpl'
collect2: error: ld returned 1 exit status
make[1]: *** [/home/boulund/apps/tsv-utils-dlang/bin/tsv-filter] Error 1
make: *** [tsv-filter] Error 2

from tsv-utils.

jondegenhardt avatar jondegenhardt commented on August 14, 2024

@boulund Thanks for follow-up. I'm going to leave this issue closed unless it causes you further trouble. I haven't been able to reproduce it. I wouldn't mind getting the specifics of your environment though (OS, etc) in case anyone else encounters this.

from tsv-utils.

boulund avatar boulund commented on August 14, 2024

It appears to compile just fine with the latest version of DMD

[tsv-utils-dlang]$ dmd --version           
DMD64 D Compiler v2.073.0                                        
Copyright (c) 1999-2016 by Digital Mars written by Walter Bright 

from tsv-utils.

jondegenhardt avatar jondegenhardt commented on August 14, 2024

Thank you! Very much appreciate the follow-up.

from tsv-utils.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.