# Cannot compile /devel/gettext-runtime - help please



## HL1234 (Dec 7, 2022)

FreeBSD 13.1,  no Desktop, web, eMail services installed form the ports, because some config settings of them has changed.

Hello,
I make some port updates. A lot of them depends on devel/gettext and this from devel/gettext-runtime. There I get an error. I have tried to build this port directly:
`cd /usr/ports/devel/gettext-runtime`
`make build`
I get this error, after some time compiling:

```
....
===>  Building for gettext-runtime-0.21.1
--- all ---
/usr/bin/make  all-recursive
--- all-recursive ---
Making all in doc
Making all in intl
--- all ---
/usr/bin/make  all-am
--- libintl.la ---
/bin/sh ../libtool  --tag=CC    --mode=link cc -fvisibility=hidden -O2 -pipe  -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing      -no-undefined  -export-symbols-regex '^([^g]|g[^l]|gl[^w]|glw[^t]|glwt[^h]|glwth[^r]|glwthr[^e]|glwthre[^a]|glwthrea[^d]).*'  -version-info 11:0:3  -rpath /usr/local/lib -fstack-protector-strong -o libintl.la  bindtextdom.lo dcgettext.lo dgettext.lo gettext.lo  finddomain.lo hash-string.lo loadmsgcat.lo localealias.lo  textdomain.lo l10nflist.lo explodename.lo dcigettext.lo  dcngettext.lo dngettext.lo ngettext.lo plural.lo plural-exp.lo  localcharset.lo threadlib.lo lock.lo relocatable.lo  langprefs.lo localename.lo localename-table.lo log.lo  printf.lo setlocale.lo setlocale-lock.lo setlocale_null.lo  version.lo xsize.lo osdep.lo intl-compat.lo
libtool: link: /usr/local/bin/nm  .libs/bindtextdom.o .libs/dcgettext.o .libs/dgettext.o .libs/gettext.o .libs/finddomain.o .libs/hash-string.o .libs/loadmsgcat.o .libs/localealias.o .libs/textdomain.o .libs/l10nflist.o .libs/explodename.o .libs/dcigettext.o .libs/dcngettext.o .libs/dngettext.o .libs/ngettext.o .libs/plural.o .libs/plural-exp.o .libs/localcharset.o .libs/threadlib.o .libs/lock.o .libs/relocatable.o .libs/langprefs.o .libs/localename.o .libs/localename-table.o .libs/log.o .libs/printf.o .libs/setlocale.o .libs/setlocale-lock.o .libs/setlocale_null.o .libs/version.o .libs/xsize.o .libs/osdep.o .libs/intl-compat.o   |  | /usr/bin/sed 's/.* //' | sort | uniq > .libs/libintl.exp
eval: 1: Syntax error: "|" unexpected
*** [libintl.la] Error code 2

make[5]: stopped in /usr/ports/devel/gettext-runtime/work/gettext-0.21.1/gettext-runtime/intl
1 error
....
===> Compilation failed unexpectedly.
```
`set MAKE_JOBS_UNSAFE=yes` doesn't help. 

I have noticed that: _eval: 1: Syntax error: "|" unexpected_
I have tried to compile the port without /etc/make.conf because maybe there could now some wrong settings from me - but the same error occurs. 

What can I do now?


----------



## Alain De Vos (Dec 7, 2022)

Try to upgrade the ports tree.


----------



## covacat (Dec 7, 2022)

try

```
cd /usr/ports/devel/gettext-runtime
env - /bin/sh
export PATH
make clean all
```


----------



## Alain De Vos (Dec 7, 2022)

I thought by default make would use the sh shell. But i might be wrong.


----------



## covacat (Dec 7, 2022)

the idea was to clear the env
some builds bomb with non C locale or weird path, env vars 
not sure it worked, it was building ok for me with my std env


----------



## HL1234 (Dec 7, 2022)

Alain De Vos said:


> Try to upgrade the ports tree.


I do this every time before I start something with the ports.


covacat said:


> try
> 
> ```
> cd /usr/ports/devel/gettext-runtime
> ...


covacat many thanks. It has worked and fixed the error. Can you explain me why?
`env - /bin/sh` will clear the environment to standard shell. Normally I use .tcshrc at login. And PATH is set as
`echo $PATH`
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
I do not understand why the syntax error is now gone.
Update: `env`
SHELL=/bin/tcsh
MM_CHARSET=ISO8859-15
EDITOR=/usr/bin/ee
PAGER=/usr/bin/less
MANPAGER=/usr/bin/less
...


----------



## Alain De Vos (Dec 7, 2022)

Now i build kernel & ports in jail. So environment is always good & clean & minimal.


----------



## covacat (Dec 7, 2022)

configure / auto* create build scripts which depend somehow on env vars
if vars contains spaces or non ascii or whatever things may happen
just try 
PATH="$PATH:/a a" and try to build again


----------

