Build fail: unresolved external symbol mainCRTStartup

Stephen F Northover steve.x.northover at oracle.com
Wed Nov 13 07:09:22 PST 2013


Ok, you can't say that and not tell us what the problem was!

Steve

On 2013-11-13 9:55 AM, Leonid Popov wrote:
> Finally managed to build it with JDK 1.8-ea build 114 64 bit.
>
> On 11/12/2013 6:00 PM, Leonid Popov wrote:
>> Thanks Kevin, but unfortunately it didn't help. Even having it 
>> cleaned completely, the build script still generates 32-bit 
>> YarrInterpreter.obj and then fails to link it to a 64-bit library. 
>> Still investigating.
>>
>> On 11/11/2013 8:43 PM, Kevin Rushforth wrote:
>>> Hi Leonid,
>>>
>>> Building JavaFX on Windows requires Cygwin, so it doesn't surprise 
>>> me that it fails with a DOS shell.
>>>
>>> The error you are seeing on cygwin seems like a mismatch where part 
>>> of the build is trying to use a 32-bit build and part trying to use 
>>> 64-bit.
>>>
>>> My recommendation is to try the following, from a cygwin shell:
>>>
>>> 1. Ensure that your JAVA_HOME and PATH point to the same version of 
>>> Java (the 32-bit Java).
>>>
>>> 2. Completely clean your repo
>>>
>>> cd rt
>>> gradle clean
>>> rm -rf buildSrc/build buildSrc/.gradle .gradle
>>>
>>>
>>> 3. Rebuild, making sure you compile both media and webkit (not sure 
>>> if needed, but better to remove one more variable):
>>>
>>> gradle -PCOMPILE_WEBKIT=true -PCOMPILE_MEDIA=true sdk
>>>
>>>
>>> See if the above will work.
>>>
>>> -- Kevin
>>>
>>>
>>> Leonid Popov wrote:
>>>> Hi Steve,
>>>>
>>>> Yes, I use 32-bit JDK for building. I tried to build it from both 
>>>> Windows and Cygwin command shells. The error I mentioned happens 
>>>> when building from Windows. If I try to build it from Cygwin, I get 
>>>> another error:
>>>>
>>>> Building Webkit configuration /Release/ into 
>>>> C:\javafx\8my\jfx\rt\modules\web\build/win
>>>> Calling 'qmake -makefile 
>>>> C:/javafx/8my/jfx/rt/modules/web/src/main/native/Source/WebKitJava.pro 
>>>> CONFIG-=debug CONFIG+=release DEFINES+=IMAGEIO=1' in 
>>>> "C:/javafx/8my/jfx/rt/modules/web/build/win/Release" ...
>>>>
>>>>
>>>> Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
>>>> Copyright (C) Microsoft Corporation.  All rights reserved.
>>>>
>>>>         cd JavaScriptCore\ && C:\MsVS10\VC\BIN\nmake.exe -f 
>>>> Makefile.JavaScriptCoreJava
>>>>
>>>> Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
>>>> Copyright (C) Microsoft Corporation.  All rights reserved.
>>>>
>>>>         lib /NOLOGO  /OUT:..\lib\JavaScriptCoreJava.lib @.\nm2BB0.tmp
>>>> obj\YarrInterpreter.obj : fatal error LNK1112: module machine type 
>>>> 'X86' conflicts with target machine type 'x64'
>>>> NMAKE : fatal error U1077: 'C:\MsVS10\VC\BIN\lib.EXE' : return code 
>>>> '0x458'
>>>> Stop.
>>>> NMAKE : fatal error U1077: 'cd' : return code '0x2'
>>>> Stop.
>>>>
>>>> My script for Cygwin is:
>>>>
>>>> export DXSDK_DIR=/cygdrive/c/DXSDK/
>>>> export WMSDK_DIR=/cygdrive/c/WMSDK/WMFSDK11/
>>>> export QTSDK_DIR=/cygdrive/c/Qt/4.6.0/
>>>>
>>>> export VSINSTALLDIR=/cygdrive/C/MsVS10
>>>> export WINDOWS_VS_PATH=/cygdrive/C/MsVS10/VC/bin
>>>>
>>>> export GRADLE_DIR=/cygdrive/c/tools/gradle/
>>>>
>>>> export JDK_HOME=/cygdrive/c/java/8b112/
>>>> export JAVA_HOME=$JDK_HOME
>>>>
>>>> export ANT_HOME=/cygdrive/c/ant/
>>>>
>>>> export 
>>>> PATH=$GRADLE_DIR/bin/:$JAVA_HOME/bin/:$DXSDK_DIR/Utilities/Bin/x86:$PATH 
>>>>
>>>>
>>>> $GRADLE_DIR/bin/gradle -PCOMPILE_WEBKIT=true -PCONF=Debug sdk
>>>>
>>>> I'm trying but I can't realize what changed after my last 
>>>> successfull build.
>>>>
>>>> Leonid.
>>>>
>>>>
>>>> On 11/8/2013 9:10 PM, Stephen F Northover wrote:
>>>>> Hi Leonid,
>>>>>
>>>>> I have the same configuration as you I think.  I'm just making 
>>>>> sure I can build.  First, do you have 32-bit JDK8? Are you running 
>>>>> under a cygwin shell?  What is your gradle command line?
>>>>>
>>>>> Steve
>>>>>
>>>>> On 2013-11-08 9:08 AM, Leonid Popov wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I've just cloned a new workspace from 
>>>>>> ssh://jfxsrc.us.oracle.com//javafx/8.0/scrum/graphics/jfx and 
>>>>>> tried to build it. The following error encountered:
>>>>>>
>>>>>>     link /LIBPATH:"..\lib" /NOLOGO /MAP /INCREMENTAL:NO 
>>>>>> /SUBSYSTEM:CONSOLE /MANIFEST 
>>>>>> /MANIFESTFILE:"obj\DerivedSourcesJava.intermediate.manifest" 
>>>>>> /OUT:..\lib\DerivedSourcesJava.exe 
>>>>>> @C:\Users\lp154592\AppData\Local\Temp\nm9A16.tmp
>>>>>> LINK : error LNK2001: unresolved external symbol mainCRTStartup
>>>>>> ..\lib\DerivedSourcesJava.exe : fatal error LNK1120: 1 unresolved 
>>>>>> externals
>>>>>>
>>>>>> My box is Windows 7 64-bit with MSVS 10 installed; Gradle 1.4 is 
>>>>>> used for building.
>>>>>>
>>>>>> Any suggestions?
>>>>>>
>>>>>> Thanks,
>>>>>> Leonid
>>>>>
>>>>
>>
>



More information about the openjfx-dev mailing list