Jump to content
Excelsior Forums

All Activity

This stream auto-updates     

  1. Last week
  2. Run-time linking of shared libraries

    Hi, I was testing multi-component applications in JET 14 and the documentation is saying: It looks like that I don't have to use mentioned switch if I put all the compiled *.so shared libraries in the same directory as the binary. Is that correct? Please verify. Thanks, Martin
  3. Hi, I was looking at the JET 14 documentations and it seems like `compilerheap` option is no longer supported. Why is it so? Is there any replacement? Thanks, Martin
  4. Documentation of RSP file format

    Hi Martin, No, there is no such documentation. This file is just linker configuration, and the only documentation available about it is help which is printed for `xlink.exe`. Regards, Igor Jorch, Excelsior Support
  5. Documentation of RSP file format

    Hi, is there any documentation describing the RSP file format? Thanks, Martin
  6. Earlier
  7. Documentation of xlink, xxd and xpack

    Hi Martin, Yes, the effect of this command is that your exe stats to explicitly import all symbols, that are exported by the specified .so. However, the reason you need this in your build is unknown - you can try to remove it and see what would happen, most probably everything will continue to work fine. Kind regards, Igor.
  8. Documentation of xlink, xxd and xpack

    This is exactly what we are executing: xlink @"jet_project_release_jetpdb/release.rsp" /lib/i386-linux-gnu/libm.so.6 Is my assumption correct that for some reason the shared library in our build is needed to be explicitly linked?
  9. Documentation of xlink, xxd and xpack

    Hello Martin, There is no documentation (besides built-in help) for most of our command-line tools. Most notable exceptions are jc and xpack, which are JET compiler and JET packager respectively. The xlink tool is our linker and should not be used explicitly, thus it is not documented. As for xxd -- I have no idea, what this tool could be. Best Regards, Ivan
  10. Hi, we have some old Excelsior JET scripts which are explicitly executing xlink, xxd and xpack binaries. In the latest version Jet 14 the official documentation is mentioning xpack, but not the others binaries. What are they used for? Is there any more specific documentation on those libraries? Thanks, Martin
  11. Unable to run binary

    Hello Jane, Currently Excelsior JET doesn't support cross-platform builds. So in order to compile application for target Linux machine, you will need to use Excelsior JET for Linux, on a Linux building machine (either hardware or virtual machine can work). Note however, that Excelsior JET doesn't support Unix targets except for OS X. So if you are trying to compile for Unix (e.g. FreeBSD-based system), you can try compiling for Linux and running the application in Linux Binary Compatibility mode (see https://www.freebsd.org/doc/handbook/linuxemu.html). We have not tested this approach, so it may or may not work for you or target Unix system. Best Regards
  12. Unable to run binary

    Hello, I am using the trial version of excelsior jet. I am working on mac and have downloaded the version for it. However, my compiled binaries should work on aws unix. I have compiled my jar to a binary ( selected server in the distribution type ) and packaged it as single folder. However, I am not able to run it on my aws machine. I am getting the error of When running file <filename> I am getting the following: So the question is, how can I generate a binary of my jar for unix while I am running on mac. Thank you
  13. JIT cache is deprecated?

    sent to java@excelsior-usa.com please check
  14. JIT cache is deprecated?

    Hi, Can you please send us the whole log with JIT-compiled classes, as well as *.vaz file. If you prefer, you can send them directly to our support contact via email: java@excelsior-usa.com
  15. JIT cache is deprecated?

    We moved all spring related libraries to CLASSPATHENTRY, the absent class list look more normal. However, we still got many JIT compilation logs like this. Your jvm is well handled CGLIB dynamic proxy but it generates huge overhead during spring context initialization. The more spring beans we defined in our app, the more JIT comiler log entries. Please advise. [JIT compiler] compile com.mycompany.myapp.service.config.AppCacheConfig$$EnhancerBySpringCGLIB$$24a5e149 [JIT compiler] compilation finished in 13ms, classes: 1 The main reason we use !module is to save external library build time. If everything are included in CLASSPATHENTRY, we required 3-4 hours for building one backend application. What is the best approach to build native server side application by JET (my applications are with over 50-100 external library jar files and 20 internal module libraries)? Our current approach is to pre-build all external libraries jar to share objects. In our prj file, we include .so file in !module and internal libraries in CLASSPATHENTRY. We tried Jet Control Panel but it is not fit for batch building 8-10 applications (with average 50-100 external libraries for each applications). So we write a java program to generate one JET prj file for one application and use the following script to build. ../../../../jet12.0-eval-amd64/bin/jc =p /home/ken/ejet/release/1.1.6/script/my-server/my-server-1.1.6-SNAPSHOT.prj cd ../../../../jet12.0-eval-amd64 source setenv cd /home/ken/ejet/release/1.1.6/script/ xpack -source ../output/my-server -target ../output/packed/my-server-native cd .. ENDTIME=$(date +%s) echo "Total Time for build my-server is $(($ENDTIME - $STARTTIME))s"
  16. JIT cache is deprecated?

    JIT caching was deprecated in version 8.0 of Excelsior JET and has been removed since. As for excessive JIT compilation: Could you please try specifying all dependencies' jars as `!CLASSPATHENTRY` equations? You can remove all `!module` equations as well as `-CLASSABSENCE=HANDLE` and `-IGNOREMEMBERABSENCE+` to see which dependencies are missing from compilation set. Also, have you tried using our Maven or Gradle plugins and/or Jet Control Panel tool? Best Regards, Ivan Trepakov Excelsior Support
  17. Hi, I am desperately in need of some help, I am trying to convert a few simple programs written with Topspeed M2 back in the 90's. However I cannot seem to get the redirection file to work, I am using PC- Linux-OS. usr/local.xds/bin is in the $PATH and XDS is installed in /usr/local. I have created a sub directory of the xds directory /p0, and xcwork from p0 has created the def, obj, src, sym directories. I have put 2 files in xds/p0/def they are mylib.def and mylib.mod PART of REDIRECTION FILE in the xds directory. = *.def = ./def;/p0/def also tried *.def = ./usr/local/xds/p0/def However I always get a "no such file" Error [dave@localhost xds]$ xc mylib.def file open error: "mylib.def" no such file I even tried putting the mylib.def file in usr/local/xds/def/xds with other def files. and every other combination that I can think of, always the SAME Error Any help / suggestions most welcome xc.red
  18. JIT cache is deprecated?

    Hi All, We want to enable code protection with our server applications and found excelsior jet is a good option. We successfully build native version of our applications by excelsior jet and it's up and running in our testing environment. Everything are okay but one of our application (with heavily used spring libraries) are found slow startup time due to many JIT compilation overhead. (Please see the attached log server_overhead.log) The startup time of native version is around 6 minutes (mostly are spent on spring context loading, which actually spent time on JIT compile spring classes) vs non native version which is around 40 seconds. To solve this issue, we try some optimized options (as below) about JIT cache but it doesn't work. It never create cache. After reading excelsior document, I learnt that JET static compiler sometimes cannot resolve dependencies. In our case, we have ApplicationContext in our main class like this: public class MyAppServer { @Autowired private ApplicationContext applicationContext; public MyAppServer() { } ... } However, the JET is not able to resolve ApplicationContext at runtime and try to JIT compile at the beginning during startup [JIT compiler] compile org.springframework.context.ApplicationContext [JIT compiler] compilation finished in 15ms, classes: 1 Attached our excelsior prj file for your reference. Please kindly advise. We have to build a native version of our applications which can run as fast as our non native version. Regards, Ken server.prj server_overhead.log
  19. Version 14 will feature more application performance improvements, plus support for latest Eclipse RCP and Apache Tomcat. Head over to https://www.excelsiorjet.com/beta to grab the beta.
  20. I just compiled my software with excelsior jet and my software starts when I hit the run button in excelsior jet. But during packaging the trial run fails with exit code 1. The test run during compilation is okay.
  21. JET GC settings

    These options are specific to Oracle HotSpot and its GC. Excelsior JET has its own Garbage Collector with its own set of options that cannot be mapped to or from HotSpot ones. So you can remove all of the -XX options and see if your application works fine on our GC. If after that your application will require any tuning you will have to do it using properties described in Excelsior JET User's Guide: https://www.excelsiorjet.com/docs/jet/jetw010#0321
  22. JET GC settings

    I understand the Jet runtime included things like GC ratio to configure how garbage collection happens. As it so happens, our application is quite tuned for this and we use jvm launch settings such as the ones below. How do I make sure that these get used in the Jet runtime? -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:ParallelCMSThreads =4 -XX:CMSWaitDuration=90000 -XX:CMSInitiatingOccupancyFraction=10 -XX:+UseCMSInitiatingOccupancyOnly
  23. Long command line cannot copy paste

    If that's the case, please try using our JET Launcher tool by replacing "java" in your command line with "<JET Home>/profile1.8.0_121/jre/bin/java" where <JET Home> is the full path to your Excelsior JET installation directory. The resulting command line will look like this: <JET Home>/profile1.8.0_121/jre/bin/java -noverify -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8091,s uspend=n -Xms=8G -Xmx=8G -Xmn2G -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/tmp -XX:CompileThre shold=1000 -XX:+UseCompressedOops -XX:ErrorFile=/var/log/hs_err_pid%p.log -XX:SurvivorRatio=3 -XX:+UseLargePages -XX:+UseTLAB -X X:TargetSurvivorRatio=90 -XX:+AlwaysPreTouch -XX:+AggressiveOpts -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:ParallelCMSThreads =4 -XX:CMSWaitDuration=90000 -XX:CMSInitiatingOccupancyFraction=10 -XX:+UseCMSInitiatingOccupancyOnly -Xloggc:$LOGDIR/gc.log -ve rbose:gc -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=12 -XX:GCLogFileSize=100M -XX:+PrintGCDetails -XX:+PrintGCDateStamps - XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:MaxMetaspaceSize=512m -XX:MaxDirectMemorySize=1024G -Dcom.sun.managemen t.jmxremote.port=18091 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false This will create a new JET project with specified arguments in JET Control Panel.
  24. Long command line cannot copy paste

    The Jet Control Panel command line does not allow for anything to be pasted into it
  25. Long command line cannot copy paste

    Does it work if you save your command line into a text file, open it in GUI text editor like JEdit or similar, and then try to copy the text from this editor to JET Control Panel? -- Ivan
  26. Long command line cannot copy paste

    This is on centos7 and I am trying to copy from terminal to Jet control panel command line text box (Excelsior Jet 12) Thanks Suresh
  27. Long command line cannot copy paste

    Hello, Can you elaborate which operating system you are using and from where and to where you are trying to copy-paste the line (e.g. from terminal to JET Control Panel "Command line:" text box while creating "Plain Java SE Application")? Best Regards, Ivan Trepakov
  1. Load more activity