Bug #11678
Improve FWD support on Windows
100%
Related issues
History
#1 Updated by Teodor Gorghe 12 days ago
Currently, FWD compiles without any change, but only with a specific version of mingw gcc version (4.9.0, from 2015), old version of libffi and msys.
The issues are the following:- make utility needs to choose which shell to use. Since it was prioritized to use GNU utilities, it will search for sh first and if not found, it will use the shell (
cmd.exe). FWD fails to build withsh.exemake because in the make file, files paths are mixed (Z:\trunk/src/nativeneeds to beZ:/trunk/src/nativeworks both on sh.exe and cmd.exe shell). - buildadmin task fails on network drives: systemProperty('gwt.watchFileChanges', 'false') needs to added to disable GWT file changes scan.
After I make the changes for FWD to fully build on Windows, I will document the updated steps, which will be: download msys2, install dependencies for FWD using one command (msys2 uses a package manager), no need for adjusting PATH var.
Eugenie told in the about this:
Some considerations. I think we need to consider the case when consumer of the Windows building do not know anything about Linux (and even do not even want to know). So the Windows installation should be completely within Windows style standards.
On Windows, usually, users uses prebuilt binaries. In our case, the zip files generated by
ant dist is enough, but our sample project is highly coupled with FWD source code.Standard way to build apps on Windows is using msvc compiler, which comes bundled in Visual Studio Build Tools, but the project sample is a format generated by VS IDE, called solution (vsproject files).
The alternative is using GNU tools, which we are at right now, and I think it is the best way because we stay independent from IDE build environments.
#2 Updated by Șerban Bursuc 12 days ago
- Related to Bug #10609: FWD compilation issues on Windows added
#3 Updated by Șerban Bursuc 12 days ago
- Related to Bug #11266: Filename of extension too long in Windows during import added
#4 Updated by Șerban Bursuc 12 days ago
#11266 is the biggest issue right now - Hotel GUI only compiles if placed in C:\h now. A few months ago it could compile under C:\hotel. At this pace in a short amount of time FWD won't be able to compile at all.
#5 Updated by Eugenie Lyzenko 12 days ago
Teodor Gorghe wrote:
Currently, FWD compiles without any change, but only with a specific version of mingw gcc version (4.9.0, from 2015), old version of libffi and msys.
The recent binaries are also available here: https://www.mingw-w64.org/downloads/, some countries need VPN to access this. I used the revision 15.2.0 installed 6 month ago and FWD is building fine. But on my systems nether *.ps1 work correct. Is there a serious reason we drop using *.CMD and prefer PowerShell?
#6 Updated by Eugenie Lyzenko 12 days ago
I'm still have no running Hotel server on Windows:
26/07/31 14:02:02.568-0700 | WARNING | com.goldencode.p2j.main.ServerDriver | ThreadName:main | The default character set is windows-1252, but currently only UTF-8 is supported.
26/07/31 14:02:02.568-0700 | INFO | com.goldencode.p2j.main.StandardServer | ThreadName:main | FWD v4.0.0_p2j_trunk_16681 Server starting initialization.
26/07/31 14:02:02.568-0700 | INFO | com.goldencode.p2j.main.StandardServer | ThreadName:main | ServerDriver: 4 arguments =_ [_ 'server.xml',_ 'net:connection:secure=true',_ 'net:server:secure_port=3333',_ 'net:server:insecure_port=3433'_ ]_ Product Version FWD v4.0.0_p2j_trunk_16681_ JVM Version 17.0.18_ JVM Memory: free = 506691016; total = 536870912; max = 8589934592;_ JVM Available CPUs: 8_ JVM Properties =_ {_ java.specification.version = '17',_ sun.cpu.isalist = 'amd64',_ sun.jnu.encoding = 'Cp1252',_ java.class.path = 'c:\opt\hotel_gui\deploy\lib\fwdspi.jar;c:\opt\hotel_gui\deploy\lib\hotel.jar;c:\opt\hotel_gui\deploy\lib\p2j.jar;c:\opt\hotel_gui\deploy\lib\fwdaopltw.jar;',_ java.vm.vendor = 'Oracle Corporation',_ sun.arch.data.model = '64',_ user.variant = '',_ java.vendor.url = 'https://java.oracle.com/',_ user.timezone = 'America/Los_Angeles',_ java.vm.specification.version = '17',_ os.name = 'Windows 10',_ sun.java.launcher = 'SUN_STANDARD',_ user.country = 'US',_ sun.boot.library.path = 'C:\jdk17\bin',_ sun.java.command = 'com.goldencode.p2j.main.ServerDriver server.xml net:connection:secure=true net:server:secure_port=3333 net:server:insecure_port=3433',_ jdk.debug = 'release',_ sun.cpu.endian = 'little',_ user.home = 'C:\Users\evl',_ user.language = 'en',_ java.specification.vendor = 'Oracle Corporation',_ java.version.date = '2026-01-20',_ java.home = 'C:\jdk17',_ file.separator = '\',_ java.vm.compressedOopsMode = 'Zero based',_ line.separator = '__',_ java.vm.specification.vendor = 'Oracle Corporation',_ java.system.class.loader = 'com.goldencode.p2j.classloader.MultiClassLoader',_ java.specification.name = 'Java Platform API Specification',_ user.script = '',_ sun.management.compiler = 'HotSpot 64-Bit Tiered Compilers',_ java.locale.provider = 'SPI,CLDR,COMPAT',_ java.runtime.version = '17.0.18+8-LTS-264',_ user.name = 'evl',_ path.separator = ';',_ os.version = '10.0',_ java.runtime.name = 'Java(TM) SE Runtime Environment',_ file.encoding = 'Cp1252',_ java.vm.name = 'Java HotSpot(TM) 64-Bit Server VM',_ java.vendor.url.bug = 'https://bugreport.java.com/bugreport/',_ java.io.tmpdir = 'C:\Users\evl\AppData\Local\Temp\',_ java.version = '17.0.18',_ user.dir = 'C:\opt\hotel_gui\deploy\server',_ os.arch = 'amd64',_ java.vm.specification.name = 'Java Virtual Machine Specification',_ sun.os.patch.level = '',_ native.encoding = 'Cp1252',_ java.library.path = '../lib/',_ java.vm.info = 'mixed mode, sharing',_ java.vendor = 'Oracle Corporation',_ java.vm.version = '17.0.18+8-LTS-264',_ ANTLR_USE_DIRECT_CLASS_LOADING = 'true',_ java.specification.maintenance.version = '1',_ sun.io.unicode.encoding = 'UnicodeLittle',_ java.class.version = '61.0'_ }_ JVM Environment =_ {_ USERDOMAIN_ROAMINGPROFILE = 'DESKTOP-IQGBAQQ',_ PROCESSOR_LEVEL = '6',_ SESSIONNAME = 'Console',_ ALLUSERSPROFILE = 'C:\ProgramData',_ PROCESSOR_ARCHITECTURE = 'AMD64',_ PSModulePath = 'C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules',_ SystemDrive = 'C:',_ ANT_OPTS = '"-Xmx4g"',_ USERNAME = 'evl',_ ProgramFiles(x86) = 'C:\Program Files (x86)',_ FPS_BROWSER_USER_PROFILE_STRING = 'Default',_ PATHEXT = '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC',_ DriverData = 'C:\Windows\System32\Drivers\DriverData',_ test = 'n',_ spi = '-Djava.locale.provider=SPI,CLDR,COMPAT -Djava.library.path=../lib/',_ ProgramData = 'C:\ProgramData',_ ProgramW6432 = 'C:\Program Files',_ HOMEPATH = '\Users\evl',_ PROCESSOR_IDENTIFIER = 'Intel64 Family 6 Model 158 Stepping 13, GenuineIntel',_ ProgramFiles = 'C:\Program Files',_ PUBLIC = 'C:\Users\Public',_ usage[15] = '-b = launch a program associated with a process account',_ windir = 'C:\WINDOWS',_ pwd = 'C:\opt\hotel_gui',_ =:: = '::\',_ fspawn = 'C:\opt\hotel_gui\deploy\spawner',_ LOCALAPPDATA = 'C:\Users\evl\AppData\Local',_ USERDOMAIN = 'DESKTOP-IQGBAQQ',_ FPS_BROWSER_APP_PROFILE_STRING = 'Internet Explorer',_ LOGONSERVER = '\\DESKTOP-IQGBAQQ',_ JAVA_HOME = 'C:\jdk17',_ PROMPT = '$P$G',_ serverCmd = '"java -Xmx8192m -server @classes.txt -Djava.locale.provider=SPI,CLDR,COMPAT -Djava.library.path=../lib/ -XX:GCTimeRatio=19 -XX:MaxTenuringThreshold=7 -XX:StringTableSize=1000003 --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.naming/javax.naming=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED -Djava.system.class.loader=com.goldencode.p2j.classloader.MultiClassLoader com.goldencode.p2j.main.ServerDriver server.xml net:connection:secure=true net:server:secure_port=3333 net:server:insecure_port=3433 1>stdout.log 2>server.log"',_ statcode = 'n',_ ANT_HOME = 'C:\ant11015',_ OneDrive = 'C:\Users\evl\OneDrive',_ =C: = 'C:\opt\hotel_gui\deploy\server',_ APPDATA = 'C:\Users\evl\AppData\Roaming',_ open_api = '--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.naming/javax.naming=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED',_ perf = '-XX:GCTimeRatio=19 -XX:MaxTenuringThreshold=7 -XX:StringTableSize=1000003',_ CommonProgramFiles = 'C:\Program Files\Common Files',_ Path = 'C:\jdk17\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\jdk17\bin;C:\jdk17\bin\server;C:\ant11015\bin;C:\Program Files\jEdit;C:\WINDOWS\System32\OpenSSH\;C:\mingw64\bin;C:\Program Files (x86)\Bazaar;C:\Users\evl\AppData\Local\Microsoft\WindowsApps;',_ OS = 'Windows_NT',_ COMPUTERNAME = 'DESKTOP-IQGBAQQ',_ PROCESSOR_REVISION = '9e0d',_ CommonProgramW6432 = 'C:\Program Files\Common Files',_ ComSpec = 'C:\WINDOWS\system32\cmd.exe',_ SystemRoot = 'C:\WINDOWS',_ TEMP = 'C:\Users\evl\AppData\Local\Temp',_ HOMEDRIVE = 'C:',_ USERPROFILE = 'C:\Users\evl',_ TMP = 'C:\Users\evl\AppData\Local\Temp',_ CommonProgramFiles(x86) = 'C:\Program Files (x86)\Common Files',_ NUMBER_OF_PROCESSORS = '8'_ }
26/07/31 14:02:02.568-0700 | INFO | com.goldencode.p2j.main.StandardServer | ThreadName:main | BootstrapConfig sharedFile = server.xml; privateFile = none; isServer = true; configuraton values =_ {_ NET:ROUTER:THREADS = 2_ NET:CONNECTION:SECURE = true_ NET:SERVER:SECURE_PORT = 3333_ NET:SERVER:INSECURE_PORT = 3433_ SECURITY:SERVER:ID = standard_ DIRECTORY:BACKEND:TYPE = xml_ DIRECTORY:XML:FILENAME = directory.xml_ DIRECTORY:XML:MUST_EXIST = true_ }
26/07/31 14:02:02.568-0700 | WARNING | com.goldencode.p2j.security.SecurityCache | ThreadName:main | No custom server extension defined in P2J directory
26/07/31 14:02:02.568-0700 | WARNING | com.goldencode.p2j.security.SecurityCache | ThreadName:main | No custom client extension defined in P2J directory
26/07/31 14:02:02.568-0700 | WARNING | com.goldencode.p2j.security.SecurityCache | ThreadName:main | Security audit log is disabled
26/07/31 14:02:02.568-0700 | INFO | com.goldencode.p2j.util.logging.CentralLoggerServer | ThreadName:main, ThreadId:00000003, User:standard | Configs received: com.goldencode.p2j.util.logging.CentralLoggerServer$Configs isServerSide: false, hasConsole: false, filePath: c:/opt/hotel_gui/deploy/logs/fwd_%m_%tY%tm%td_%tH%tM%tS_%uos_%pid_%uf_%g.log, level: INFO, fileLimit: 500000, fileCount: 4. WRITE_TO_SLF4J_API: false
26/07/31 14:02:02.568-0700 | INFO | com.goldencode.p2j.main.StandardServer | ThreadName:main, ThreadId:00000003, User:standard | No exported entry points defined in the P2J directory
26/07/31 14:02:02.791-0700 | INFO | com.goldencode.p2j.schema.SchemaConfig | ThreadName:main, ThreadId:00000003, User:standard | Using default schema profile.
26/07/31 14:02:03.662-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 56 ms to scan 1 urls, producing 10 keys and 24 values
26/07/31 14:02:03.717-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 0 ms to scan 1 urls, producing 4 keys and 4 values
26/07/31 14:02:03.736-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 19 ms to scan 1 urls, producing 8 keys and 10 values
26/07/31 14:02:03.756-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 20 ms to scan 1 urls, producing 10 keys and 29 values
26/07/31 14:02:03.903-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 131 ms to scan 1 urls, producing 265 keys and 1302 values
26/07/31 14:02:04.421-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 0 ms to scan 1 urls, producing 14 keys and 29 values
26/07/31 14:02:04.439-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 18 ms to scan 1 urls, producing 6 keys and 17 values
26/07/31 14:02:04.439-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 0 ms to scan 1 urls, producing 16 keys and 60 values
26/07/31 14:02:04.513-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 18 ms to scan 1 urls, producing 37 keys and 186 values
26/07/31 14:02:04.570-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 0 ms to scan 1 urls, producing 2 keys and 26 values
26/07/31 14:02:04.719-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 149 ms to scan 1 urls, producing 473 keys and 2207 values
26/07/31 14:02:05.273-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 110 ms to scan 1 urls, producing 362 keys and 1561 values
26/07/31 14:02:05.589-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 0 ms to scan 1 urls, producing 37 keys and 78 values
26/07/31 14:02:05.626-0700 | INFO | org.reflections.Reflections | ThreadName:main, ThreadId:00000003, User:standard | Reflections took 19 ms to scan 1 urls, producing 29 keys and 116 values
26/07/31 14:02:05.626-0700 | WARNING | com.goldencode.p2j.convert.MatchPhraseDictionary | ThreadName:main, ThreadId:00000003, User:standard | Could not find match phrase list!
26/07/31 14:02:06.126-0700 | WARNING | com.goldencode.artifacts.ArtifactManager | ThreadName:main, ThreadId:00000003, User:standard | No files found in the file set.
26/07/31 14:02:06.960-0700 | INFO | com.goldencode.p2j.persist.ConversionPool | ThreadName:main, ThreadId:00000003, User:standard | Runtime conversion pool initialized in 4188 ms.
26/07/31 14:02:06.960-0700 | WARNING | com.goldencode.p2j.scheduler.Scheduler [Scheduler.initialize()] | ThreadName:main, ThreadId:00000003, User:standard | No scheduler configured.
26/07/31 14:02:07.016-0700 | INFO | com.goldencode.p2j.persist.TemporaryDatabaseManager | ThreadName:main, ThreadId:00000003, User:standard | Using public (shared) temporary database.
26/07/31 14:02:07.016-0700 | INFO | com.goldencode.p2j.persist.DatabaseManager | ThreadName:main, ThreadId:00000003, User:standard | Using H2 database version 1.4.200 (2019-10-14)
26/07/31 14:02:07.145-0700 | INFO | com.goldencode.p2j.persist.meta.MetadataManager | ThreadName:main, ThreadId:00000003, User:standard | Metadata server modules: [Myconnection, Connect, Index, DatabaseFeature, Sequence, FieldTrig, Lock, Field, Area, Usertablestat, Tenant, Filelist, FileTrig, Tablestat, File, Trans, IndexField, Startup, Db]
26/07/31 14:02:07.623-0700 | SEVERE | com.goldencode.p2j.persist.dialect.H2Helper | ThreadName:main, ThreadId:00000003, User:standard | Error setting FWD-specific collation; please ensure 'fwdspi.jar' is installed in Java extension directory
26/07/31 14:02:07.623-0700 | SEVERE | com.goldencode.p2j.main.CommonDriver | ThreadName:main, ThreadId:00000003, User:standard | System exits with code -13 caused by:
com.goldencode.p2j.cfg.ConfigurationException: Failed to initialize hook com.goldencode.p2j.main.StandardServer$7
at com.goldencode.p2j.main.ServerHookManager.hookInitialize(ServerHookManager.java:170)
at com.goldencode.p2j.main.StandardServer.bootstrap(StandardServer.java:1218)
at com.goldencode.p2j.main.ServerDriver.start(ServerDriver.java:566)
at com.goldencode.p2j.main.CommonDriver.process(CommonDriver.java:522)
at com.goldencode.p2j.main.ServerDriver.process(ServerDriver.java:233)
at com.goldencode.p2j.main.ServerDriver.main(ServerDriver.java:1062)
Caused by: java.lang.RuntimeException: Error initializing persistence services for database 'hotel'.
at com.goldencode.p2j.persist.Persistence.initializeTenant(Persistence.java:4279)
at com.goldencode.p2j.persist.Persistence.<init>(Persistence.java:1034)
at com.goldencode.p2j.persist.PersistenceFactory.getInstance(PersistenceFactory.java:193)
at com.goldencode.p2j.persist.meta.LockTableUpdater.<init>(LockTableUpdater.java:198)
at com.goldencode.p2j.persist.DatabaseManager.initDb(DatabaseManager.java:1902)
at com.goldencode.p2j.persist.DatabaseManager.initialize(DatabaseManager.java:1730)
at com.goldencode.p2j.persist.Persistence.initialize(Persistence.java:1088)
at com.goldencode.p2j.main.StandardServer$7.initialize(StandardServer.java:1481)
at com.goldencode.p2j.main.ServerHookManager.hookInitialize(ServerHookManager.java:147)
... 5 more
Caused by: com.goldencode.p2j.persist.PersistenceException: Error initializing embedded database
Caused by: org.h2.jdbc.JdbcSQLDataException: Invalid value "en_US_iso88591_fwd_basic" for parameter "collation"; SQL statement:
set collation "en_US_iso88591_fwd_basic" [90008-200]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:590)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:429)
at org.h2.message.DbException.get(DbException.java:205)
at org.h2.message.DbException.getInvalidValueException(DbException.java:280)
at org.h2.command.Parser.parseSetCollation(Parser.java:7427)
at org.h2.command.Parser.parseSet(Parser.java:7197)
at org.h2.command.Parser.parsePrepared(Parser.java:989)
at org.h2.command.Parser.parse(Parser.java:848)
at org.h2.command.Parser.parse(Parser.java:820)
at org.h2.command.Parser.prepareCommand(Parser.java:753)
at org.h2.engine.Session.prepareLocal(Session.java:669)
at org.h2.engine.Session.prepareCommand(Session.java:606)
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1260)
at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:164)
at org.h2.jdbc.JdbcStatement.executeBatch(JdbcStatement.java:768)
at com.goldencode.p2j.persist.dialect.H2Helper.executeDDL(H2Helper.java:626)
at com.goldencode.p2j.persist.dialect.H2Helper.prepareDatabase(H2Helper.java:290)
at com.goldencode.p2j.persist.Persistence.initializeTenant(Persistence.java:4263)
at com.goldencode.p2j.persist.Persistence.<init>(Persistence.java:1034)
at com.goldencode.p2j.persist.PersistenceFactory.getInstance(PersistenceFactory.java:193)
at com.goldencode.p2j.persist.meta.LockTableUpdater.<init>(LockTableUpdater.java:198)
at com.goldencode.p2j.persist.DatabaseManager.initDb(DatabaseManager.java:1902)
at com.goldencode.p2j.persist.DatabaseManager.initialize(DatabaseManager.java:1730)
at com.goldencode.p2j.persist.Persistence.initialize(Persistence.java:1088)
at com.goldencode.p2j.main.StandardServer$7.initialize(StandardServer.java:1481)
at com.goldencode.p2j.main.ServerHookManager.hookInitialize(ServerHookManager.java:147)
at com.goldencode.p2j.main.StandardServer.bootstrap(StandardServer.java:1218)
at com.goldencode.p2j.main.ServerDriver.start(ServerDriver.java:566)
at com.goldencode.p2j.main.CommonDriver.process(CommonDriver.java:522)
at com.goldencode.p2j.main.ServerDriver.process(ServerDriver.java:233)
at com.goldencode.p2j.main.ServerDriver.main(ServerDriver.java:1062)
This is Windows 10 in VirtualBox. Note exotic line.separator value in log file. It is neither \r\n not \n.
#7 Updated by Eugenie Lyzenko 12 days ago
Small update. The server is starting with explicit command:
java -XX:+HeapDumpOnOutOfMemoryError -XX:GCTimeRatio=19 -XX:MaxTenuringThreshold=7 -XX:StringTableSize=1000003 -Xmx8192m -server -Djava.locale.providers=SPI,CLDR,COMPAT --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.naming/javax.naming=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED -classpath ../lib/p2j.jar;../lib/hotel.jar;../lib/fwdspi.jar;../lib/fwdaopltw.jar com.goldencode.p2j.main.FwdLauncher server.xml net:connection:secure=true net:server:secure_port=3333 net:server:insecure_port=3433
While the Swing client does not work:
...
26/07/31 16:17:04.987-0700 | FINER | com.goldencode.p2j.net.SessionManager [SessionManager.createQueue()] | PID:2584, ThreadName:main-evl | host = localhost; port = 3333; secure = true;
26/07/31 16:17:05.110-0700 | SEVERE | com.goldencode.p2j.main.ClientCore | PID:2584, ThreadName:main-evl | The client stopped working throwing an unexpected exception:
java.net.SocketException: Socket is closed
at java.base/sun.security.ssl.SSLSocketImpl.getOutputStream(SSLSocketImpl.java:1234)
at com.goldencode.p2j.net.NetSocketWrapper.<init>(NetSocketWrapper.java:132)
at com.goldencode.p2j.net.NetSocket$1.create(NetSocket.java:120)
at com.goldencode.p2j.net.SessionManager.connect(SessionManager.java:1345)
at com.goldencode.p2j.net.SessionManager.createQueue(SessionManager.java:1206)
at com.goldencode.p2j.net.LeafSessionManager.connectDirect(LeafSessionManager.java:256)
at com.goldencode.p2j.net.SessionManager.connectDirect(SessionManager.java:713)
at com.goldencode.p2j.main.ClientCore.initialize(ClientCore.java:329)
at com.goldencode.p2j.main.ClientCore.start(ClientCore.java:550)
at com.goldencode.p2j.main.ClientDriver.start(ClientDriver.java:293)
at com.goldencode.p2j.main.CommonDriver.process(CommonDriver.java:522)
at com.goldencode.p2j.main.ClientDriver.process(ClientDriver.java:175)
at com.goldencode.p2j.main.ClientDriver.main(ClientDriver.java:381)
26/07/31 16:17:05.111-0700 | SEVERE | com.goldencode.p2j.main.CommonDriver | PID:2584, ThreadName:main-evl | System exits with code -13 caused by:
java.lang.NullPointerException: Cannot invoke "com.goldencode.p2j.main.MainEntry.standardEntry(String)" because "is.main" is null
at com.goldencode.p2j.main.ClientCore.start(ClientCore.java:553)
at com.goldencode.p2j.main.ClientDriver.start(ClientDriver.java:293)
at com.goldencode.p2j.main.CommonDriver.process(CommonDriver.java:522)
at com.goldencode.p2j.main.ClientDriver.process(ClientDriver.java:175)
at com.goldencode.p2j.main.ClientDriver.main(ClientDriver.java:381)
#8 Updated by Teodor Gorghe 10 days ago
I have started doing some small fixes.
Currently, the changes are not being committed, because I have a small thing which needs to be addressed, regarding automatic resolution of jvm.dll dependency.
On newer JDK (17+), that jvm.dll comes from JAVA_HOME\bin\server. In our build script, we use JAVA_HOME\lib\server, which is the path for linux based system. We use dynamic linking spawn.exe, which is required to add a PATH var entry to find this jvm.dll. I am trying to add this automatically in ClientSpawner or find a more elegant solution to that.
I have some fixes for the Windows scripts in the hotel_gui project, which I will commit soon.
#9 Updated by Teodor Gorghe 10 days ago
Eugenie Lyzenko wrote:
Small update. The server is starting with explicit command:
[...]
While the Swing client does not work:
[...]
I think the missing -Djava.library.path=../lib might be the culprit here.
#10 Updated by Eugenie Lyzenko 9 days ago
Teodor Gorghe wrote:
I have started doing some small fixes.
Currently, the changes are not being committed, because I have a small thing which needs to be addressed, regarding automatic resolution of
jvm.dlldependency.On newer JDK (17+), that
jvm.dllcomes fromJAVA_HOME\bin\server. In our build script, we useJAVA_HOME\lib\server, which is the path for linux based system. We use dynamic linkingspawn.exe, which is required to add a PATH var entry to find thisjvm.dll. I am trying to add this automatically inClientSpawneror find a more elegant solution to that.I have some fixes for the Windows scripts in the
hotel_guiproject, which I will commit soon.
Note for Windows we instruct to directly put jvm.dll on the Windows system path while set up JDK for Windows OS.
#11 Updated by Teodor Gorghe 5 days ago
- File hotel_gui_win.patch
added
Attaching the hotel_gui_win.patch which is needed since most of the Windows scripts are not working.
Also, committed the changes for FWD to work better on Windows, on 11678/r16694.
#12 Updated by Teodor Gorghe 1 day ago
- % Done changed from 0 to 100
- reviewer Eugenie Lyzenko added
Eugenie, please review the changes in the 11678a/r16694 and the ones for hotel_gui, attached in #11678-11.
It improves FWD compilation on Windows and also makes the setup easy for hotel_gui, like on linux equivalent. It shouldn't break your environment.
#13 Updated by Teodor Gorghe 1 day ago
- Status changed from New to WIP
#14 Updated by Teodor Gorghe 1 day ago
- Status changed from WIP to Review
- Assignee set to Teodor Gorghe
#15 Updated by Eugenie Lyzenko 1 day ago
Teodor Gorghe wrote:
Eugenie, please review the changes in the 11678a/r16694 and the ones for
hotel_gui, attached in #11678-11.
It improves FWD compilation on Windows and also makes the setup easy forhotel_gui, like on linux equivalent. It shouldn't break your environment.
What about 11678a revision 16695? Also need to be reviewed?
#16 Updated by Teodor Gorghe 1 day ago
Yes, 11678a/r16695 needs to be reviewed.
#17 Updated by Eugenie Lyzenko 1 day ago
Teodor Gorghe wrote:
Yes, 11678a/r16695 needs to be reviewed.
What Windows version do you use to test this build?
#18 Updated by Teodor Gorghe 1 day ago
A Windows 10 VM.
#19 Updated by Eugenie Lyzenko 1 day ago
Teodor Gorghe wrote:
A Windows 10 VM.
OK. In general I think the changes are reasonable. But I want to start using Hotel GUI on Windows before I can tell everything is OK.
And here I have issues. The 11678a/r16695 can not be built with gradlew all --info:
... make -f C:/opt/11678a_16695/src/native/makefile.spawn make[1]: Entering directory 'C:/opt/11678a_16695/build/native' "Checking FWD gcc environment at start of: C:/opt/11678a_16695/src/native/makefile.spawn" "Initial CFLAGS: -DFWD_VERSION="\"4.0.0_p2j_11678a_16695\"" -IC:/jdk17/include -IC:/jdk17/include/win32 -IC:/opt/11678a_16695/src/native -Wall -fpic" "Initial JVM_LIBPATH: C:/jdk17/lib" rm -f ../../build/native/spawn.exe process_begin: CreateProcess(NULL, rm -f ../../build/native/spawn.exe, ...) failed. make (e=2): The system cannot find the file specified. make[1]: [C:/opt/11678a_16695/src/native/makefile.spawn:309: clean] Error 2 (ignored) gcc -DFWD_VERSION="\"4.0.0_p2j_11678a_16695\"" -IC:/jdk17/include -IC:/jdk17/include/win32 -IC:/opt/11678a_16695/src/native -Wall -fpic -g -Wall -s -LC:/jdk17/lib -DNDEBUG -D_UNICODE -m64 -IC:/jdk17/include -IC:/jdk17/include/win32 -IC:/opt/11678a_16695/src/native C:/opt/11678a_16695/src/native/winspawn.c -o ../../build/native/spawn.exe -m64 make[1]: Leaving directory 'C:/opt/11678a_16695/build/native' make -f C:/opt/11678a_16695/src/native/makefile.win_utils make[1]: Entering directory 'C:/opt/11678a_16695/build/native' "Checking FWD gcc environment at start of: C:/opt/11678a_16695/src/native/makefile.win_utils" "Initial CFLAGS: -DFWD_VERSION="\"4.0.0_p2j_11678a_16695\"" -IC:/jdk17/include -IC:/jdk17/include/win32 -IC:/opt/11678a_16695/src/native -Wall -fpic" "Initial JVM_LIBPATH: C:/jdk17/lib" rm -f ../../build/native/get_text_metrics.exe process_begin: CreateProcess(NULL, rm -f ../../build/native/get_text_metrics.exe, ...) failed. make (e=2): The system cannot find the file specified. make[1]: *** [C:/opt/11678a_16695/src/native/makefile.win_utils:194: clean] Error 2 make[1]: Leaving directory 'C:/opt/11678a_16695/build/native' make: *** [makefile:312: win_utils] Error 2 ...
So the Window version is still not working for now.
#20 Updated by Teodor Gorghe about 24 hours ago
- % Done changed from 100 to 90
- Status changed from Review to WIP
As the logs tell, there is no rm or cp in your machine, which tells to me that having POSIX shell, doesn't guarantee that these utilities are installed in the system. Your system uses a make binary which uses a GNU shell by default, without having these two binaries.
I think the best way is to revert this section to trunk, using the cmd.exe /c del /q for delete and cmd.exe /c copy /B /V ... /B for copy. Quoting these paths makes them shell agnostic.
I will tell when it is done for review.
#21 Updated by Teodor Gorghe about 23 hours ago
- Status changed from WIP to Review
- % Done changed from 90 to 100
Done in 11678a/r16696.
#22 Updated by Eugenie Lyzenko about 23 hours ago
Teodor Gorghe wrote:
Done in 11678a/r16696.
OK.
I think for the cases we can use regular Windows tools or utilities that are part of the OS we need to prefer this way. To simplify the system setup process.
#23 Updated by Roger Borrello about 22 hours ago
Teodor, there is a update to tools/docker/docker_build.sh that will include server in /opt/fwd-deploy. Can I add it to 11678a? It does need to lay on top of trunk_16699, so a rebase would need to be done.
Show update
#24 Updated by Eugenie Lyzenko about 21 hours ago
Teodor Gorghe wrote:
Eugenie, please review the changes in the 11678a/r16694 and the ones for
hotel_gui, attached in #11678-11.
How can I apply this patch to the Hotel GUI? Is it the patch to be used on Ubuntu, right?
I tried (patch -p < hotel_gui_win.patch) for recent Hotel GUI(revision 474) running inside root of the application but most of the files are not updating. Can you please make an archive with only modified but just patched versions, to just apply on top of the Hotel GUI?
And BTW the revision 16696 is now building fine on Windows.
#25 Updated by Teodor Gorghe about 15 hours ago
Roger, I will rebase the branch to contain these changes.
For hotel_gui, I have just patched it the host (using patch -p1 -i hotel_win.patch). You have a copy of it into an internal server.
#26 Updated by Roger Borrello about 6 hours ago
Teodor Gorghe wrote:
Roger, I will rebase the branch to contain these changes.
Let me know when this is done... I want to add my updates. Last I checked it was still revision 16696.
#27 Updated by Roger Borrello about 5 hours ago
Roger Borrello wrote:
Teodor Gorghe wrote:
Roger, I will rebase the branch to contain these changes.
Let me know when this is done... I want to add my updates. Last I checked it was still revision 16696.
I will do this and report back on any conflicts I cannot resolve.
#28 Updated by Roger Borrello about 5 hours ago
Branch was rebased to trunk_16702 and is now at revision 16704.
#29 Updated by Roger Borrello about 5 hours ago
Roger Borrello wrote:
Teodor, there is a update to
tools/docker/docker_build.shthat will include server in/opt/fwd-deploy. Can I add it to 11678a? It does need to lay on top of trunk_16699, so a rebase would need to be done.
Committed to revision 16705.
Added server dist to Docker images where appropriate. Also, build images without PG when PG requested so as to have a complete set.