Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pegasus compile failed on Ubuntu after supporting build on MacOS #900

Closed
hycdong opened this issue Jan 29, 2022 · 2 comments
Closed

Pegasus compile failed on Ubuntu after supporting build on MacOS #900

hycdong opened this issue Jan 29, 2022 · 2 comments
Labels
type/bug This issue reports a bug.

Comments

@hycdong
Copy link
Contributor

hycdong commented Jan 29, 2022

Bug Report

Gcc 5.4.0, Cmake 3.13.2
Use Pegasus master(59dc6bd) and rdsn master(2dd67e0), complie failed, the error like following.

Complie failed errors

Building...
Scanning dependencies of target pegasus_base
[  0%] Building CXX object base/CMakeFiles/pegasus_base.dir/pegasus_const.cpp.o
[  1%] Building CXX object base/CMakeFiles/pegasus_base.dir/pegasus_utils.cpp.o
[  2%] Building CXX object base/CMakeFiles/pegasus_base.dir/rrdb_types.cpp.o
[  2%] Building CXX object base/CMakeFiles/pegasus_base.dir/value_schema_manager.cpp.o
[  3%] Building CXX object base/CMakeFiles/pegasus_base.dir/value_schema_v0.cpp.o
[  4%] Building CXX object base/CMakeFiles/pegasus_base.dir/value_schema_v1.cpp.o
[  4%] Building CXX object base/CMakeFiles/pegasus_base.dir/value_schema_v2.cpp.o
Scanning dependencies of target pegasus_client_impl_objects
[  5%] Building CXX object client_lib/CMakeFiles/pegasus_client_impl_objects.dir/client_factory.cpp.o
[  5%] Building CXX object client_lib/CMakeFiles/pegasus_client_impl_objects.dir/mutation.cpp.o
[  6%] Building CXX object client_lib/CMakeFiles/pegasus_client_impl_objects.dir/pegasus_client_factory_impl.cpp.o
[  7%] Building CXX object client_lib/CMakeFiles/pegasus_client_impl_objects.dir/pegasus_client_impl.cpp.o
[  7%] Building CXX object client_lib/CMakeFiles/pegasus_client_impl_objects.dir/pegasus_scanner_impl.cpp.o
In file included from /home/heyuchen/work/pegasus_github/pegasus/DSN_ROOT/include/dsn/c/api_layer1.h:33:0,
                 from /home/heyuchen/work/pegasus_github/pegasus/DSN_ROOT/include/dsn/service_api_c.h:85,
                 from /home/heyuchen/work/pegasus_github/pegasus/DSN_ROOT/include/dsn/service_api_cpp.h:38,
                 from /home/heyuchen/work/pegasus_github/pegasus/src/include/rrdb/rrdb_types.h:18,
                 from /home/heyuchen/work/pegasus_github/pegasus/src/include/rrdb/rrdb.client.h:22,
                 from /home/heyuchen/work/pegasus_github/pegasus/src/client_lib/pegasus_client_impl.h:24,
                 from /home/heyuchen/work/pegasus_github/pegasus/src/client_lib/pegasus_client_factory_impl.h:24,
                 from /home/heyuchen/work/pegasus_github/pegasus/src/client_lib/client_factory.cpp:21:
/home/heyuchen/work/pegasus_github/pegasus/DSN_ROOT/include/dsn/tool-api/task_tracker.h: In member function ‘void dsn::trackable_task::set_tracker(dsn::task_tracker*, dsn::task*)’:
/home/heyuchen/work/pegasus_github/pegasus/DSN_ROOT/include/dsn/tool-api/task_tracker.h:179:121: error: ‘__FILENAME__’ was not declared in this scope
In file included from /home/heyuchen/work/pegasus_github/pegasus/DSN_ROOT/include/dsn/c/api_layer1.h:33:0,
                 from /home/heyuchen/work/pegasus_github/pegasus/DSN_ROOT/include/dsn/service_api_c.h:85,
                 from /home/heyuchen/work/pegasus_github/pegasus/DSN_ROOT/include/dsn/service_api_cpp.h:38,
                 from /home/heyuchen/work/pegasus_github/pegasus/src/include/rrdb/rrdb_types.h:18,
                 from /home/heyuchen/work/pegasus_github/pegasus/src/include/rrdb/rrdb.client.h:22,
                 from /home/heyuchen/work/pegasus_github/pegasus/src/client_lib/pegasus_client_impl.h:24,
                 from /home/heyuchen/work/pegasus_github/pegasus/src/client_lib/pegasus_client_factory_impl.h:24,
                 from /home/heyuchen/work/pegasus_github/pegasus/src/client_lib/client_factory.cpp:21:
......
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
ERROR: build pegasus failed
ERROR: build pegasus failed

How to fix it

I reset commits supporting build on MacOS, and can build succeed in my envrioment.
XiaoMi/rdsn#1034 and #891
I suggest that we should revert those pull requests, and create a new branch called supporting-mac, and merge those pull requests into supporting-mac branch not master branch.

@hycdong hycdong added the type/bug This issue reports a bug. label Jan 29, 2022
@acelyc111
Copy link
Member

I think we'd better try to keep building successfully on both Linux and macOS on master branch, the portability of an open source project is a basic requirement.

@hycdong
Copy link
Contributor Author

hycdong commented Feb 7, 2022

I think we'd better try to keep building successfully on both Linux and macOS on master branch, the portability of an open source project is a basic requirement.

Sure~ I agree that the best way is keep building successfully on both Linux and MacOS, but the precondition is that we can quickly fix the current Linux building failed problem.
Could you please estimate that how long the bug can be fixed? If it can be fixed quickly, we can remain current code waiting the new pull request. If it will take a few time, I suggest revert firstly, it doesn't mean that I disagree supporting building on MaxOS, it just a temporary transition plan, I also expect that master branch can build succeed on MacOS and Linux.
For the newest pull request, it will compile failed in ci process, can reference: https://github.com/apache/incubator-pegasus/runs/4990539990?check_suite_focus=true

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/bug This issue reports a bug.
Projects
None yet
Development

No branches or pull requests

2 participants