Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 575940 - www-client/firefox-44.0.2 fails to build - config/makefiles/autotargets.mk:94: *** missing separator. Stop.
Summary: www-client/firefox-44.0.2 fails to build - config/makefiles/autotargets.mk:94...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-02-28 20:34 UTC by Marcin Szamotulski
Modified: 2017-05-08 01:47 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log of emerge firefox (build.log,10.97 KB, text/x-log)
2016-02-28 20:39 UTC, Marcin Szamotulski
Details
emerge info (emerge.info,5.95 KB, application/x-info)
2016-02-28 20:40 UTC, Marcin Szamotulski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marcin Szamotulski 2016-02-28 20:34:20 UTC
The build.log contains:
make -j8 -f client.mk configure 
/var/tmp/portage/www-client/firefox-44.0.2/work/firefox-44.0.2/config/makefiles/autotargets.mk:94: *** missing separator.  Stop.


Reproducible: Always

Steps to Reproduce:
1. emerge firefox
Comment 1 Marcin Szamotulski 2016-02-28 20:39:53 UTC
Created attachment 426930 [details]
build.log of emerge firefox
Comment 2 Marcin Szamotulski 2016-02-28 20:40:33 UTC
Created attachment 426932 [details]
emerge info
Comment 3 Ian Stakenvicius (RETIRED) gentoo-dev 2016-02-29 17:29:54 UTC
I can't reproduce this.

Can you manually confirm the contents of /var/tmp/portage/www-client/firefox-44.0.2/work/firefox-44.0.2/ please?  After the prepare phase it should take up 1.3G of space.  Also, what filesystem are you using for /var/tmp/portage ?
Comment 4 Marcin Szamotulski 2016-02-29 19:21:50 UTC
After restarting the box, and running from a linux console rather than the gnome-terminal, everything went right (I don't see how this could be related).  This solved similar issues with a bunch of other ebuilds.
Comment 5 Ryoto Yayame 2017-05-08 01:47:14 UTC
Please reopen.

Could someone without the issue try:

===================================
function _foo() { if [ 1 ]; then a=''; fi; }; export -f _foo
emerge firefox
===================================

...? I spent an hour and a half, and 60 attempts, reducing my test case to this... Not sure if I can do more to understand what is going on precisely...

Both the function name underscore, and the function body, seem necessary... Replacing the body with { :; }, or removing the underscore (unsetting the previous definition, of course, but staying in the same environment), make Firefox emerge properly...

See https://forums.gentoo.org/viewtopic-t-1011260-view-next.html for a third person having this issue ("missing separator" failure, after about 30 seconds of emerging). The trigger seems a bit different in each case (the reporter in this bug report does not seem to have function definitions in his environment... unless he cut them out...), but there is something going on between the environment and I suppose the kludge used in client.mk/autotargets.mk.


I'm still having this problem with www-client/firefox-53.0:

===================================
make --jobs=8 -f client.mk configure 
Traceback (most recent call last):
  File "/var/tmp/portage/www-client/firefox-53.0/work/firefox-53.0/python/mozbuild/mozbuild/mozconfig.py", line 260, in read_mozconfig
    parsed = self._parse_loader_output(output)
  File "/var/tmp/portage/www-client/firefox-53.0/work/firefox-53.0/python/mozbuild/mozbuild/mozconfig.py", line 380, in _parse_loader_output
    assert not in_variable
AssertionError
client.mk:114: *** missing separator.  Stop.
 * ERROR: www-client/firefox-53.0::gentoo failed (configure phase):
 *   emake failed
===================================


The workaround is to temporarily move away all Bash configuration (if you can't determine the specific issue, like my function definitions/exporting in my case), and `su -l` again as root to have a clean environment to emerge Firefox in.