Build from Source

br04 years ago

Здравствуйте, у меня вопрос на счет создания сервера из исходного кода.
Что то делаю не так, возможно кто то сталкивался с моей проблемой.
Использую ubuntu 16.04 , сервер traccar ходит великолепно. Но хотелось бы обновится.
Что я делаю. Сперва качаю сборку с помощью git clone --recursive https://github.com/traccar/traccar.git
Дальше в корне создается папка traccar, внутри пробую создать бинарный файл jar с помощью ./gradlew assemble
И всегда на 23% у меня все умирает. Проблема с Java , чего то не хватает , но в логе толком ничего нету. Уже сто раз jdk jre обновил , но не помогло. Кто с таким сталкивался и возможно ubuntu 16.04 не подходит? Антон, помогите пожалуйста)
Возможно какие то дополнение нужно установить сперва на сервер?

Anton Tananaev4 years ago

Сколько памяти у вас в системе?

br04 years ago

1 GB. Отчет сервиса во время сборки показывает что система нагружена только на половину.

Anton Tananaev4 years ago

Возможно этого не хватает.

br04 years ago

Понял, спасибо. Попробую на 2 gb )

br04 years ago

Кстати , после успешной сборки нужно заменить только файл tracker-server.jar?

Anton Tananaev4 years ago

Да.

br04 years ago

Отчет с хостинга во время сборки.
ram

br04 years ago
Starting a Gradle Daemon (subsequent builds will be faster)
The message received from the daemon indicates that the daemon has disappeared.
Build request sent: Build{id=dcf90e0c-e74f-441d-89e1-5b5d17d0ffb7, currentDir=/root/traccar}
Attempting to read last messages from the daemon log...
Daemon pid: 21771
  log file: /root/.gradle/daemon/6.7.1/daemon-21771.out.log
----- Last  20 lines from daemon log file - daemon-21771.out.log -----
2021-01-10T21:06:57.996+0200 [DEBUG] [org.gradle.launcher.daemon.server.SynchronizedDispatchConnection] thread 15: received class org.gradle.launcher.daemon.protocol.Build
2021-01-10T21:06:57.997+0200 [DEBUG] [org.gradle.launcher.daemon.server.DefaultDaemonConnection] thread 15: Received non-IO message from client: Build{id=dcf90e0c-e74f-441d-89e1-5b5d17d0ffb7, currentDir=/root/traccar}
2021-01-10T21:06:57.997+0200 [INFO] [org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler] Received command: Build{id=dcf90e0c-e74f-441d-89e1-5b5d17d0ffb7, currentDir=/root/traccar}.
2021-01-10T21:06:57.997+0200 [DEBUG] [org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler] Starting executing command: Build{id=dcf90e0c-e74f-441d-89e1-5b5d17d0ffb7, currentDir=/root/traccar} with connection: socket connection from /127.0.0.1:45798 to /127.0.0.1:55782.
2021-01-10T21:06:58.004+0200 [ERROR] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] Command execution: started DaemonCommandExecution[command = Build{id=dcf90e0c-e74f-441d-89e1-5b5d17d0ffb7, currentDir=/root/traccar}, connection = DefaultDaemonConnection: socket connection from /127.0.0.1:45798 to /127.0.0.1:55782] after 0.0 minutes of idle
2021-01-10T21:06:58.004+0200 [INFO] [org.gradle.launcher.daemon.server.DaemonRegistryUpdater] Marking the daemon as busy, address: [3c1e36e8-b803-4b1d-945f-f0e0383772ed port:45798, addresses:[localhost/127.0.0.1]]
2021-01-10T21:06:58.005+0200 [DEBUG] [org.gradle.launcher.daemon.registry.PersistentDaemonRegistry] Marking busy by address: [3c1e36e8-b803-4b1d-945f-f0e0383772ed port:45798, addresses:[localhost/127.0.0.1]]
2021-01-10T21:06:58.010+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
2021-01-10T21:06:58.014+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2021-01-10T21:06:58.015+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2021-01-10T21:06:58.016+0200 [DEBUG] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] resetting idle timer
2021-01-10T21:06:58.016+0200 [DEBUG] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] daemon is running. Sleeping until state changes.
2021-01-10T21:06:58.019+0200 [INFO] [org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy] Daemon is about to start building Build{id=dcf90e0c-e74f-441d-89e1-5b5d17d0ffb7, currentDir=/root/traccar}. Dispatching build started information...
2021-01-10T21:06:58.019+0200 [DEBUG] [org.gradle.launcher.daemon.server.SynchronizedDispatchConnection] thread 17: dispatching org.gradle.launcher.daemon.protocol.BuildStarted@1f50ff94
2021-01-10T21:06:58.027+0200 [DEBUG] [org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment] Configuring env variables: [PATH, LESSCLOSE, SHELL, LESSOPEN, XDG_DATA_DIRS, SSH_TTY, SSH_CLIENT, TERM, OLDPWD, USER, LANG, XDG_SESSION_ID, SSH_CONNECTION, MAIL, LOGNAME, PWD, LS_COLORS, XDG_RUNTIME_DIR, HOME, SHLVL, _]
2021-01-10T21:06:58.037+0200 [DEBUG] [org.gradle.launcher.daemon.server.exec.LogToClient] About to start relaying all logs to the client via the connection.
2021-01-10T21:06:58.037+0200 [INFO] [org.gradle.launcher.daemon.server.exec.LogToClient] The client will now receive all logging from the daemon (pid: 21771). The daemon log file: /root/.gradle/daemon/6.7.1/daemon-21771.out.log
2021-01-10T21:06:58.043+0200 [INFO] [org.gradle.launcher.daemon.server.exec.LogAndCheckHealth] Starting build in new daemon [memory: 519.0 MB]
2021-01-10T21:06:58.048+0200 [DEBUG] [org.gradle.launcher.daemon.server.exec.ExecuteBuild] The daemon has started executing the build.
2021-01-10T21:06:58.050+0200 [DEBUG] [org.gradle.launcher.daemon.server.exec.ExecuteBuild] Executing build with daemon context: DefaultDaemonContext[uid=01e470d3-b9f7-477d-8a06-20a4d5f3edba,javaHome=/usr/lib/jvm/java-8-openjdk-amd64,daemonRegistryDir=/root/.gradle/daemon,pid=21771,idleTimeout=10800000,priority=NORMAL,daemonOpts=-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]

И дальше вот такое

* What went wrong:
Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)

это происходить через плохие настройки для "чрезмерного выделения памяти" в Linux.
Решение такое переопределить на данный момент до перезапуска:
echo 0 >/proc/sys/vm/overcommit_memory

или навсегда -

echo "vm.overcommit_memory=0 >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf # apply it immediately

Может кому пригодится.