Source Build - "has modification time 228281 s in the future" Hatası

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 248

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba

Hata Örneği:

Sıkça rastlanabilen bir sorunun çözümünü anlatacağım;
db veya game source build ederken en son değişim yaptığınız dosyada has modification time 228281 s in the future hatası alabilirsiniz.
Bu hatanın sebebi sunucu saatinizin yerel (Bilgisayar) saatiyle eşleşmemesinden kaynaklanmaktadır.

Kesin Çözüm:
(Sunucunun Saatini Kontrol Etme)
WGdWlY.png

Sorunsuz build edebilmemiz için sunucu saatinizin yerel saatle aynı olmalı ve onu kontrol etmek için putty login olup date yazıp sunucu saatinizi öğrenebilirsiniz eğer yerel(bilgisayar) saatle uyuşmuyorsa sunucu saatini değiştirmek için
yazıp enterlamanız yeterli.

Not: Çözümü uyguladıktan sonra değiştirdiğiniz dosyayı tekrar düzenleyerek kayıt etmelisiniz, ardından build işlemine başlayabiirsiniz.

iyi forumlar
Source Build - 'has modification time 228281 s in the future' Hatası

Metin2 sunucu geliştirme sürecinde FreeBSD tabanlı sistemlerde derleme (build) işlemi sırasında karşımıza çıkabilen 'has modification time 228281 s in the future' hatası oldukça yaygın bir durumdur. Bu hata özellikle Metin2 FreeBSD sistemlerinde kaynak kodlardan (source code) derleme yaparken zaman damgası (timestamp) sorunları nedeniyle ortaya çıkar. Bu yazıda, bu hatayı nasıl tanımlayacağımızı, neden oluştuğunu ve çözüm önerilerini detaylı olarak ele alacağız.

Hatanın Tanımı

FreeBSD veya diğer Unix türevi sistemlerde kaynak kodları derlemeye çalışırken aşağıdaki gibi bir hata mesajıyla karşılaşabilirsiniz:

'filename.o has modification time 228281 s in the future'

Bu hata, dosyanın değişiklik zamanının mevcut sistem saatinin ilerisinde olduğunu belirtir. Yani sistem, dosyanın değiştirildiği zamanın gelecekte olduğunu düşünür. Bu durum make, cmake veya gcc gibi derleme araçlarının dosya bağımlılıklarını doğru şekilde analiz etmesini engeller.

Neden Bu Hata Oluşur?

Bu hata genellikle aşağıdaki sebeplerden dolayı meydana gelir:

- Sistem saatinin yanlış olması.
- Sanal makinede zaman senkronizasyonunun eksik ya da hatalı olması.
- Zaman dilimi (timezone) ayarlarında uyuşmazlık.
- Sistemdeki donanım saatinin (RTC - Real Time Clock) UTC yerine yerel saat diliminde ayarlanmış olması.

Özellikle Metin2 FreeBSD kurulum süreçlerinde bu hata, kaynak kodların derlenmesi sırasında sıkça görülebilir. Özellikle FreeBSD jail yapılandırmasında zaman senkronizasyonu dışarıdan yönetildiği için jail içinde bu sorun daha sık görülür.

Hatanın Giderilmesi

Hatanın çözümü için aşağıdaki adımları takip edebilirsiniz:

1. Sistem Saatini Kontrol Edin:
date komutu ile mevcut zamanı kontrol edin.

2. Zaman Senkronizasyonunu Ayarlayın:
ntpd veya chrony gibi NTP servislerini etkinleştirin.

Kod:
sudo service ntpd start[BR][/BR]sudo sysrc ntpd_enable=YES


3. Donanım Saatini Doğru Ayarlayın:
FreeBSD sistemlerde RTC saatinin UTC olarak ayarlandığından emin olun.

Kod:
sudo sysrc hwclock_flags='--utc'


4. Dosyaların Zaman Damgalarını Güncelleyin:
Eğer hata devam ediyorsa, ilgili dizindeki tüm dosyaların zaman damgalarını güncelleyin.

Kod:
find . -exec touch {} +


FreeBSD Jail İçinde Bu Sorunla Karşılaşırsanız

Jail içinde zaman senkronizasyonu host sistemden yönetilir. Jail zamanını manuel olarak değiştirmek mümkün olmayabilir. Bu durumda jail host sistemde doğru zamana sahip olmalıdır. Jail içinde tzsetup ile zaman dilimi ayarlamasını yapabilirsiniz.

Metin2 Derleme Sürecinde Bu Hata Nasıl Önlenir?

Metin2 sunucu derlemesi yaparken özellikle Metin2 FreeBSD compile süreçlerinde bu hatanın önüne geçmek için derleme öncesi zaman senkronizasyonunun sağlanması çok önemlidir. Ayrıca derleme ortamında GCC veya Clang derleyicileri ile uyumlu olacak şekilde yapılandırmalar yapılmalıdır. Metin2 FreeBSD gcc ve clang yapılandırmalarında zaman damgaları sorunsuz olacak şekilde ayarlanmalıdır.

Sonuç

Bu hata, FreeBSD tabanlı sistemlerde kaynak kod derleme süreçlerinde zaman damgası farklılıklarından kaynaklanır. Metin2 FreeBSD sistemlerinde bu hatanın önüne geçmek için zaman senkronizasyonu, jail yapılandırması ve derleme öncesi hazırlıklar dikkatlice yapılmalıdır. Hatanın çözümü kolaydır ve genellikle sistem zamanı ile ilgilidir.


Source Build - 'has modification time 228281 s in the future' Error

During the Metin2 server development process, the error 'has modification time 228281 s in the future' commonly occurs while compiling source codes on FreeBSD-based systems. This error arises from timestamp issues especially during build operations from source code on Metin2 FreeBSD systems. In this article, we will examine how to identify this error, why it occurs, and provide detailed solutions.

Definition of the Error

While attempting to compile source codes on FreeBSD or other Unix-like systems, you may encounter an error message like the following:

'filename.o has modification time 228281 s in the future'

This error indicates that the file's modification time is ahead of the current system time. The system thinks the file was modified in the future, which prevents compilation tools like make, cmake, or gcc from correctly analyzing file dependencies.

Why Does This Error Occur?

This error usually occurs due to the following reasons:

- Incorrect system time settings.
- Improper or missing time synchronization in virtual machines.
- Timezone configuration mismatches.
- Hardware clock (RTC - Real Time Clock) set to local time instead of UTC on the system.

Especially during Metin2 FreeBSD installation processes, this error frequently appears when compiling source codes. Particularly within FreeBSD jail configurations, since time synchronization is managed externally, this issue is more common inside jails.

How to Resolve the Error

To resolve this error, follow these steps:

1. Check System Time:
Verify the current time using the date command.

2. Set Time Synchronization:
Enable NTP services such as ntpd or chrony.

Kod:
sudo service ntpd start[BR][/BR]sudo sysrc ntpd_enable=YES


3. Correctly Set Hardware Clock:
Ensure that the RTC clock is set to UTC on FreeBSD systems.

Kod:
sudo sysrc hwclock_flags='--utc'


4. Update File Timestamps:
If the error persists, update timestamps for all files in the relevant directory.

Kod:
find . -exec touch {} +


If You Encounter This Issue Inside FreeBSD Jails

Time synchronization inside jails is managed by the host system. Manually changing the jail time may not be possible. In this case, the host system must have correct time. You can adjust timezone settings inside the jail using tzsetup.

How to Prevent This Error During Metin2 Compilation

When building Metin2 servers, ensuring time synchronization before compilation is crucial to avoid this error during Metin2 FreeBSD compile processes. Additionally, configurations with GCC or Clang compilers should be properly adjusted to ensure timestamps work without issues. In Metin2 FreeBSD gcc and clang setups, timestamps must be configured smoothly.

Conclusion

This error stems from timestamp differences during source code compilation processes on FreeBSD-based systems. To prevent this error in Metin2 FreeBSD systems, time synchronization, jail configurations, and pre-compilation preparations must be handled carefully. The error is easy to fix and generally related to system time.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt