Giter VIP home page Giter VIP logo

Comments (4)

kollokollo avatar kollokollo commented on August 15, 2024

Hi gingerbredman,
Well, as far as I know, this has worked out before, but not completely.

Fist: I am wondering, because the apple branch is not there anymore.
So you should just do (starting from scratch)
git clone https://gitlab.com/kollo/X11Basic.git
cd X11Basic/src
./configure

And maybe you only want to try the make static, wich is the simplest build.

But first, after the configure, lets have a look at config.h which has been created by configure.

Especially look at the lines with:

#define HAVE_X11 1

from x11basic.

kollokollo avatar kollokollo commented on August 15, 2024

Looking at the other error: raw_keybord.c probably need to be modified.

try to make somethin like:

#ifndef __APPLE__
#include <linux/input.h>
#endif

or for convinience, delete the line #include <linux/input.h>
but other errors my show up. (for the moment, you can ignore warnings)

from x11basic.

MaddTheSane avatar MaddTheSane commented on August 15, 2024

Part of the issues I've run into is assuming that the linker is GNU ld/ELF: Apple's linker is not GNU ld, and it uses an executable format known as Mach.
For me, getting it to see headers and libraries in locations not in /usr/local is a pain, as the makefile doesn't seem to use LDFLAGS nor store CPPFLAGS.

For forkpty (without the forward declaration, it is an error on Apple Silicon), including util.h will fix the warning/error.

For the libxbasic shared library, there are a few areas that makes it a no-go on Darwin/macOS:

  • linker flags -Wl,-Bsymbolic-functions and -Wl,-soname,libx11basic.so.1.28 don't translate to Mach flags (the second can be done with -install_name /usr/local/lib/libx11basic.1.28.dylib, more on this later).
  • Shared libraries must end in ".dylib" for the linker to find them.
  • Versioning must be done before the file extension.
  • All symbols must be present at link time. prglen, ifilename, program, programbuffer, programbufferlen, and verbose need to be available, otherwise the library won't link. You can use -undefined dynamic_lookup, but I would not recommend it (You'd need the symbols to be external on the executables as well).
  • For shared libraries installed in system locations, it is a good idea to set the install name to the prefix you installed it into.
  • You can set -compatibility_version and -current_version on the library to make sure the applications fail early if the ABI changes significantly. More information about them can be found here.

from x11basic.

omiq avatar omiq commented on August 15, 2024

Seems this will not compile for Mac but is it possible to cross-compile the basic code for Mac using the Windows compiler as you can cross-compile on Windows for TomTom?

from x11basic.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.