facebook / facebook/folly

error: there are no arguments to ‘occupiedMask’ that depend on a template parameter, so a declaration of ‘occupiedMask’ must be available

Open
#2,416 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
30.5k
Forks
5.9k
PR merge metrics
No merged PRs in 30d

Description

folly fails to build on riscv64 when compiled as part of dawrfs 0.12.1:

/usr/bin/c++ -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DBOOST_SYSTEM_NO_LIB -DDWARFS_HAVE_CLOSE_RANGE=1 -DFMT_SHARED -DFOLLY_CFG_NO_COROUTINES -DGLOG_NO_ABBREVIATED_SEVERITIES -DGLOG_USE_GLOG_EXPORT -DNOGDI -DNOMINMAX -D_GNU_SOURCE -D_REENTRANT -I/home/abuild/rpmbuild/BUILD/dwarfs-0.12.1-build/dwarfs-0.12.1/include -isystem /home/abuild/rpmbuild/BUILD/dwarfs-0.12.1-build/dwarfs-0.12.1/build/folly -isystem /home/abuild/rpmbuild/BUILD/dwarfs-0.12.1-build/dwarfs-0.12.1/folly -isystem /home/abuild/rpmbuild/BUILD/dwarfs-0.12.1-build/dwarfs-0.12.1/fast_float -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -O2 -g -DNDEBUG -std=c++20 -fPIC -fdiagnostics-color=always -g -finput-charset=UTF-8 -fsigned-char -Wall -Wno-deprecated -Wno-deprecated-declarations -Wno-sign-compare -Wno-unused -Wuninitialized -Wunused-label -Wunused-result -Wextra -pedantic -Wno-stringop-overflow -MD -MT CMakeFiles/dwarfs_folly_lite.dir/folly/folly/container/detail/F14Table.cpp.o -MF CMakeFiles/dwarfs_folly_lite.dir/folly/folly/container/detail/F14Table.cpp.o.d -o CMakeFiles/dwarfs_folly_lite.dir/folly/folly/container/detail/F14Table.cpp.o -c /home/abuild/rpmbuild/BUILD/dwarfs-0.12.1-build/dwarfs-0.12.1/folly/folly/container/detail/F14Table.cpp
In file included from /home/abuild/rpmbuild/BUILD/dwarfs-0.12.1-build/dwarfs-0.12.1/folly/folly/container/detail/F14Table.cpp:17:
/home/abuild/rpmbuild/BUILD/dwarfs-0.12.1-build/dwarfs-0.12.1/folly/folly/container/detail/F14Table.h: In member function ‘folly::f14::detail::DenseMaskIter folly::f14::detail::F14Chunk::occupiedIter() const’:
/home/abuild/rpmbuild/BUILD/dwarfs-0.12.1-build/dwarfs-0.12.1/folly/folly/container/detail/F14Table.h:792:37: error: there are no arguments to ‘occupiedMask’ that depend on a template parameter, so a declaration of ‘occupiedMask’ must be available [-fpermissive]
792 | return DenseMaskIter{&tags_[0], occupiedMask()};
| ^~~~~~~~~~~~

Contributor guide

Open the contributing guide

Research direction

Start with folly/container/detail/F14Table.h around F14Chunk::occupiedIter() and inspect the related declaration of occupiedMask; folly/container/detail/F14Table.cpp is the compilation entry point shown in the report. Reproduce the reported C++20 build on riscv64, then verify that F14Table.cpp compiles without the occupiedMask template lookup error.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.