[CDRIVER-289] libbson build failure when GREP_OPTIONS specifies colored output Created: 04/Feb/14  Updated: 03/May/17  Resolved: 13/Feb/14

Status: Closed
Project: C Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor - P4
Reporter: Kamran K. Assignee: Unassigned
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

libbson will fail to build if you have a GREP_OPTIONS value that specifies colored output because the libbson-1.0.exp and libbson-1.0.ver files will contain color codes.

Steps to reproduce:
1 - Run `GREP_OPTIONS="--color=always" ./autogen.sh && make` from libbson/

Output:

libtool: link: /bin/grep -E -e "^(bson_|bcon_|BCON_MAGIC|BCONE_MAGIC)" ".libs/libbson-1.0.exp" > ".libs/libbson-1.0.expT"
libtool: link: mv -f ".libs/libbson-1.0.expT" ".libs/libbson-1.0.exp"
libtool: link: echo "{ global:" > .libs/libbson-1.0.ver
libtool: link:  cat .libs/libbson-1.0.exp | sed -e "s/\(.*\)/\1;/" >> .libs/libbson-1.0.ver
libtool: link:  echo "local: *; };" >> .libs/libbson-1.0.ver
libtool: link:  gcc -shared  -fPIC -DPIC  .libs/libbson_1_0_la-bson.o .libs/libbson_1_0_la-bson-compat.o .libs/libbson_1_0_la-bson-context.o .libs/libbson_1_0_la-bson-clock.o .libs/libbson_1_0_la-bson-error.o .libs/libbson_1_0_la-bson-iter.o .libs/libbson_1_0_la-bson-keys.o .libs/libbson_1_0_la-bson-md5.o .libs/libbson_1_0_la-bson-memory.o .libs/libbson_1_0_la-bson-oid.o .libs/libbson_1_0_la-bson-reader.o .libs/libbson_1_0_la-bson-string.o .libs/libbson_1_0_la-bson-utf8.o .libs/libbson_1_0_la-bson-writer.o .libs/libbson_1_0_la-bcon.o   -lpthread  -O2 -pthread -Wl,-Bsymbolic-functions   -pthread -Wl,-soname -Wl,libbson-1.0.so.0 -Wl,-version-script -Wl,.libs/libbson-1.0.ver -o .libs/libbson-1.0.so.0.400.1
/usr/bin/ld:.libs/libbson-1.0.ver:2: ignoring invalid character `\033' in script
/usr/bin/ld:.libs/libbson-1.0.ver:2: ignoring invalid character `3' in script
/usr/bin/ld:.libs/libbson-1.0.ver:2: ignoring invalid character `1' in script
/usr/bin/ld:.libs/libbson-1.0.ver:2: ignoring invalid character `\033' in script
/usr/bin/ld:.libs/libbson-1.0.ver:2: syntax error in VERSION script
collect2: error: ld returned 1 exit status
make[1]: *** [libbson-1.0.la] Error 1
make[1]: Leaving directory `/home/s/code/mongo/libbson'
make: *** [all] Error 2



 Comments   
Comment by Christian Hergert [ 13/Feb/14 ]

If this were a bug, it would be in libtool. But generally speaking, not letting grep determine when it is in a PTY sounds like a really bad idea (and not sure it is very realistic to expect all software to parse $GREP_OPTIONS).

Generated at Wed Feb 07 21:09:01 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.