Open Bug 987161 Opened 10 years ago Updated 2 years ago

Standalone JS build with --enable-ctypes fails

Categories

(Core :: JavaScript Engine, defect, P5)

defect

Tracking

()

People

(Reporter: jorendorff, Unassigned)

References

(Blocks 1 open bug)

Details

CTypes.o
clang++ -o CTypes.o -c  -fvisibility=hidden -DIMPL_MFBT -DENABLE_PARALLEL_JS -DENABLE_BINARYDATA -DENABLE_SHARED_ARRAY_BUFFER -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX='"lib"' -DDLL_SUFFIX='".dylib"' -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1 -DNO_NSPR_10_SUPPORT -DUSE_ZLIB -I/Users/jorendorff/dev/mi/js/src -I. -I/Users/jorendorff/dev/mi/js/src/../../mfbt/double-conversion -Ictypes/libffi/include -I/Users/jorendorff/dev/mi/intl/icu/source/common -I/Users/jorendorff/dev/mi/intl/icu/source/i18n -I../../dist/include          -fPIC  -Qunused-arguments  -DMOZILLA_CLIENT -include ../../js/src/js-confdefs.h -MD -MP -MF .deps/CTypes.o.pp -Qunused-arguments  -Qunused-arguments -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Werror=int-to-pointer-cast -Wtype-limits -Wempty-body -Werror=conversion-null -Wsign-compare -Wno-invalid-offsetof -Wno-c++0x-extensions -Wno-extended-offsetof -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-mismatched-tags -fno-common -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe  -DDEBUG -D_DEBUG -DTRACING -g3 -fno-omit-frame-pointer       /Users/jorendorff/dev/mi/js/src/ctypes/CTypes.cpp
In file included from /Users/jorendorff/dev/mi/js/src/ctypes/CTypes.cpp:7:
/Users/jorendorff/dev/mi/js/src/ctypes/CTypes.h:11:10: fatal error: 'prlink.h' file not found
#include "prlink.h"
         ^
1 error generated.
JS now defaults to the POSIX-based NSPR emulation layer on Linux and OSX. It looks like ctypes uses some scary NSPR stuff that we don't have emulation for. From a quick scan, I see:

  PR_LoadLibraryWithFlags
  PR_UnloadLibrary
  PR_FindFunctionSymbol
  PR_FindSymbol

We'll need to either implement these (and associated types), or change the default NSPR mechanism when --enable-ctypes is given, or both one at a time.
Assignee: general → nobody
Blocks: 1771946
Severity: normal → S4
Priority: -- → P5
You need to log in before you can comment on or make changes to this bug.