Page MenuHomePhabricator

Fix `libfbjs`.
ClosedPublic

Authored by joshuaspence on Jun 9 2014, 11:49 PM.
Tags
None
Referenced Files
F19705386: D9446.diff
Wed, Feb 11, 6:58 AM
F19555098: D9446.id22555.diff
Jan 30 2026, 8:24 AM
F19554744: D9446.id.diff
Jan 30 2026, 2:20 AM
F19510400: D9446.id22555.diff
Jan 11 2026, 8:58 AM
F19132095: D9446.id22551.diff
Dec 10 2025, 6:10 AM
Unknown Object (File)
Apr 17 2025, 2:55 PM
Unknown Object (File)
Mar 29 2025, 12:02 AM
Unknown Object (File)
Mar 14 2025, 1:25 PM
Subscribers

Details

Summary

Currently, I am unable to build libfbjs. More specifically, I get the following error:

g++  -fPIC -Wall -DNOT_FBMAKE=1 -ggdb -g -O0 -DDEBUG  -c -o parser.yacc.o parser.yacc.cpp
In file included from parser.hpp:35:0,
                 from parser.yy:23:
parser.yacc.hpp:186:31: error: ‘Node’ has not been declared
 int yyparse (void* yyscanner, Node* root);
                               ^
make: *** [parser.yacc.o] Error 1

It seems that the issue is that in the generated parser.yacc.hpp, Node isn't fully qualified with the correct namespace (i.e. libfbjs::Node). Comparing parser.y from libfbjs with the same file from xhpast, it seems that the namespace is missing from libfbjs.

Test Plan

After this change, I am able to build libfbjs using make.

Diff Detail

Repository
rJX Javelin
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

joshuaspence retitled this revision from to Fix `libfbjs`..
joshuaspence updated this object.
joshuaspence edited the test plan for this revision. (Show Details)
joshuaspence added a reviewer: epriestley.
epriestley edited edge metadata.

This version builds fine on my machine too.

This revision is now accepted and ready to land.Jun 10 2014, 2:41 AM
epriestley updated this revision to Diff 22555.

Closed by commit rJXbeb64901b20a (authored by @joshuaspence, committed by @epriestley).