Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: praseodym on June 28, 2020, 04:57:24 am

Title: Question on Linux builds
Post by: praseodym on June 28, 2020, 04:57:24 am
Hi folks,

meanwhile I use Knossos on Ubuntu 20.04 which works fine.

However, I receive some strange errors when playing some of the mods: False colors (NVIDIA GT 1030 card with 440 driver) and freezes. It is not really reproducable.

Question now is, if compiling the engines by myself would

a) help, and
b) would affect the Knossos installations of the respective engines when doing a file integrity check

Reasons for asking are the compiler and the python 3.8.2 version. So far, the engine builds were from 14.04, weren't they?

System is a AMD Ryzen3 3200, 8GB RAM and 16 GB swap

Thanks in advance
Title: Re: Question on Linux builds
Post by: m!m on June 28, 2020, 05:00:56 am
The release builds are currently built on Ubuntu 16.04 but that shouldn't matter too much.

If you are experiencing graphics issues then it is highly unlikely that compiling the builds yourself would help but you can always try and see if it changes anything. There are no known issues with using self-compiled builds with Knossos.
Title: Re: Question on Linux builds
Post by: praseodym on June 29, 2020, 02:54:46 pm
Ok, maybe I found the problem: As I dont have a swap partition I first made a swapfile too small (2 GB with 8GB RAM). Then I increased it to 16GB, but still errors occured. Now I found that the /etc/fstab did not end with an empty line (after the swapfile entry). Did that, rebooted, and so far...

Will report back if that was nonsense, too
Title: Re: Question on Linux builds
Post by: praseodym on July 04, 2020, 05:25:45 am
Ok, it wasn't that...

As self compiling with cmake doesn't work according to the instructions, could someone please give me the exact commnd lines for the 19.0.0, 3.8.3 and the other builds currently used in Knossos, please? According to the Readme doesnt work here (or I am too stupid...)

THX
Title: Re: Question on Linux builds
Post by: m!m on July 04, 2020, 07:26:14 am
Not sure what guide you are following but this one should be mostly accurate: https://github.com/scp-fs2open/fs2open.github.com/wiki/Building-on-Linux
Title: Re: Question on Linux builds
Post by: praseodym on July 05, 2020, 01:00:57 pm
Ok, here we go

cmake -S /home/$USER/Schreibtisch/fs2open.github.com/ -D FSO_FREESPACE_PATH=/home/$USER/
Code: [Select]
CMake Warning at CMakeLists.txt:35 (message):
  CMAKE_BUILD_TYPE was not specified, defaulting to Release configuration.


-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- NO FS2PATH environment variable found, you can define this to point to your freespace install but it is not required.
-- cotire 1.7.10 loaded.
-- Doing configuration specific to gcc...
-- Performing Test SUPPORTS_W_FLAG
-- Performing Test SUPPORTS_W_FLAG - Success
-- Performing Test SUPPORTS_WALL_FLAG
-- Performing Test SUPPORTS_WALL_FLAG - Success
-- Performing Test SUPPORTS_WEXTRA_FLAG
-- Performing Test SUPPORTS_WEXTRA_FLAG - Success
-- Performing Test SUPPORTS_WNO_MAYBE_UNINITIALIZED_FLAG
-- Performing Test SUPPORTS_WNO_MAYBE_UNINITIALIZED_FLAG - Success
-- Performing Test SUPPORTS_STRINGOP_TRUNCATION
-- Performing Test SUPPORTS_STRINGOP_TRUNCATION - Success
-- Performing Test SUPPORTS_STRINGOP_OVERFLOW
-- Performing Test SUPPORTS_STRINGOP_OVERFLOW - Success
-- Configuring UNIX specific things and stuff...
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Looking for C++ include cxxabi.h
-- Looking for C++ include cxxabi.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of max_align_t
-- Check size of max_align_t - done
-- Check size of std::max_align_t
-- Check size of std::max_align_t - done
-- Check size of std::is_trivially_copyable<int>
-- Check size of std::is_trivially_copyable<int> - done
-- Check size of char32_t
-- Check size of char32_t - done
-- Check size of U'b'
-- Check size of U'b' - done
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for strncasecmp
-- Looking for strncasecmp - found
-- Looking for _stricmp
-- Looking for _stricmp - not found
-- Looking for _strnicmp
-- Looking for _strnicmp - not found
-- Looking for strlwr
-- Looking for strlwr - not found
-- Looking for strings.h
-- Looking for strings.h - found
-- Looking for snprintf
-- Looking for snprintf - found
-- Looking for _snprintf
-- Looking for _snprintf - not found
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'lua5.1<=5.1.5'
--   Found lua5.1, version 5.1.5
-- Found OpenAL: /usr/lib/x86_64-linux-gnu/libopenal.so 
-- Checking for one of the modules 'sdl2'
-- Checking for module 'jansson>=2.2'
--   Found jansson, version 2.12
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE 
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find Freetype (missing: FREETYPE_LIBRARY FREETYPE_INCLUDE_DIRS)
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.16/Modules/FindFreetype.cmake:157 (find_package_handle_standard_args)
  lib/freetype.cmake:19 (find_package)
  lib/CMakeLists.txt:28 (include)


-- Configuring incomplete, errors occurred!
See also "/home/$USER/Schreibtisch/fs2open.github.com/build/CMakeFiles/CMakeOutput.log".
See also "/home/$USER/Schreibtisch/fs2open.github.com/build/CMakeFiles/CMakeError.log".
Logs attached

[attachment eaten by a Shivan]
Title: Re: Question on Linux builds
Post by: m!m on July 05, 2020, 02:00:49 pm
Ah, FreeType was missing from the install command. Try installing libfreetype-dev and then try again.
Title: Re: Question on Linux builds
Post by: praseodym on July 05, 2020, 03:33:22 pm
Ok, this time it worked. Does it matter that it is no AppImage for Knossos?

Thanks!
Title: Re: Question on Linux builds
Post by: m!m on July 05, 2020, 03:34:17 pm
AppImage is just a special format for making it easier to distribute the builds. It is not needed if you build the binaries yourself.
Title: Re: Question on Linux builds
Post by: Thaeris on July 06, 2020, 04:31:05 pm
As far as I know (which is not a lot), the AppImage basically wraps everything into a self-contained executable for a Linux application, not all that unlike what some Windows applications do. The downside is that it may (or rather, WILL) bloat the size of the program. Conversely, the end user can probably be confident that their program will run the way it's supposed to. Might be a really good way of distributing "fresh" releases of old software, which can only run with depreciated packages.

...There are other means of distributing a program as well. Flatpaks generally seem to be well-received, seemingly more so than Canonical's "Snap" format. All of these methods, mind you, are generally of a similar mind: to make Linux applications agnostic to the individual Linux distribution. That's really about all I know. That said, Flatpak strikes me as the best option, all things considered.