Author Topic: Cannot find libs ... but they are there...  (Read 25930 times)

Offline msdobrescu

  • Multiple posting newcomer
  • *
  • Posts: 25
Cannot find libs ... but they are there...
« on: July 23, 2016, 11:27:52 am »
Hello,

I am trying to get rid of the MSCV++ 2015 compiler for a project due to its returning bug (find it here: https://connect.microsoft.com/VisualStudio/feedback/details/1853228/lnk1179-invalid-or-corrupt-obj-file-created-by-vs-2015-rtm-compiler-in-debug-builds).
Despite MSVC++ 2015 is pretty advanced in templates (it needs less "template" and "typename" keywords than gcc for the moment as it deduces well the purpose of a A::B::C or A::B::C::F() construct), I need to go with something closer to the standard.

I have an Adobe Illustrator plugin made with Adobe's template, which is MSVC++ based. I have installed Code::Blocks 16.01 and TDM-GCC-64 compiler under, configured the compiler, imported the MSCV++ project into C::B, configured the paths to the headers and libs in the project.

The project compiles pretty well under 64bit, much faster than MSVC++ (after some "template" and "typename" keywords  here and there), but it fails linking:

Code

-------------- Build: Debug x64 in jScriptor (compiler: TDM-GCC-64)---------------

x86_64-w64-mingw32-g++.exe -shared -Wl,--output-def=libjScriptor.def -Wl,--out-implib=libjScriptor.a -Wl,--dll -L..\..\Mozilla\SpiderMonkey\mozjs-45.0.2\js\src\build_OPT.OBJ\dist\sdk\lib -L..\..\Mozilla\SpiderMonkey\mozjs-45.0.2\js\src\build_OPT.OBJ\dist\sdk\lib -L"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\um\x64" ".objs\Adobe\sdk\Adobe Illustrator CC_2015.3 SDK\illustratorapi\illustrator\IAIFilePath.o" ".objs\Adobe\sdk\Adobe Illustrator CC_2015.3 SDK\illustratorapi\illustrator\IAIStringFormatUtils.o" ".objs\Adobe\sdk\Adobe Illustrator CC_2015.3 SDK\illustratorapi\illustrator\IAIUnicodeString.o" ".objs\Adobe\sdk\Adobe Illustrator CC_2015.3 SDK\samplecode\common\source\AppContext.o" ".objs\Adobe\sdk\Adobe Illustrator CC_2015.3 SDK\samplecode\common\source\HtmlUIController.o" ".objs\Adobe\sdk\Adobe Illustrator CC_2015.3 SDK\samplecode\common\source\IllustratorSDK.o" ".objs\Adobe\sdk\Adobe Illustrator CC_2015.3 SDK\samplecode\common\source\Main.o" ".objs\Adobe\sdk\Adobe Illustrator CC_2015.3 SDK\samplecode\common\source\Plugin.o" ".objs\Adobe\sdk\Adobe Illustrator CC_2015.3 SDK\samplecode\common\source\SDKAboutPluginsHelper.o" ".objs\Adobe\sdk\Adobe Illustrator CC_2015.3 SDK\samplecode\common\source\SDKErrors.o" ".objs\Adobe\sdk\Adobe Illustrator CC_2015.3 SDK\samplecode\common\source\SDKPlugPlug.o" ".objs\Adobe\sdk\Adobe Illustrator CC_2015.3 SDK\samplecode\common\source\Suites.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsActionDialogStatus.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIArtboardLayout.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIArtType.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIBoolean.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIColorModel.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIColorProfile.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAICropMarkStyle.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIDictionary.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIDocumentColorModelValue.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIDocumentFileFormatParameters.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIDocumentHandle.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIDocumentListSuite.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIDocumentMiPrintRecord.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIDocumentPlatformPrintRecord.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIDocumentRulerUnitValue.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIDocumentSetup.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIDocumentStartupProfile.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIDocumentSuite.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIDocumentVersionInfo.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIErr.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIFileFormatHandle.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIFileFormatOptions.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIFileFormatSuite.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIFilePath.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIInt16.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIInt32.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAINewDocumentPreset.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIPreviewMode.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIRasterResolution.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIReal.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIRealPoint.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIRealRect.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIRect.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAISpotColorMode.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAITransparencyGrid.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIUint32.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIUnicodeString.o" ".objs\jScriptor\jScriptor\Integration\Adobe Illustrator\jsAIVersion.o" ".objs\jScriptor\jScriptor\Integration\Adobe Text Engine\jsATEDocumentTextResources.o" ".objs\jScriptor\jScriptor\Integration\Adobe Text Engine\jsATEStory.o" ".objs\jScriptor\jScriptor\Integration\Adobe Text Engine\jsATETextRanges.o" .objs\jScriptor\jScriptor\Integration\jsClass.o .objs\jScriptor\jScriptor\Integration\jsConvert.o .objs\jScriptor\jScriptor\Integration\jsError.o .objs\jScriptor\jScriptor\Integration\jsProperty.o .objs\jScriptor\jScriptor\Integration\jsRTTI.o .objs\jScriptor\jScriptor\Integration\jsSuites.o .objs\jScriptor\jScriptor\Integration\jsTestSuite.o .objs\jScriptor\jScriptor\Integration\Native\jsBool.o .objs\jScriptor\jScriptor\Integration\Native\jsChar.o .objs\jScriptor\jScriptor\Integration\Native\jsCharArray.o .objs\jScriptor\jScriptor\Integration\Native\jsConstCharArray.o .objs\jScriptor\jScriptor\Integration\Native\jsFourCharacterCode.o .objs\jScriptor\jScriptor\Integration\Native\jsShort.o .objs\jScriptor\jScriptor\Integration\Native\jsVoid.o ".objs\jScriptor\jScriptor\Integration\Sweet Pea\jsPIProperty.o" ".objs\jScriptor\jScriptor\Integration\Sweet Pea\jsPIType.o" ".objs\jScriptor\jScriptor\Integration\Sweet Pea\jsSPErr.o" ".objs\jScriptor\jScriptor\Integration\Sweet Pea\jsSPErrorData.o" ".objs\jScriptor\jScriptor\Integration\Sweet Pea\jsSPPlatformFileReference.o" ".objs\jScriptor\jScriptor\Integration\Sweet Pea\jsSPPlugin.o" ".objs\jScriptor\jScriptor\Integration\Sweet Pea\jsSPPluginList.o" ".objs\jScriptor\jScriptor\Integration\Sweet Pea\jsSPPluginListIterator.o" ".objs\jScriptor\jScriptor\Integration\Sweet Pea\jsSPPluginsSuite.o" ".objs\jScriptor\jScriptor\Integration\Sweet Pea\jsSPStringPool.o" ".objs\jScriptor\jScriptor\Integration\Sweet Pea\jsSPStringsSuite.o" .objs\jScriptor\jScriptor\Source\jScriptorFileHelper.o .objs\jScriptor\jScriptor\Source\jScriptorLog.o .objs\jScriptor\jScriptor\Source\jScriptorPanelController.o .objs\jScriptor\jScriptor\Source\jScriptorParameter.o .objs\jScriptor\jScriptor\Source\jScriptorPlugin.o .objs\jScriptor\jScriptor\Source\jScriptorPreferences.o .objs\jScriptor\jScriptor\Source\jScriptorPromptDialog.o .objs\jScriptor\jScriptor\Source\jScriptorSuites.o .objs\jScriptor\jScriptor\Source\jScriptorTokenisor.o .objs\jScriptor\jScriptor\Source\jScriptorUtils.o .objs\jScriptor\jScriptor\Source\jsEngine.o .objs\jScriptor\jScriptor\Source\utils.o  .objs\jScriptor\jScriptor\Resources\Win\jScriptor.res -o jScriptor.dll -m64  -lkernel32.lib -luser32.lib -lgdi32.lib -lwinspool.lib -lcomdlg32.lib -ladvapi32.lib -lshell32.lib -lole32.lib -loleaut32.lib -luuid.lib -lodbc32.lib -lodbccp32.lib -lmozjs-45.lib -lkernel32.lib -luser32.lib -lgdi32.lib -lwinspool.lib -lcomdlg32.lib -ladvapi32.lib -lshell32.lib -lole32.lib -loleaut32.lib -luuid.lib -lodbc32.lib -lodbccp32.lib -lmozjs-45.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lkernel32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -luser32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lgdi32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwinspool.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lcomdlg32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -ladvapi32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lshell32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lole32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -loleaut32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -luuid.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lodbc32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lodbccp32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmozjs-45.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lkernel32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -luser32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lgdi32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwinspool.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lcomdlg32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -ladvapi32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lshell32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lole32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -loleaut32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -luuid.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lodbc32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lodbccp32.lib
M:/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmozjs-45.lib
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\um\x64/kernel32.lib: error adding symbols: File in wrong format
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 15 second(s))
27 error(s), 0 warning(s) (0 minute(s), 15 second(s))

I see some libs duplicated, probably they are added by the compiler itself. Note, my libs from Windows SDK are on a path with spaces because Windows SDK traditionally installs in C:\Program Files (x86)\Windows SDK\10....

What can I do to fix this, as it is my first project on a gcc compiler from scratch?

Thank you.

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Cannot find libs ... but they are there...
« Reply #1 on: July 23, 2016, 01:39:06 pm »
you can try to remove the .lib extension from the libraries in your project settings

Offline msdobrescu

  • Multiple posting newcomer
  • *
  • Posts: 25
Re: Cannot find libs ... but they are there...
« Reply #2 on: July 23, 2016, 01:52:35 pm »
I have removed the redundant entries (for each profile and the root profile I've put the libs, thus the duplication.
I have removed the .lib extension and the error stays the same, nothing changed.

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Cannot find libs ... but they are there...
« Reply #3 on: July 23, 2016, 03:05:35 pm »
Code
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\um\x64/kernel32.lib: error adding symbols: File in wrong format
this looks like that you try to use a library not compiled with your compiler version (probably compiled with mvc and not gcc, so it is not possible to use this library...)

Have you checked the paths to the libraries? Also check that you don't have a second mingw installation in your PATH environment variables...

Offline msdobrescu

  • Multiple posting newcomer
  • *
  • Posts: 25
Re: Cannot find libs ... but they are there...
« Reply #4 on: July 23, 2016, 03:26:51 pm »
I don't find any other MinGW unless C::B uses some internally if there are several compilers installed in C::B.
I did not find any gcc version of the kernel32 library, for example.

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Cannot find libs ... but they are there...
« Reply #5 on: July 23, 2016, 03:37:43 pm »
in my installation they are under

MINGW\lib

and is called libkernel32.a

but the linker will find it if the library name in your project is "kernel32"

can you try to rebuild the source (Build->Rebuild) and post the full build log in code tags?

Offline msdobrescu

  • Multiple posting newcomer
  • *
  • Posts: 25
Re: Cannot find libs ... but they are there...
« Reply #6 on: July 23, 2016, 05:29:44 pm »
There is none, I might have missed something at installation time...?

Offline msdobrescu

  • Multiple posting newcomer
  • *
  • Posts: 25
Re: Cannot find libs ... but they are there...
« Reply #7 on: July 23, 2016, 05:42:12 pm »
It might seem offtopic but...

Right now, I need to build SpiderMonkey on mingw under Windows.
So, I have installed mozilla-build. It uses msvc++. I have altered some configuration file to take gcc and g++ instead of cl.
When I run configure, it displays

Code
checking for as... /m/Development/Tools/c++/CodeBlocks/windows/codeblocks/TDM-GCC-64/bin/as

This is the compiler I use under C::B, C::B is closed now, I have nothing related to this on PATH or other variable.

This is weird.

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Cannot find libs ... but they are there...
« Reply #8 on: July 23, 2016, 09:03:08 pm »
There is none, I might have missed something at installation time...?
probably not, more likely a configuration error with the paths, or naming of the libraries... post a FULL REBUILD LOG...



Offline msdobrescu

  • Multiple posting newcomer
  • *
  • Posts: 25
Re: Cannot find libs ... but they are there...
« Reply #9 on: July 24, 2016, 07:31:52 am »
I'll do it as soon as I could, but first I need to link against a SpiderMonkey 45 build that I don't have. Nobody seems to be able to build it with mingw. Is there no project using it and building it with mingw?

Offline msdobrescu

  • Multiple posting newcomer
  • *
  • Posts: 25
Re: Cannot find libs ... but they are there...
« Reply #10 on: July 24, 2016, 01:12:43 pm »
As I couldn't find any way to build SpiderMonkey with mingw, I have converted the dll to lib:

Code
cd M:/dev/jScriptor/Mozilla/SpiderMonkey/mozjs-45.0.2/js/src/build_OPT.OBJ/dist/sdk/lib

M:/Development/codeblocks/TDM-GCC-64/x86_64-w64-mingw32/bin/gendef ../../bin/mozjs-45.dll
M:/Development/codeblocks/TDM-GCC-64/x86_64-w64-mingw32/bin/dlltool --as-flags=--64 -m i386:x86-64 -k --output-lib mozjs-45.a --input-def mozjs-45.def

The tool says ' -m i386:x86-64' is default.

Now, a full build is attached, as requested.

I did not add system libs so far, I won't, unless it asks for some of their functions.

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Cannot find libs ... but they are there...
« Reply #11 on: July 24, 2016, 02:27:43 pm »
well now you are missing libraries obviously...

Offline msdobrescu

  • Multiple posting newcomer
  • *
  • Posts: 25
Re: Cannot find libs ... but they are there...
« Reply #12 on: July 24, 2016, 02:45:08 pm »
I don't know...
I have changed the names of the libs and it says it can not find them.
It finds them, but might be something related to naming?

Offline msdobrescu

  • Multiple posting newcomer
  • *
  • Posts: 25
Re: Cannot find libs ... but they are there...
« Reply #13 on: July 24, 2016, 02:57:01 pm »
I have found and added all the system libs, but thay are not used, IMHO.
It is an Illustrator plugin without GUI and special OS stuff.
They are just added by the project template "for future use".
The imported lib from the dll seems to be the issue, as all the errors are from it.
Until it doesn't pass that, I won't know it will throw some other errors.

Offline msdobrescu

  • Multiple posting newcomer
  • *
  • Posts: 25
Re: Cannot find libs ... but they are there...
« Reply #14 on: July 24, 2016, 03:06:41 pm »
Just to illustrate, the generated def file has naming like this:

Code
?JS_GetPrivate@@YAPEAXPEAVJSObject@@@Z

while the linker says:

Code
undefined reference to `__imp__Z13JS_GetPrivateP8JSObject'

What should I deduce from this?