Jump to content

geldoronie

Developers
  • Posts

    15
  • Joined

  • Last visited

Posts posted by geldoronie

  1. Nice presentation Josh! You are giving a nice solution for who wants a fast and reliable UI system for a desktop application. Mostly of time when we are building a desktop application we always gets a feelings as "my desktop application feels old" in compare with a electron application using a CSS3 and HTML5 benefits. But you get the point! Web applications can be beultyful and with Electron easy to use in multplatform, but... is not responsive as a real desktop application, not even in feel. A good, modern, multiplatform and extensible UI API for desktop could be a nice solution for alot softwares more the game Engines where for me be responsive and lite weigth is very important where you are working with expensive workloads. I am exciting to use your Ultra App Kit and replace my Hell abstraction layer in my desktop applications here.

  2. Hey @EvilxFish maybe as workaround this problem you can use the IDE in pronton on Steam: 

    1. Enable Proton by SteamPlay on Settings:

    image.png.0598ed4a97607e5036dab9dbd69d0b1b.png

    2. Go to the SteamPlay tab

    image.png.b07b6a3657c4627e8daaf2027ea86c65.png

    3. Enable Steam Play for all other titles in Advanced

    image.png.a5e2d6227965ec2773b02bb59add4135.png

    4. Go in OK, and now in your game list go to Leadwerks in the right click select Properties

    image.png.a46af39aaf44f24aa72ee84613e04264.png

    5. In General tab go to Force the use of a especific Steam Play compatibility tool

    image.png.e75e92fb5769b8bbccf85b193f7a70d4.png

    And you now are good to go and open the Leadwerks in Proton, there's no Guaranty to works but in the most cases with some bugs works as you can see above

    Hope be helpful,

    image.thumb.png.c0010f033421ea35a46a060d558f45c2.png

     

    image.png

  3. On 4/20/2020 at 8:01 AM, aiaf said:

    Hello,

     

    New lts version of ubuntu 20.04 is out, so i upgraded my 18.04 laptop.

    The editor seem to work ok.

     

    gcc version 9.3 is included.

    My game compiles ok, below you can see the link errors .

    I mention the math lib is linked (-lm):

    -lm Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a -ldl -lopenal -lGL -lGLU Source/Libs/Leadwerks/Library/Linux/libsteam_api.so -lX11 -lXrender -lXext -lXft -lpthread -lcurl

     

    Looks like an incompatibility between the new c++ library and the leadwerks static lib.

    libstdc++.so.6 -> libstdc++.so.6.0.28

     

    Anyone has a workaround for this ?

     

    
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(OpenGLTexture.o): in function `std::pow(float, float)':
    /usr/include/c++/7/cmath:389: undefined reference to `__powf_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(Entity.o): in function `Leadwerks::Entity::CalcAverageOmega(Leadwerks::Quat, Leadwerks::Quat, double const&)':
    /home/josh/Leadwerks/Engine/Source/Classes/Entity.cpp:5821: undefined reference to `__sqrt_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(Entity.o): in function `std::asin(float)':
    /usr/include/c++/7/cmath:107: undefined reference to `__asinf_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(Entity.o): in function `std::atan2(float, float)':
    /usr/include/c++/7/cmath:145: undefined reference to `__atan2f_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(Font.o): in function `__gnu_cxx::__promote_2<double, int, __gnu_cxx::__promote<double, std::__is_integer<double>::__value>::__type, __gnu_cxx::__promote<int, std::__is_integer<int>::__value>::__type>::__type std::pow<double, int>(double, int)':
    /usr/include/c++/7/cmath:418: undefined reference to `__pow_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(dVec3.o): in function `Leadwerks::dVec3::Normalize()':
    /home/josh/Leadwerks/Engine/Source/Classes/Math/dVec3.cpp:324: undefined reference to `__sqrt_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(dVec3.o): in function `Leadwerks::dVec3::Length()':
    /home/josh/Leadwerks/Engine/Source/Classes/Math/dVec3.cpp:336: undefined reference to `__sqrt_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(dVec3.o): in function `Leadwerks::dVec3::DistanceToPoint(Leadwerks::dVec3 const&)':
    /home/josh/Leadwerks/Engine/Source/Classes/Math/dVec3.cpp:354: undefined reference to `__sqrt_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(dVec3.o): in function `Leadwerks::dVec3::DistanceToPoint(Leadwerks::Vec3 const&)':
    /home/josh/Leadwerks/Engine/Source/Classes/Math/dVec3.cpp:362: undefined reference to `__sqrt_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(Mat4.o): in function `Leadwerks::Mat4::GetQuaternion(Leadwerks::Quat&)':
    /home/josh/Leadwerks/Engine/Source/Classes/Math/Mat4.cpp:505: undefined reference to `__sqrt_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(Mat4.o):/home/josh/Leadwerks/Engine/Source/Classes/Math/Mat4.cpp:593: more undefined references to `__sqrt_finite' follow
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(Math_.o): in function `std::log(float)':
    /usr/include/c++/7/cmath:339: undefined reference to `__logf_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(Quat.o): in function `Leadwerks::Quat::GetAverageOmega(Leadwerks::Quat const&, double)':
    /home/josh/Leadwerks/Engine/Source/Classes/Math/Quat.cpp:92: undefined reference to `__sqrt_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(meshcollider.o): in function `b3d::Vector::length() const':
    /home/josh/Leadwerks/Engine/Source/Libraries/b3d/geom.h:102: undefined reference to `__sqrtf_finite'
    /usr/bin/ld: Source/Libs/Leadwerks/Library/Linux/Debug/Leadwerks.a(pickcollision.o): in function `b3d::Vector::distance(b3d::Vector const&) const':
    /home/josh/Leadwerks/Engine/Source/Libraries/b3d/geom.h:105: undefined reference to `__sqrtf_finite'

     

    I create here a workaround with docker like this:

    Install docker: https://www.docker.com/get-started, i will not explain too much about how to install docker but have alot of information on the internet, if some of get's stucked can contact me here, docker is nice container solution using LXC, where you can create `sudo` isolated enviroviments sharing the linux kernel but using base and diferent libraries, o this case the problem is the libc6, and downgrade is not possible, and compile using a diferent libc6 could be a pin a ***.

    $ sudo apt install docker-engine 

    Install docker-compose: 

    sudo apt install docker-compose

    1. Create a directory inside your game folder here a will call: docker-build

    `mkdir docker-build`

    2. Create inside the `docker-build` folder a file with name `Dockerfile` and paste this contents:

    FROM ubuntu:18.04
    RUN apt update 
    RUN apt install -y -qq build-essential \
                            libopenal-dev \
                            libgl1-mesa-dev \
                            libglu1-mesa-dev \
                            libx11-dev \
                            libxext-dev \
                            libxrender-dev \
                            libxft-dev \
                            libcurl4-openssl-dev
    RUN useradd leadwerks
    ADD ./docker-entrypoint.sh /
    RUN chmod +x /docker-entrypoint.sh
    RUN mkdir -p /home/leadwerks/.steam
    USER leadwerks
    WORKDIR /home/leadwerks/
    ENTRYPOINT [ "/docker-entrypoint.sh" ]

    3. Create inside the `docker-build` folder a file with name `docker-entrypoint` and paste this contents:

    This is just place holder to keep the container always up

    #!/bin/bash
    
    while true; do
        sleep 1
    done

    4. Create inside of your game folder root a file with name `docker-compose.yml` and paste this contents and modify the place holders on the text to your machine paths:

    version: '2'
    services:
        leadwerks-build:
            build: ./docker-build
            volumes:
                - ".:/home/leadwerks/<your-game-folder-inside-the-container>"
                - "/home/<your-linux-host-ueser>/.steam:/home/leadwerks/.steam"

    5. Run inside your game root folder to build, create and run the container:

    $ sudo docker-compose up --build -d leadwerks-build

    with it done your will have the env ready to compile your project.

    6. Acessing the container to build your game:

    $ sudo docker-compose exec leadwerks-build bash

    After this command you will be inside your container, if you do not understand containers just keep in your mind its like a "virtual machine" but alot more efficient and lite and faster...

    Anyway now you can just compile your project inside the container and it will build and the build results will inside your game folder.

    When your finish you can stop the container by just to free memory:

    $ sudo docker-compose stop leadwerks-build

    i hope was helpful

    • Like 1
×
×
  • Create New...