Recent

Author Topic: Fpcupdeluxe  (Read 481658 times)

Bart

  • Hero Member
  • *****
  • Posts: 4097
    • Bart en Mariska's Webstek
Re: Fpcupdeluxe
« Reply #1710 on: November 22, 2020, 11:18:54 pm »
You need at least libc-devel package installed I think.
Probably others as well.

Bart

jma_sp

  • Full Member
  • ***
  • Posts: 143
  • El conocimiento si ocupa lugar.
Re: Fpcupdeluxe
« Reply #1711 on: November 26, 2020, 11:52:13 am »
Hello, I have tried to obtain a working installation of Lazarus under Haiku OS in 32 & 64 bits versión but never got it, only finished with errors, also warnings about locale.
What are the package requeriments to create with fpcupdeluxe as subversión,  qt development, qt5,....????
 In manual way without fpcupdeluxe people fail to create with 2.1.0  and freepascal 3.2 because linker is not able to find objects (libqt5pas generates without problems).
Also fails to compile with errors as circular reference in tachart units or synedit.
Need installation files be updated with aditional libs and units paths?.

p.d. installed with make LCl_INTERFACE=qt5

Thanks.
« Last Edit: November 26, 2020, 11:56:03 am by jma_sp »
Devuan Beowulf 3.0( JWM/ROX/iDesk) - Puppy Linux,  Haiku OS,.ReactOS 0.4.xx  - FreeDos .

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1388
Re: Fpcupdeluxe
« Reply #1712 on: November 26, 2020, 12:06:09 pm »
@jma_sp
Your post is not clear to me.
Did you use fpcupdeluxe on Haiku ?
Did it work or fail.
In case of failure, please post some error message.

Ps:
The fpcupdeluxe Haiku-zip contain the necessary QT5 libraries.
You need to have QT5 installed on your Haiku system.

JD

  • Hero Member
  • *****
  • Posts: 1818
Re: Fpcupdeluxe
« Reply #1713 on: December 01, 2020, 03:46:27 pm »
Hi there,

I'm trying to install Lazarus on my Linux Mint PC using fpcupdeluxe. It failed and it gave me the errors below:

Code: Pascal  [Select][+][-]
  1. Checking dev-libs for: gtk2
  2. fpcupdeluxe: ERROR: Missing library:
  3. fpcupdeluxe: ERROR: libX11.so
  4. fpcupdeluxe: ERROR: libgdk_pixbuf-2.0.so
  5. fpcupdeluxe: ERROR: libpango-1.0.so
  6. fpcupdeluxe: ERROR: libcairo.so
  7. fpcupdeluxe: ERROR: libgdk-x11-2.0.so
  8. fpcupdeluxe: WARNING: You need to install at least the libraries to get libX11.so and libgdk_pixbuf-2.0.so and libpango-1.0.so and libgdk-x11-2.0.so, but also make and binutils to build Lazarus !!
  9. fpcupdeluxe: WARNING: Make, binutils, subversion/svn [and gdb] are also required !!
  10.  

How do I get the missing libraries? I was able to get subversion using sudo apt install subversion but what command do I use to install the other missing tools?

Thanks,

JD
Windows (10), Linux Mint - Lazarus 2.1/FPC 3.2, Delphi

Indy 10.6 series; mORMot; Zeos 7.3; SQLite, Firebird, PostgreSQL & MariaDB; VirtualTreeView 5.5.3 R1

Jurassic Pork

  • Hero Member
  • *****
  • Posts: 883
Re: Fpcupdeluxe
« Reply #1714 on: December 01, 2020, 03:54:16 pm »
hello,
have a look to the prerequisites for linux   here

Friendly, J.P
Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

JD

  • Hero Member
  • *****
  • Posts: 1818
Re: Fpcupdeluxe
« Reply #1715 on: December 01, 2020, 04:47:54 pm »
hello,
have a look to the prerequisites for linux   here

Friendly, J.P

Thanks I'm downloading the tools right now.

JD
Windows (10), Linux Mint - Lazarus 2.1/FPC 3.2, Delphi

Indy 10.6 series; mORMot; Zeos 7.3; SQLite, Firebird, PostgreSQL & MariaDB; VirtualTreeView 5.5.3 R1

nouzi

  • Full Member
  • ***
  • Posts: 188
Re: Fpcupdeluxe
« Reply #1716 on: December 06, 2020, 04:16:18 pm »
can't install zeosdb by Fpcupdeluxe
zeos                SUCCESS
zeos stable      failed
zeos testing     failed

Code: Bash  [Select][+][-]
  1. Limiting installation/update to zeos_stable
  2.  
  3. Going to install selected modules with given options.
  4. FPCUP(deluxe) is starting up.
  5.  
  6. Binutils/make dir:     D:\bin_dev\trunk\fpcbootstrap
  7. Bootstrap dir:         D:\bin_dev\trunk\fpcbootstrap
  8. FPCupdeluxe basedir:   D:\bin_dev\trunk
  9. FPC URL:               https://svn.freepascal.org/svn/fpc/trunk
  10. FPC options:          
  11. FPC source directory:  D:\bin_dev\trunk\fpcsrc
  12. FPC install directory: D:\bin_dev\trunk\fpc
  13. Lazarus URL:               https://svn.freepascal.org/svn/lazarus/trunk
  14. Lazarus options:          
  15. Lazarus source directory:  D:\bin_dev\trunk\lazarus
  16. Lazarus install directory: D:\bin_dev\trunk\lazarus
  17.  
  18. Please stand back and enjoy !
  19.  
  20. 07-12-2020 9:59:34: fpcupdeluxe: V313 (20201021) started.
  21. FPCUPdeluxe V1.8.2d for i386-win32 running on Win64-6.1.7601
  22.  
  23. Found valid svn.exe application.
  24. Found valid svn.exe application.
  25. Found valid git.exe application.
  26. Found valid git.exe application.
  27. Found valid hg.exe application.
  28. Found valid make.exe application.
  29. fpcupdeluxe: info: UniversalInstaller (GetModule: zeos_stable): Getting module zeos_stable
  30. fpcupdeluxe: info: UniversalInstaller (GetModule: zeos_stable): Going to download/update from SVN repository svn://svn.code.sf.net/p/zeoslib/code-0//tags/7.2.6-stable/
  31. fpcupdeluxe: info: UniversalInstaller (GetModule: zeos_stable): Please wait: this can take some time (if repo is big or has a large history).
  32. fpcupdeluxe: Executing: C:\Program Files\SlikSvn\bin\svn.exe info D:\bin_dev\trunk\ccr\zeos_stable (working dir: )
  33. Path: D:\bin_dev\trunk\ccr\zeos_stable
  34. Working Copy Root Path: D:\bin_dev\trunk\ccr\zeos_stable
  35. URL: svn://svn.code.sf.net/p/zeoslib/code-0/tags/7.2.6-stable
  36. Relative URL: ^/tags/7.2.6-stable
  37. Repository Root: svn://svn.code.sf.net/p/zeoslib/code-0
  38. Repository UUID: d681b350-854c-439c-a81d-c0ce20710203
  39. Revision: 7151
  40. Node Kind: directory
  41. Schedule: normal
  42. Last Changed Author: marsupilami79
  43. Last Changed Rev: 6047
  44. Last Changed Date: 2019-10-23 08:02:00 +0100 (????????, 23 ?????? 2019)
  45. fpcupdeluxe: info: Directory D:\bin_dev\trunk\ccr\zeos_stable is not an SVN repository (or a repository with the wrong remote URL).
  46. fpcupdeluxe: Executing: C:\Program Files\SlikSvn\bin\svn.exe info D:\bin_dev\trunk\ccr\zeos_stable (working dir: G:\fpcupdeluxe\)
  47. fpcupdeluxe: info: UniversalInstaller (DownloadFromSVN: zeos_stable): Running SVN checkout or update.
  48. fpcupdeluxe: Executing: C:\Program Files\SlikSvn\bin\svn.exe info D:\bin_dev\trunk\ccr\zeos_stable (working dir: G:\fpcupdeluxe\)
  49. Path: D:\bin_dev\trunk\ccr\zeos_stable
  50. Working Copy Root Path: D:\bin_dev\trunk\ccr\zeos_stable
  51. URL: svn://svn.code.sf.net/p/zeoslib/code-0/tags/7.2.6-stable
  52. Relative URL: ^/tags/7.2.6-stable
  53. Repository Root: svn://svn.code.sf.net/p/zeoslib/code-0
  54. Repository UUID: d681b350-854c-439c-a81d-c0ce20710203
  55. Revision: 7151
  56. Node Kind: directory
  57. Schedule: normal
  58. Last Changed Author: marsupilami79
  59. Last Changed Rev: 6047
  60. Last Changed Date: 2019-10-23 08:02:00 +0100 (????????, 23 ?????? 2019)
  61. fpcupdeluxe: Executing: C:\Program Files\SlikSvn\bin\svn.exe cleanup --non-interactive D:\bin_dev\trunk\ccr\zeos_stable (working dir: G:\fpcupdeluxe\)
  62. fpcupdeluxe: Executing: C:\Program Files\SlikSvn\bin\svn.exe update --quiet --non-interactive --trust-server-cert -r HEAD D:\bin_dev\trunk\ccr\zeos_stable (working dir: G:\fpcupdeluxe\)
  63. fpcupdeluxe: Executing: C:\Program Files\SlikSvn\bin\svn.exe info D:\bin_dev\trunk\ccr\zeos_stable (working dir: G:\fpcupdeluxe\)
  64. fpcupdeluxe: info: UniversalInstaller (GetModule: zeos_stable): Download/update from SVN repository ok.
  65. fpcupdeluxe: info: UniversalInstaller (GetModule: zeos_stable): No zeos_stable patches defined.
  66. fpcupdeluxe: info: UniversalInstaller (InstallPackage): Installing zcore
  67. fpcupdeluxe: Executing: D:\bin_dev\trunk\lazarus\lazbuild.exe --version (working dir: G:\fpcupdeluxe\)
  68. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  69. 2.1.0
  70. fpcupdeluxe: Executing: D:\bin_dev\trunk\lazarus\lazbuild.exe --quiet --pcp=D:\bin_dev\trunk\config_lazarus --cpu=i386 --os=win32 --add-package D:\bin_dev\trunk\ccr\zeos_stable\packages\lazarus\zcore.lpk (working dir: D:\bin_dev\trunk\ccr\zeos_stable)
  71. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  72. SetPrimaryConfigPath NewValue="D:\bin_dev\trunk\config_lazarus" -> "D:\bin_dev\trunk\config_lazarus"
  73. fpcupdeluxe: info: UniversalInstaller (InstallPackage): Error trying to add package zcore. Details:
  74. fpcupdeluxe: info: UniversalInstaller (InstallPackage): Installing zplain
  75. fpcupdeluxe: Executing: D:\bin_dev\trunk\lazarus\lazbuild.exe --version (working dir: D:\bin_dev\trunk\ccr\zeos_stable)
  76. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  77. 2.1.0
  78. fpcupdeluxe: Executing: D:\bin_dev\trunk\lazarus\lazbuild.exe --quiet --pcp=D:\bin_dev\trunk\config_lazarus --cpu=i386 --os=win32 --add-package D:\bin_dev\trunk\ccr\zeos_stable\packages\lazarus\zplain.lpk (working dir: D:\bin_dev\trunk\ccr\zeos_stable)
  79. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  80. SetPrimaryConfigPath NewValue="D:\bin_dev\trunk\config_lazarus" -> "D:\bin_dev\trunk\config_lazarus"
  81. fpcupdeluxe: info: UniversalInstaller (InstallPackage): Error trying to add package zplain. Details:
  82. fpcupdeluxe: info: UniversalInstaller (InstallPackage): Installing zcore
  83. fpcupdeluxe: Executing: D:\bin_dev\trunk\lazarus\lazbuild.exe --version (working dir: D:\bin_dev\trunk\ccr\zeos_stable)
  84. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  85. 2.1.0
  86. fpcupdeluxe: Executing: D:\bin_dev\trunk\lazarus\lazbuild.exe --quiet --pcp=D:\bin_dev\trunk\config_lazarus --cpu=i386 --os=win32 --add-package D:\bin_dev\trunk\ccr\zeos_stable\packages\lazarus\zcore.lpk (working dir: D:\bin_dev\trunk\ccr\zeos_stable)
  87. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  88. SetPrimaryConfigPath NewValue="D:\bin_dev\trunk\config_lazarus" -> "D:\bin_dev\trunk\config_lazarus"
  89. fpcupdeluxe: info: UniversalInstaller (InstallPackage): Error trying to add package zcore. Details:
  90. fpcupdeluxe: info: UniversalInstaller (InstallPackage): Installing zparsesql
  91. fpcupdeluxe: Executing: D:\bin_dev\trunk\lazarus\lazbuild.exe --version (working dir: D:\bin_dev\trunk\ccr\zeos_stable)
  92. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  93. 2.1.0
  94. fpcupdeluxe: Executing: D:\bin_dev\trunk\lazarus\lazbuild.exe --quiet --pcp=D:\bin_dev\trunk\config_lazarus --cpu=i386 --os=win32 --add-package D:\bin_dev\trunk\ccr\zeos_stable\packages\lazarus\zparsesql.lpk (working dir: D:\bin_dev\trunk\ccr\zeos_stable)
  95. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  96. SetPrimaryConfigPath NewValue="D:\bin_dev\trunk\config_lazarus" -> "D:\bin_dev\trunk\config_lazarus"
  97. fpcupdeluxe: info: UniversalInstaller (InstallPackage): Error trying to add package zparsesql. Details:
  98. fpcupdeluxe: info: UniversalInstaller (InstallPackage): Installing zdbc
  99. fpcupdeluxe: Executing: D:\bin_dev\trunk\lazarus\lazbuild.exe --version (working dir: D:\bin_dev\trunk\ccr\zeos_stable)
  100. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  101. 2.1.0
  102. fpcupdeluxe: Executing: D:\bin_dev\trunk\lazarus\lazbuild.exe --quiet --pcp=D:\bin_dev\trunk\config_lazarus --cpu=i386 --os=win32 --add-package D:\bin_dev\trunk\ccr\zeos_stable\packages\lazarus\zdbc.lpk (working dir: D:\bin_dev\trunk\ccr\zeos_stable)
  103. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  104. SetPrimaryConfigPath NewValue="D:\bin_dev\trunk\config_lazarus" -> "D:\bin_dev\trunk\config_lazarus"
  105. fpcupdeluxe: info: UniversalInstaller (InstallPackage): Error trying to add package zdbc. Details:
  106. fpcupdeluxe: info: UniversalInstaller (InstallPackage): Installing zcomponent version 7.2.6
  107. fpcupdeluxe: Executing: D:\bin_dev\trunk\lazarus\lazbuild.exe --version (working dir: D:\bin_dev\trunk\ccr\zeos_stable)
  108. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  109. 2.1.0
  110. fpcupdeluxe: Executing: D:\bin_dev\trunk\lazarus\lazbuild.exe --quiet --pcp=D:\bin_dev\trunk\config_lazarus --cpu=i386 --os=win32 --add-package D:\bin_dev\trunk\ccr\zeos_stable\packages\lazarus\zcomponent.lpk (working dir: D:\bin_dev\trunk\ccr\zeos_stable)
  111. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  112. SetPrimaryConfigPath NewValue="D:\bin_dev\trunk\config_lazarus" -> "D:\bin_dev\trunk\config_lazarus"
  113. fpcupdeluxe: info: UniversalInstaller (ConfigModule: zeos_stable): Going to rebuild Lazarus because packages were installed.
  114. fpcupdeluxe: Executing: D:\bin_dev\trunk\fpcbootstrap\make.exe --directory=D:\bin_dev\trunk\lazarus FPC=D:\bin_dev\trunk\fpc\bin\i386-win32\fpc.exe PP=D:\bin_dev\trunk\fpc\bin\i386-win32\ppc386.exe USESVN2REVISIONINC=0 PREFIX=D:\bin_dev\trunk\lazarus INSTALL_PREFIX=D:\bin_dev\trunk\lazarus LAZARUS_INSTALL_DIR=D:\bin_dev\trunk\lazarus\ FPCDIR=D:\bin_dev\trunk\fpcsrc FPCMAKE=D:\bin_dev\trunk\fpc\bin\i386-win32\fpcmake.exe PPUMOVE=D:\bin_dev\trunk\fpc\bin\i386-win32\ppumove.exe CFGFILE=D:\bin_dev\trunk\config_lazarus\idemake.cfg UPXPROG=echo LAZBUILDJOBS=8 useride (working dir: D:\bin_dev\trunk\lazarus)
  115. ./lazbuild.exe --max-process-count=8 --lazarusdir=. --build-ide=
  116. using config file D:\bin_dev\trunk\lazarus\lazarus.cfg
  117. SetPrimaryConfigPath NewValue="D:\bin_dev\trunk\config_lazarus" -> "D:\bin_dev\trunk\config_lazarus"
  118. (1002) Target OS: Win32 for i386
  119. (3104) Compiling zcomponent.pas
  120. (3104) Compiling D:\bin_dev\trunk\ccr\zeos_stable\src\component\ZComponentReg.pas
  121. (3104) Compiling D:\bin_dev\trunk\ccr\zeos_stable\src\component\ZPropertyEditor.pas
  122. (3104) Compiling D:\bin_dev\trunk\ccr\zeos_stable\src\component\ZAbstractConnection.pas
  123. (3104) Compiling D:\bin_dev\trunk\ccr\zeos_stable\src\component\ZAbstractRODataset.pas
  124. (3104) Compiling D:\bin_dev\trunk\ccr\zeos_stable\src\component\ZSqlStrings.pas
  125. (3104) Compiling D:\bin_dev\trunk\ccr\zeos_stable\src\component\ZAbstractRODataset.pas
  126. D:\bin_dev\trunk\ccr\zeos_stable\src\component\ZAbstractRODataset.pas(5273,3) Error: (3285) Expected another 6 array elements
  127. ZAbstractRODataset.pas(7520) Fatal: (10026) There were 1 errors compiling module, stopping
  128. Fatal: (1018) Compilation aborted
  129. Error: D:\bin_dev\trunk\fpc\bin\i386-win32\ppc386.exe returned an error exitcode
  130. Error: (lazarus) Compile package zcomponent 7.2.6: stopped with exit code 1
  131. Error: (lazarus) [TLazPackageGraph.CompileRequiredPackages] "Exit code 1"
  132. Error: (lazarus) Building IDE: Compile AutoInstall Packages failed.
  133. make: *** [useride] Error 2
  134.  
  135. fpcupdeluxe: ERROR: UniversalInstaller (ConfigModule: zeos_stable): Failure trying to rebuild Lazarus.
  136. Details:
  137.  
  138.  
  139. ERROR: Fpcupdeluxe fatal error !
  140. Sequencer (zeos_stable): Failure running fpcupdeluxe: error executing sequence zeos_stable
  141. Sequencer (Only): Failure running fpcupdeluxe: error executing sequence Only
  142.  
  143.  


lazarus trunk FPC trunk
« Last Edit: December 13, 2020, 09:52:15 am by nouzi »
my english is  bad
Lazarus 2.0.6 free pascal 3.0.4
Lazarus trunk  free pascal trunk 
System : linux mint 19.3 64bit  windows 7 64bit

ecalogiuri

  • Jr. Member
  • **
  • Posts: 64
Re: Fpcupdeluxe
« Reply #1717 on: December 08, 2020, 11:56:59 am »
Hi guys,
i just installed Haiku 386 on virtualbox and started Fpcupdeluxe with which i downloaded and compiled fpc (3.2.0) without problems. After I tried to install Lazarus (2.0.10), Fpcupdeluxe downloads the sources and compiles everything but the linker (ld) gives me this error: cannot find -lQt5Pas.

I copied libQt5Pas.so and libQt5Pas.so.1 libraries to /boot/home/config/non-packaged/lib but it fails to link.

How should these libraries be installed? I would like to try to compile PiNote on Haiku ...

Greetings to all.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3933
  • I like bugs.
Re: Fpcupdeluxe
« Reply #1718 on: December 08, 2020, 01:24:42 pm »
I copied libQt5Pas.so and libQt5Pas.so.1 libraries to /boot/home/config/non-packaged/lib but it fails to link.
Are those libraries built for Haiku? This may be a stupid question as I don't know much about Haiku. Maybe it supports Linux / Unix libs.
I have installed Haiku under VirtualBox and plan to play with it at some point.

Quote
How should these libraries be installed?
With Linux you would run ldconfig or boot the system. I guess you knew that already.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

ecalogiuri

  • Jr. Member
  • **
  • Posts: 64
Re: Fpcupdeluxe
« Reply #1719 on: December 08, 2020, 05:12:26 pm »
The libraries are compiled for Haiku, they are the same ones provided by Fpcupdeluxe and which are used to run Fpcupdeluxe

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1388
Re: Fpcupdeluxe
« Reply #1720 on: December 08, 2020, 10:00:26 pm »
You can do two things:
1: copy the qt5 libs from the fpcupdeluxe zip into the Lazarus directory
2: cross-compile your app from Windows or Linux towards Haiku. Note: fpcupdeluxe itself is cross-compiled.

BlackShark

  • New member
  • *
  • Posts: 8
Re: Fpcupdeluxe
« Reply #1721 on: December 09, 2020, 12:47:38 pm »
Hi guys!
When compiling in host system Windows for Linux I have got the next:
"Debug: C:\fpcupdeluxe\cross\bin\aarch64-linux\aarch64-linux-gnu-ld.exe: cannot find /lib/ld-linux-aarch64.so.1"
"...Export.Exel.lpr(31,0) Error: Error while linking"

Path "c:\fpcupdeluxe\cross\lib\aarch64-linux\" was set in the project settings where there is ld-linux-aarch64.so.1.
What do I need to do to make it work?

Thanks.

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1388
Re: Fpcupdeluxe
« Reply #1722 on: December 09, 2020, 01:28:13 pm »
AFAIK, you are trying to cross-compile a library. Perhaps as part of your project.
Cross-linking a library will fail.
See: https://bugs.freepascal.org/view.php?id=36506

A path for FPC stable is available:
https://github.com/LongDirtyAnimAlf/fpcupdeluxe/blob/master/patchfpc/fpcpatch_linux_linker.patch

On FPC trunk this error can be circumvented by adding:
{$linklib c}
into your library source.

However !
Look closely at the bug-report.
FPC devs have their advice on how to accomplish this.

JD

  • Hero Member
  • *****
  • Posts: 1818
Re: Fpcupdeluxe
« Reply #1723 on: December 15, 2020, 11:21:54 am »
Hello there,

I finally got Lazarus running on Linux after using fpcupdeluxe. I want to rebuild the IDE and I got the following errror:

Code: Pascal  [Select][+][-]
  1. Warning: linker: /usr/bin/ld: cannot find -lGL
  2.  

What do I do to correct this problem?

Thanks for your assistance.

JD
Windows (10), Linux Mint - Lazarus 2.1/FPC 3.2, Delphi

Indy 10.6 series; mORMot; Zeos 7.3; SQLite, Firebird, PostgreSQL & MariaDB; VirtualTreeView 5.5.3 R1

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1388
Re: Fpcupdeluxe
« Reply #1724 on: December 16, 2020, 05:49:21 am »
Two possibilities:
1:
You need to have libGL installed on your system. See: https://dri.freedesktop.org/wiki/libGL/ . Part of OpenGL.
2:
You have libGL on your system, but need an extra symlink. E.g. libGL.so.1 -> libGL.so

 

TinyPortal © 2005-2018