MacOS Mojave -invalid use of incomplete type 'class BString' Error

Hello there.I’m using MacOS Mojave 10.14.6. The errors I receive are:

src/kits/app/LinkReceiver.cpp:378:18: error: invalid use of incomplete type ’ class BString

char* buffer = string .LockBuffer(length + 1);

*^~~~~~*

In file included from src/kits/app/LinkReceiver.cpp:16 :

headers/private/app/LinkReceiver.h:18:7: note: forward declaration of ’ class BString

class BString ;

**^~~~~~~**

src/kits/app/LinkReceiver.cpp:386:4: error: invalid use of incomplete type ’ class BString

string .UnlockBuffer();

*^~~~~~*

In file included from src/kits/app/LinkReceiver.cpp:16 :

headers/private/app/LinkReceiver.h:18:7: note: forward declaration of ’ class BString

class BString ;

**^~~~~~~**

src/kits/app/LinkReceiver.cpp:392:3: error: invalid use of incomplete type ’ class BString

string .UnlockBuffer(length);

*^~~~~~*

In file included from src/kits/app/LinkReceiver.cpp:16 :

headers/private/app/LinkReceiver.h:18:7: note: forward declaration of ’ class BString

class BString ;

**^~~~~~~**

src/kits/app/LinkReceiver.cpp:394:3: error: invalid use of incomplete type ’ class BString

string = “”;

*^~~~~~*

In file included from src/kits/app/LinkReceiver.cpp:16 :

headers/private/app/LinkReceiver.h:18:7: note: forward declaration of ’ class BString

class BString ;

**^~~~~~~**

What should I do?

This is a known bug: https://dev.haiku-os.org/ticket/14963

Exactly what is happening here is not clear. It seems to have something to do with the supposedly case-sensitive FS either not being case sensitive, or GCC thinking that it is case insensitive and proceeding with that erroneous assumption (IIRC the latter lined up to the syscall traces I did.)

Not many people build on macOS, so, nobody has actually taken the time to investigate or fix…

3 Likes