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

Missing Math::BigInt Perl module silently breaks build #7074

Closed
dottedmag opened this issue Nov 12, 2023 · 1 comment · Fixed by #7086 or #7110
Closed

Missing Math::BigInt Perl module silently breaks build #7074

dottedmag opened this issue Nov 12, 2023 · 1 comment · Fixed by #7086 or #7110
Labels
bug Something isn't working

Comments

@dottedmag
Copy link
Contributor

dottedmag commented Nov 12, 2023

What version of Bun is running?

1.0.10+d85bd49d8

What platform is your computer?

Fedora 39, Linux 6.5.5-200.fc38.x86_64 x86_64 unknown

What steps can reproduce the bug?

  • Create a new minimal Fedora installation (e.g. a chroot using dnf --installroot)
  • Try building Bun using the contribution guide

What is the expected behavior?

Bun build fails due to missing Math::BigInt Perl module used by code generator tool.

What do you see instead?

Generated files are nearly empty, and build mysteriously fails due to missing C++ symbols that weren't written into the generated files:

/home/dottedmag/bun/src/bun.js/bindings/ProcessBindingConstants.cpp:1093:98: error: use of undeclared identifier 'processBindingConstantsTable'
const ClassInfo ProcessBindingConstants::s_info = { "ProcessBindingConstants"_s, &Base::s_info, &processBindingConstantsTable, nullptr, CREATE_METHOD_TABLE(ProcessBindingConstants) };
                                                                                                 ^
1 error generated.
[223/228] Building CXX object CMakeFiles/bun-debug.dir/src/bun.js/bindings/BunProcess.cpp.o
FAILED: CMakeFiles/bun-debug.dir/src/bun.js/bindings/BunProcess.cpp.o 
/usr/bin/ccache /home/dottedmag/clang/clang/bin/clang++ -DASSERT_ENABLED=0 -DBUILDING_JSCONLY__ -DBUILDING_WITH_CMAKE=1 -DBUN_DEBUG=1 -DBUN_DYNAMIC_JS_LOAD_PATH=\"/home/dottedmag/bun/build/js\" -DBUN_SINGLE_THREADED_PER_VM_ENTRY_SCOPE=1 -DIS_BUILD -DJSC_OBJC_API_ENABLED=0 -DLAZY_LOAD_SQLITE=0 -DLIBUS_USE_BORINGSSL=1 -DLIBUS_USE_OPENSSL=1 -DNAPI_EXPERIMENTAL=ON -DNDEBUG=1 -DNOMINMAX -DSTATICALLY_LINKED_WITH_BMALLOC=1 -DSTATICALLY_LINKED_WITH_JavaScriptCore=1 -DSTATICALLY_LINKED_WITH_WTF=1 -DUWS_HTTPRESPONSE_NO_WRITEMARK=1 -DWITH_BORINGSSL=1 -D_HAS_EXCEPTIONS=0 -I/home/dottedmag/bun/packages -I/home/dottedmag/bun/packages/bun-usockets -I/home/dottedmag/bun/packages/bun-usockets/src -I/home/dottedmag/bun/src/bun.js/bindings -I/home/dottedmag/bun/src/bun.js/bindings/webcore -I/home/dottedmag/bun/src/bun.js/bindings/webcrypto -I/home/dottedmag/bun/src/bun.js/bindings/sqlite -I/home/dottedmag/bun/src/bun.js/modules -I/home/dottedmag/bun/src/js/builtins -I/home/dottedmag/bun/src/napi -I/home/dottedmag/bun/src/deps -I/home/dottedmag/bun/src/deps/picohttpparser -I/home/dottedmag/bun/build/bun-webkit/include -I/home/dottedmag/bun/build/codegen -I/home/dottedmag/bun/src/deps/zlib -I/home/dottedmag/bun/src/deps/boringssl/include -I/home/dottedmag/bun/src/deps/libarchive/include -I/home/dottedmag/bun/src/deps/mimalloc/include -I/home/dottedmag/bun/src/deps/zstd/include -I/home/dottedmag/bun/src/deps/c-ares/include -I/home/dottedmag/bun/src/deps/base64/include -std=c++2a -g -std=gnu++20 -fvisibility=hidden -fvisibility-inlines-hidden -fcolor-diagnostics -g3 -O1 -gdwarf-4 -fdiagnostics-color=always -march=haswell -ferror-limit=100 -fPIC -mtune=haswell -fconstexpr-steps=1271242 -fconstexpr-depth=27 -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fno-rtti -fno-omit-frame-pointer -MD -MT CMakeFiles/bun-debug.dir/src/bun.js/bindings/BunProcess.cpp.o -MF CMakeFiles/bun-debug.dir/src/bun.js/bindings/BunProcess.cpp.o.d -o CMakeFiles/bun-debug.dir/src/bun.js/bindings/BunProcess.cpp.o -c /home/dottedmag/bun/src/bun.js/bindings/BunProcess.cpp
/home/dottedmag/clang/clang/bin/clang++: /lib64/libtinfo.so.6: no version information available (required by /home/dottedmag/clang/clang/bin/clang++)
/home/dottedmag/bun/src/bun.js/bindings/BunProcess.cpp:2085:38: error: use of undeclared identifier 'processObjectTable'
    = { "Process"_s, &Base::s_info, &processObjectTable, nullptr,
                                     ^
1 error generated.
[224/228] Building CXX object CMakeFiles/bun-debug.dir/src/bun.js/bindings/BunObject.cpp.o
FAILED: CMakeFiles/bun-debug.dir/src/bun.js/bindings/BunObject.cpp.o 
/usr/bin/ccache /home/dottedmag/clang/clang/bin/clang++ -DASSERT_ENABLED=0 -DBUILDING_JSCONLY__ -DBUILDING_WITH_CMAKE=1 -DBUN_DEBUG=1 -DBUN_DYNAMIC_JS_LOAD_PATH=\"/home/dottedmag/bun/build/js\" -DBUN_SINGLE_THREADED_PER_VM_ENTRY_SCOPE=1 -DIS_BUILD -DJSC_OBJC_API_ENABLED=0 -DLAZY_LOAD_SQLITE=0 -DLIBUS_USE_BORINGSSL=1 -DLIBUS_USE_OPENSSL=1 -DNAPI_EXPERIMENTAL=ON -DNDEBUG=1 -DNOMINMAX -DSTATICALLY_LINKED_WITH_BMALLOC=1 -DSTATICALLY_LINKED_WITH_JavaScriptCore=1 -DSTATICALLY_LINKED_WITH_WTF=1 -DUWS_HTTPRESPONSE_NO_WRITEMARK=1 -DWITH_BORINGSSL=1 -D_HAS_EXCEPTIONS=0 -I/home/dottedmag/bun/packages -I/home/dottedmag/bun/packages/bun-usockets -I/home/dottedmag/bun/packages/bun-usockets/src -I/home/dottedmag/bun/src/bun.js/bindings -I/home/dottedmag/bun/src/bun.js/bindings/webcore -I/home/dottedmag/bun/src/bun.js/bindings/webcrypto -I/home/dottedmag/bun/src/bun.js/bindings/sqlite -I/home/dottedmag/bun/src/bun.js/modules -I/home/dottedmag/bun/src/js/builtins -I/home/dottedmag/bun/src/napi -I/home/dottedmag/bun/src/deps -I/home/dottedmag/bun/src/deps/picohttpparser -I/home/dottedmag/bun/build/bun-webkit/include -I/home/dottedmag/bun/build/codegen -I/home/dottedmag/bun/src/deps/zlib -I/home/dottedmag/bun/src/deps/boringssl/include -I/home/dottedmag/bun/src/deps/libarchive/include -I/home/dottedmag/bun/src/deps/mimalloc/include -I/home/dottedmag/bun/src/deps/zstd/include -I/home/dottedmag/bun/src/deps/c-ares/include -I/home/dottedmag/bun/src/deps/base64/include -std=c++2a -g -std=gnu++20 -fvisibility=hidden -fvisibility-inlines-hidden -fcolor-diagnostics -g3 -O1 -gdwarf-4 -fdiagnostics-color=always -march=haswell -ferror-limit=100 -fPIC -mtune=haswell -fconstexpr-steps=1271242 -fconstexpr-depth=27 -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fno-rtti -fno-omit-frame-pointer -MD -MT CMakeFiles/bun-debug.dir/src/bun.js/bindings/BunObject.cpp.o -MF CMakeFiles/bun-debug.dir/src/bun.js/bindings/BunObject.cpp.o.d -o CMakeFiles/bun-debug.dir/src/bun.js/bindings/BunObject.cpp.o -c /home/dottedmag/bun/src/bun.js/bindings/BunObject.cpp
/home/dottedmag/clang/clang/bin/clang++: /lib64/libtinfo.so.6: no version information available (required by /home/dottedmag/clang/clang/bin/clang++)
/home/dottedmag/bun/src/bun.js/bindings/BunObject.cpp:705:71: error: use of undeclared identifier 'bunObjectTable'
const JSC::ClassInfo JSBunObject::s_info = { "Bun"_s, &Base::s_info, &bunObjectTable, nullptr, CREATE_METHOD_TABLE(JSBunObject) };
                                                                      ^
1 error generated.
[225/228] Building CXX object CMakeFiles/bun-debug.dir/src/bun.js/bindings/JSBuffer.cpp.o
FAILED: CMakeFiles/bun-debug.dir/src/bun.js/bindings/JSBuffer.cpp.o 
/usr/bin/ccache /home/dottedmag/clang/clang/bin/clang++ -DASSERT_ENABLED=0 -DBUILDING_JSCONLY__ -DBUILDING_WITH_CMAKE=1 -DBUN_DEBUG=1 -DBUN_DYNAMIC_JS_LOAD_PATH=\"/home/dottedmag/bun/build/js\" -DBUN_SINGLE_THREADED_PER_VM_ENTRY_SCOPE=1 -DIS_BUILD -DJSC_OBJC_API_ENABLED=0 -DLAZY_LOAD_SQLITE=0 -DLIBUS_USE_BORINGSSL=1 -DLIBUS_USE_OPENSSL=1 -DNAPI_EXPERIMENTAL=ON -DNDEBUG=1 -DNOMINMAX -DSTATICALLY_LINKED_WITH_BMALLOC=1 -DSTATICALLY_LINKED_WITH_JavaScriptCore=1 -DSTATICALLY_LINKED_WITH_WTF=1 -DUWS_HTTPRESPONSE_NO_WRITEMARK=1 -DWITH_BORINGSSL=1 -D_HAS_EXCEPTIONS=0 -I/home/dottedmag/bun/packages -I/home/dottedmag/bun/packages/bun-usockets -I/home/dottedmag/bun/packages/bun-usockets/src -I/home/dottedmag/bun/src/bun.js/bindings -I/home/dottedmag/bun/src/bun.js/bindings/webcore -I/home/dottedmag/bun/src/bun.js/bindings/webcrypto -I/home/dottedmag/bun/src/bun.js/bindings/sqlite -I/home/dottedmag/bun/src/bun.js/modules -I/home/dottedmag/bun/src/js/builtins -I/home/dottedmag/bun/src/napi -I/home/dottedmag/bun/src/deps -I/home/dottedmag/bun/src/deps/picohttpparser -I/home/dottedmag/bun/build/bun-webkit/include -I/home/dottedmag/bun/build/codegen -I/home/dottedmag/bun/src/deps/zlib -I/home/dottedmag/bun/src/deps/boringssl/include -I/home/dottedmag/bun/src/deps/libarchive/include -I/home/dottedmag/bun/src/deps/mimalloc/include -I/home/dottedmag/bun/src/deps/zstd/include -I/home/dottedmag/bun/src/deps/c-ares/include -I/home/dottedmag/bun/src/deps/base64/include -std=c++2a -g -std=gnu++20 -fvisibility=hidden -fvisibility-inlines-hidden -fcolor-diagnostics -g3 -O1 -gdwarf-4 -fdiagnostics-color=always -march=haswell -ferror-limit=100 -fPIC -mtune=haswell -fconstexpr-steps=1271242 -fconstexpr-depth=27 -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fno-rtti -fno-omit-frame-pointer -MD -MT CMakeFiles/bun-debug.dir/src/bun.js/bindings/JSBuffer.cpp.o -MF CMakeFiles/bun-debug.dir/src/bun.js/bindings/JSBuffer.cpp.o.d -o CMakeFiles/bun-debug.dir/src/bun.js/bindings/JSBuffer.cpp.o -c /home/dottedmag/bun/src/bun.js/bindings/JSBuffer.cpp
/home/dottedmag/clang/clang/bin/clang++: /lib64/libtinfo.so.6: no version information available (required by /home/dottedmag/clang/clang/bin/clang++)
/home/dottedmag/bun/src/bun.js/bindings/JSBuffer.cpp:1993:77: error: use of undeclared identifier 'jsBufferConstructorTable'; did you mean 'JSBuiltinFunctions::jsBufferConstructorBuiltins'?
const ClassInfo JSBufferConstructor::s_info = { "Buffer"_s, &Base::s_info, &jsBufferConstructorTable, nullptr, CREATE_METHOD_TABLE(JSBufferConstructor) };
                                                                            ^~~~~~~~~~~~~~~~~~~~~~~~
                                                                            JSBuiltinFunctions::jsBufferConstructorBuiltins
/home/dottedmag/bun/build/codegen/WebCoreJSBuiltins.h:5780:41: note: 'JSBuiltinFunctions::jsBufferConstructorBuiltins' declared here
    JSBufferConstructorBuiltinsWrapper& jsBufferConstructorBuiltins() { return m_jsBufferConstructorBuiltins; }
                                        ^
/home/dottedmag/bun/src/bun.js/bindings/JSBuffer.cpp:1993:76: error: cannot initialize a member subobject of type 'const HashTable *' with an rvalue of type 'JSBufferConstructorBuiltinsWrapper &(WebCore::JSBuiltinFunctions::*)()'
const ClassInfo JSBufferConstructor::s_info = { "Buffer"_s, &Base::s_info, &jsBufferConstructorTable, nullptr, CREATE_METHOD_TABLE(JSBufferConstructor) };
                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
[226/228] Building CXX object CMakeFiles/bun-debug.dir/codegen/JSSink.cpp.o
FAILED: CMakeFiles/bun-debug.dir/codegen/JSSink.cpp.o 
/usr/bin/ccache /home/dottedmag/clang/clang/bin/clang++ -DASSERT_ENABLED=0 -DBUILDING_JSCONLY__ -DBUILDING_WITH_CMAKE=1 -DBUN_DEBUG=1 -DBUN_DYNAMIC_JS_LOAD_PATH=\"/home/dottedmag/bun/build/js\" -DBUN_SINGLE_THREADED_PER_VM_ENTRY_SCOPE=1 -DIS_BUILD -DJSC_OBJC_API_ENABLED=0 -DLAZY_LOAD_SQLITE=0 -DLIBUS_USE_BORINGSSL=1 -DLIBUS_USE_OPENSSL=1 -DNAPI_EXPERIMENTAL=ON -DNDEBUG=1 -DNOMINMAX -DSTATICALLY_LINKED_WITH_BMALLOC=1 -DSTATICALLY_LINKED_WITH_JavaScriptCore=1 -DSTATICALLY_LINKED_WITH_WTF=1 -DUWS_HTTPRESPONSE_NO_WRITEMARK=1 -DWITH_BORINGSSL=1 -D_HAS_EXCEPTIONS=0 -I/home/dottedmag/bun/packages -I/home/dottedmag/bun/packages/bun-usockets -I/home/dottedmag/bun/packages/bun-usockets/src -I/home/dottedmag/bun/src/bun.js/bindings -I/home/dottedmag/bun/src/bun.js/bindings/webcore -I/home/dottedmag/bun/src/bun.js/bindings/webcrypto -I/home/dottedmag/bun/src/bun.js/bindings/sqlite -I/home/dottedmag/bun/src/bun.js/modules -I/home/dottedmag/bun/src/js/builtins -I/home/dottedmag/bun/src/napi -I/home/dottedmag/bun/src/deps -I/home/dottedmag/bun/src/deps/picohttpparser -I/home/dottedmag/bun/build/bun-webkit/include -I/home/dottedmag/bun/build/codegen -I/home/dottedmag/bun/src/deps/zlib -I/home/dottedmag/bun/src/deps/boringssl/include -I/home/dottedmag/bun/src/deps/libarchive/include -I/home/dottedmag/bun/src/deps/mimalloc/include -I/home/dottedmag/bun/src/deps/zstd/include -I/home/dottedmag/bun/src/deps/c-ares/include -I/home/dottedmag/bun/src/deps/base64/include -std=c++2a -g -std=gnu++20 -fvisibility=hidden -fvisibility-inlines-hidden -fcolor-diagnostics -g3 -O1 -gdwarf-4 -fdiagnostics-color=always -march=haswell -ferror-limit=100 -fPIC -mtune=haswell -fconstexpr-steps=1271242 -fconstexpr-depth=27 -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fno-rtti -fno-omit-frame-pointer -MD -MT CMakeFiles/bun-debug.dir/codegen/JSSink.cpp.o -MF CMakeFiles/bun-debug.dir/codegen/JSSink.cpp.o.d -o CMakeFiles/bun-debug.dir/codegen/JSSink.cpp.o -c /home/dottedmag/bun/build/codegen/JSSink.cpp
/home/dottedmag/clang/clang/bin/clang++: /lib64/libtinfo.so.6: no version information available (required by /home/dottedmag/clang/clang/bin/clang++)
/home/dottedmag/bun/build/codegen/JSSink.cpp:716:93: error: use of undeclared identifier 'JSArrayBufferSinkPrototypeTable'
const ClassInfo JSArrayBufferSinkPrototype::s_info = { "ArrayBufferSink"_s, &Base::s_info, &JSArrayBufferSinkPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSArrayBufferSinkPrototype) };
                                                                                            ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:721:129: error: use of undeclared identifier 'JSReadableArrayBufferSinkControllerPrototypeTable'; did you mean 'JSReadableArrayBufferSinkController__close'?
const ClassInfo JSReadableArrayBufferSinkControllerPrototype::s_info = { "ReadableArrayBufferSinkController"_s, &Base::s_info, &JSReadableArrayBufferSinkControllerPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSReadableArrayBufferSinkControllerPrototype) };
                                                                                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                                                                                JSReadableArrayBufferSinkController__close
/home/dottedmag/bun/build/codegen/JSSink.cpp:201:26: note: 'JSReadableArrayBufferSinkController__close' declared here
JSC_DEFINE_HOST_FUNCTION(JSReadableArrayBufferSinkController__close, (JSC::JSGlobalObject * lexicalGlobalObject, JSC::CallFrame *callFrame))
                         ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:721:128: error: cannot initialize a member subobject of type 'const HashTable *' with an rvalue of type 'JSC::EncodedJSValue (*)(JSC::JSGlobalObject *, JSC::CallFrame *)' (aka 'long (*)(JSC::JSGlobalObject *, JSC::CallFrame *)')
const ClassInfo JSReadableArrayBufferSinkControllerPrototype::s_info = { "ReadableArrayBufferSinkController"_s, &Base::s_info, &JSReadableArrayBufferSinkControllerPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSReadableArrayBufferSinkControllerPrototype) };
                                                                                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dottedmag/bun/build/codegen/JSSink.cpp:816:58: error: use of undeclared identifier 'JSArrayBufferSinkPrototypeTableValues'
    reifyStaticProperties(vm, JSArrayBufferSink::info(), JSArrayBufferSinkPrototypeTableValues, *this);
                                                         ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:824:76: error: use of undeclared identifier 'JSReadableArrayBufferSinkControllerPrototypeTableValues'
    reifyStaticProperties(vm, JSReadableArrayBufferSinkController::info(), JSReadableArrayBufferSinkControllerPrototypeTableValues, *this);
                                                                           ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:981:79: error: use of undeclared identifier 'JSFileSinkPrototypeTable'
const ClassInfo JSFileSinkPrototype::s_info = { "FileSink"_s, &Base::s_info, &JSFileSinkPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSFileSinkPrototype) };
                                                                              ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:986:115: error: use of undeclared identifier 'JSReadableFileSinkControllerPrototypeTable'; did you mean 'JSReadableFileSinkController__close'?
const ClassInfo JSReadableFileSinkControllerPrototype::s_info = { "ReadableFileSinkController"_s, &Base::s_info, &JSReadableFileSinkControllerPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSReadableFileSinkControllerPrototype) };
                                                                                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                                                                  JSReadableFileSinkController__close
/home/dottedmag/bun/build/codegen/JSSink.cpp:326:26: note: 'JSReadableFileSinkController__close' declared here
JSC_DEFINE_HOST_FUNCTION(JSReadableFileSinkController__close, (JSC::JSGlobalObject * lexicalGlobalObject, JSC::CallFrame *callFrame))
                         ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:986:114: error: cannot initialize a member subobject of type 'const HashTable *' with an rvalue of type 'JSC::EncodedJSValue (*)(JSC::JSGlobalObject *, JSC::CallFrame *)' (aka 'long (*)(JSC::JSGlobalObject *, JSC::CallFrame *)')
const ClassInfo JSReadableFileSinkControllerPrototype::s_info = { "ReadableFileSinkController"_s, &Base::s_info, &JSReadableFileSinkControllerPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSReadableFileSinkControllerPrototype) };
                                                                                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dottedmag/bun/build/codegen/JSSink.cpp:1081:51: error: use of undeclared identifier 'JSFileSinkPrototypeTableValues'
    reifyStaticProperties(vm, JSFileSink::info(), JSFileSinkPrototypeTableValues, *this);
                                                  ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:1089:69: error: use of undeclared identifier 'JSReadableFileSinkControllerPrototypeTableValues'
    reifyStaticProperties(vm, JSReadableFileSinkController::info(), JSReadableFileSinkControllerPrototypeTableValues, *this);
                                                                    ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:1246:95: error: use of undeclared identifier 'JSHTTPResponseSinkPrototypeTable'
const ClassInfo JSHTTPResponseSinkPrototype::s_info = { "HTTPResponseSink"_s, &Base::s_info, &JSHTTPResponseSinkPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSHTTPResponseSinkPrototype) };
                                                                                              ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:1251:131: error: use of undeclared identifier 'JSReadableHTTPResponseSinkControllerPrototypeTable'; did you mean 'JSReadableHTTPResponseSinkController__close'?
const ClassInfo JSReadableHTTPResponseSinkControllerPrototype::s_info = { "ReadableHTTPResponseSinkController"_s, &Base::s_info, &JSReadableHTTPResponseSinkControllerPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSReadableHTTPResponseSinkControllerPrototype) };
                                                                                                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                                                                                  JSReadableHTTPResponseSinkController__close
/home/dottedmag/bun/build/codegen/JSSink.cpp:451:26: note: 'JSReadableHTTPResponseSinkController__close' declared here
JSC_DEFINE_HOST_FUNCTION(JSReadableHTTPResponseSinkController__close, (JSC::JSGlobalObject * lexicalGlobalObject, JSC::CallFrame *callFrame))
                         ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:1251:130: error: cannot initialize a member subobject of type 'const HashTable *' with an rvalue of type 'JSC::EncodedJSValue (*)(JSC::JSGlobalObject *, JSC::CallFrame *)' (aka 'long (*)(JSC::JSGlobalObject *, JSC::CallFrame *)')
const ClassInfo JSReadableHTTPResponseSinkControllerPrototype::s_info = { "ReadableHTTPResponseSinkController"_s, &Base::s_info, &JSReadableHTTPResponseSinkControllerPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSReadableHTTPResponseSinkControllerPrototype) };
                                                                                                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dottedmag/bun/build/codegen/JSSink.cpp:1346:59: error: use of undeclared identifier 'JSHTTPResponseSinkPrototypeTableValues'
    reifyStaticProperties(vm, JSHTTPResponseSink::info(), JSHTTPResponseSinkPrototypeTableValues, *this);
                                                          ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:1354:77: error: use of undeclared identifier 'JSReadableHTTPResponseSinkControllerPrototypeTableValues'
    reifyStaticProperties(vm, JSReadableHTTPResponseSinkController::info(), JSReadableHTTPResponseSinkControllerPrototypeTableValues, *this);
                                                                            ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:1511:97: error: use of undeclared identifier 'JSHTTPSResponseSinkPrototypeTable'
const ClassInfo JSHTTPSResponseSinkPrototype::s_info = { "HTTPSResponseSink"_s, &Base::s_info, &JSHTTPSResponseSinkPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSHTTPSResponseSinkPrototype) };
                                                                                                ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:1516:133: error: use of undeclared identifier 'JSReadableHTTPSResponseSinkControllerPrototypeTable'
const ClassInfo JSReadableHTTPSResponseSinkControllerPrototype::s_info = { "ReadableHTTPSResponseSinkController"_s, &Base::s_info, &JSReadableHTTPSResponseSinkControllerPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSReadableHTTPSResponseSinkControllerPrototype) };
                                                                                                                                    ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:1611:60: error: use of undeclared identifier 'JSHTTPSResponseSinkPrototypeTableValues'
    reifyStaticProperties(vm, JSHTTPSResponseSink::info(), JSHTTPSResponseSinkPrototypeTableValues, *this);
                                                           ^
/home/dottedmag/bun/build/codegen/JSSink.cpp:1619:78: error: use of undeclared identifier 'JSReadableHTTPSResponseSinkControllerPrototypeTableValues'
    reifyStaticProperties(vm, JSReadableHTTPSResponseSinkController::info(), JSReadableHTTPSResponseSinkControllerPrototypeTableValues, *this);
                                                                             ^
19 errors generated.
[227/228] Building CXX object CMakeFiles/bun-debug.dir/src/bun.js/bindings/ZigGlobalObject.cpp.o
FAILED: CMakeFiles/bun-debug.dir/src/bun.js/bindings/ZigGlobalObject.cpp.o 
/usr/bin/ccache /home/dottedmag/clang/clang/bin/clang++ -DASSERT_ENABLED=0 -DBUILDING_JSCONLY__ -DBUILDING_WITH_CMAKE=1 -DBUN_DEBUG=1 -DBUN_DYNAMIC_JS_LOAD_PATH=\"/home/dottedmag/bun/build/js\" -DBUN_SINGLE_THREADED_PER_VM_ENTRY_SCOPE=1 -DIS_BUILD -DJSC_OBJC_API_ENABLED=0 -DLAZY_LOAD_SQLITE=0 -DLIBUS_USE_BORINGSSL=1 -DLIBUS_USE_OPENSSL=1 -DNAPI_EXPERIMENTAL=ON -DNDEBUG=1 -DNOMINMAX -DSTATICALLY_LINKED_WITH_BMALLOC=1 -DSTATICALLY_LINKED_WITH_JavaScriptCore=1 -DSTATICALLY_LINKED_WITH_WTF=1 -DUWS_HTTPRESPONSE_NO_WRITEMARK=1 -DWITH_BORINGSSL=1 -D_HAS_EXCEPTIONS=0 -I/home/dottedmag/bun/packages -I/home/dottedmag/bun/packages/bun-usockets -I/home/dottedmag/bun/packages/bun-usockets/src -I/home/dottedmag/bun/src/bun.js/bindings -I/home/dottedmag/bun/src/bun.js/bindings/webcore -I/home/dottedmag/bun/src/bun.js/bindings/webcrypto -I/home/dottedmag/bun/src/bun.js/bindings/sqlite -I/home/dottedmag/bun/src/bun.js/modules -I/home/dottedmag/bun/src/js/builtins -I/home/dottedmag/bun/src/napi -I/home/dottedmag/bun/src/deps -I/home/dottedmag/bun/src/deps/picohttpparser -I/home/dottedmag/bun/build/bun-webkit/include -I/home/dottedmag/bun/build/codegen -I/home/dottedmag/bun/src/deps/zlib -I/home/dottedmag/bun/src/deps/boringssl/include -I/home/dottedmag/bun/src/deps/libarchive/include -I/home/dottedmag/bun/src/deps/mimalloc/include -I/home/dottedmag/bun/src/deps/zstd/include -I/home/dottedmag/bun/src/deps/c-ares/include -I/home/dottedmag/bun/src/deps/base64/include -std=c++2a -g -std=gnu++20 -fvisibility=hidden -fvisibility-inlines-hidden -fcolor-diagnostics -g3 -O1 -gdwarf-4 -fdiagnostics-color=always -march=haswell -ferror-limit=100 -fPIC -mtune=haswell -fconstexpr-steps=1271242 -fconstexpr-depth=27 -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fno-rtti -fno-omit-frame-pointer -MD -MT CMakeFiles/bun-debug.dir/src/bun.js/bindings/ZigGlobalObject.cpp.o -MF CMakeFiles/bun-debug.dir/src/bun.js/bindings/ZigGlobalObject.cpp.o.d -o CMakeFiles/bun-debug.dir/src/bun.js/bindings/ZigGlobalObject.cpp.o -c /home/dottedmag/bun/src/bun.js/bindings/ZigGlobalObject.cpp
/home/dottedmag/clang/clang/bin/clang++: /lib64/libtinfo.so.6: no version information available (required by /home/dottedmag/clang/clang/bin/clang++)
/home/dottedmag/bun/src/bun.js/bindings/ZigGlobalObject.cpp:811:46: warning: field 'm_scriptExecutionContext' is uninitialized when used here [-Wuninitialized]
    , globalEventScope(*new Bun::GlobalScope(m_scriptExecutionContext))
                                             ^
/home/dottedmag/bun/src/bun.js/bindings/ZigGlobalObject.cpp:826:46: warning: field 'm_scriptExecutionContext' is uninitialized when used here [-Wuninitialized]
    , globalEventScope(*new Bun::GlobalScope(m_scriptExecutionContext))
                                             ^
/home/dottedmag/bun/src/bun.js/bindings/ZigGlobalObject.cpp:4310:81: error: use of undeclared identifier 'bunGlobalObjectTable'
const JSC::ClassInfo GlobalObject::s_info = { "GlobalObject"_s, &Base::s_info, &bunGlobalObjectTable, nullptr,
                                                                                ^

Additional information

No response

@dottedmag dottedmag added the bug Something isn't working label Nov 12, 2023
Electroid pushed a commit that referenced this issue Nov 13, 2023
If src/codegen/create_hash_table can't be run due to some reason
(e.g. due to missing Math::BigInt Perl module) the build continues
but fails later, during bindings compilation, because the generated
files are empty.

Fix it by handling the failure to run create_hash_table properly.

Closes #7074
@dottedmag
Copy link
Contributor Author

@Electroid Please reopen this ticket, given that the PR was reverted?

@Electroid Electroid reopened this Nov 13, 2023
paperdave pushed a commit that referenced this issue Nov 17, 2023
…ld (#7110)

* Stop swallowing errors from create_hash_table during the build

If src/codegen/create_hash_table can't be run due to some reason
(e.g. due to missing Math::BigInt Perl module) the build continues
but fails later, during bindings compilation, because the generated
files are empty.

Fix it by handling the failure to run create_hash_table properly.

Closes #7074

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
ryoppippi pushed a commit to ryoppippi/bun that referenced this issue Feb 1, 2024
…ld (oven-sh#7110)

* Stop swallowing errors from create_hash_table during the build

If src/codegen/create_hash_table can't be run due to some reason
(e.g. due to missing Math::BigInt Perl module) the build continues
but fails later, during bindings compilation, because the generated
files are empty.

Fix it by handling the failure to run create_hash_table properly.

Closes oven-sh#7074

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
2 participants