Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


For the record, here is my status of using the SDK of a recent (post <http://cgit.freedesktop.org/libreoffice/core/commit/?id=5051209534c8a2034dcb0016d4a8fe29dcb2947b> "Adapt SDK to usage of msvcrtd for Windows --enable-dbgutil") master build (--enable-dbgutil even) on Windows:

I use the SDK on the Windows 7 machine I also do the LO build on (at C:\lo\core), so that machine already had Visual Studio and a JDK installed.

As a prerequisite, install <http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe/download> and, in Command Prompt do:

> cd C:\MinGW
> mingw-get update
> mingw-get install msys-zip

For testing ure/source/uretest/Makefile, additionally do:

> mingw-get install msys-coreutils
> mingw-get install msys-sed

Then, in Command Prompt do:

> cd C:\lo\core\solver\wntmsci12\installation\opt\sdk
> setsdkenv_windows.bat

and do the first-time configuration as necessary.  The results for me are:

 ******************************************************************
 *
 * SDK environment is prepared for Windows
 *
 * SDK = C:\lo\core\solver\wntmsci12\installation\opt\sdk
 * Office = C:\lo\core\solver\wntmsci12\installation\opt
 * URE = C:\lo\core\solver\wntmsci12\installation\opt\URE
 * Make = C:\MinGW\bin
 * Zip = C:\MinGW\msys\1.0\bin
 * C++ Compiler = C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
 * C# and VB.NET compilers = C:\Windows\Microsoft.NET\Framework\v2.0.50727
 * Java = C:\Program Files\Java\jdk1.7.0_11
 * Special Output directory = c:\libreoffice4.1.0.0.alpha0+_sdk
 * Auto deployment = YES
 *
 ******************************************************************

Then, to see things are working at least minimally, continue with

> cd examples\cpp\counter
> mingw32-make
> mingw32-make countermain.run

At least with my current build, the ure/source/uretest/Makefile test:

> cd C:\lo\core\ure\source\uretest
> mingw32-make

still fails the test-javanative with:

set URE_MORE_TYPES=file:///C:/lo/core/ure/source/uretest/out.sdk/types.rdb && set 
URE_MORE_SERVICES=file:///C:/lo/core/ure/source/uretest/out.sdk/services.rdb &&  "C:\Program 
Files\Java\jdk1.7.0_11/bin/java"  -jar out.sdk/runner.jar \
            file:///C:/lo/core/solver/wntmsci12/installation/opt/URE/java/ 
file:///C:/lo/core/ure/source/uretest/out.sdk/javanative.jar
warn:cppuhelper:2968:3492:cppuhelper/source/shlib.cxx:501: loading component library failed: 
file:///C:/lo/core/ure/source/uretest/out.sdk/cpptest.uno.dll
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at com.sun.star.lib.unoloader.UnoClassLoader.execute(UnoClassLoader.java:160)
        at com.sun.star.lib.unoloader.UnoLoader.execute(UnoLoader.java:81)
        at test.java.runner.Runner.main(Runner.java:28)
Caused by: com.sun.star.uno.DeploymentException: component context fails to supply service 
test.types.CppTest of type test.types.XTest: com.sun.star.loader.CannotActivateFactoryException: 
loading component library failed: file:///C:/lo/core/ure/source/uretest/out.sdk/cpptest.uno.dll
java stack trace:
        at com.sun.star.bridges.jni_uno.JNI_proxy.dispatch_call(Native Method)
        at com.sun.star.bridges.jni_uno.JNI_proxy.invoke(JNI_proxy.java:183)
        at $Proxy2.createInstanceWithContext(Unknown Source)
        at test.types.CppTest.create(Unknown Source)
        at test.java.tester.Tester.test(Tester.java:29)
        at test.java.javanative.JavaNative.main(JavaNative.java:26)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at com.sun.star.lib.unoloader.UnoClassLoader.execute(UnoClassLoader.java:160)
        at com.sun.star.lib.unoloader.UnoLoader.execute(UnoLoader.java:81)
        at test.java.runner.Runner.main(Runner.java:28)

        at test.types.CppTest.create(Unknown Source)
        at test.java.tester.Tester.test(Tester.java:29)
        at test.java.javanative.JavaNative.main(JavaNative.java:26)
        ... 7 more
Makefile:82: recipe for target 'test-javanative' failed
mingw32-make: *** [test-javanative] Error 1

but test-cpptest, test-javateset, and
the (manual) test-clientserver all work.  No idea yet what is broken there.

If anybody has insight into my two questions at <http://cgit.freedesktop.org/libreoffice/core/commit/?id=5051209534c8a2034dcb0016d4a8fe29dcb2947b> "Adapt SDK to usage of msvcrtd for Windows --enable-dbgutil," that would be appreciated:

* The old settings.mk was apparently confused with using /MT ("link with
  LIBCMT.LIB") on cl command line and /MD ("link with MSVCRT.LIB") on link
  command line (where it was ignored), and you apparently can't pass both
  together to cl, so I settled on /MD (resp. /MDd) now and dropped /MT (resp.
  /MTd).  No idea if that is exactly right, however.

* Introduced client-facing LIBO_SDK_LDFLAGS_STDLIBS that covers kernel32.lib and
  msvcrt.lib vs. msvcrtd.lib on Windows.  Adapted examples Makefiles and
  /ure/source/uretest/Makefile accordingly.  Some examples Makefiles
  additionally use msvcprt.lib, no idea whether that still needs to be
  addressed.

Stephan

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.