GithubHelp home page GithubHelp logo

Comments (18)

wenq1 avatar wenq1 commented on May 10, 2024

Let's reproduce:

wc@wcAir MulleObjC % /Users/wc/scratch/mulle/usr/bin/mulle-objc-loader-tool -p "" -c "" -o /Users/wc/scratch/mulle/MulleObjC/src/reflect/objc-loader.inc /Users/wc/scratch/mulle/MulleObjC/lib_3_MulleObjC.a
/Users/wc/scratch/mulle/usr/bin/mulle-objc-loader-tool: line 123: mulle-bashfunctions: command not found

## let's setup path and do again

wc@wcAir MulleObjC % export PATH=$PATH:/Users/wc/scratch/mulle/usr/bin
wc@wcAir MulleObjC % /Users/wc/scratch/mulle/usr/bin/mulle-objc-loader-tool -p "" -c "" -o /Users/wc/scratch/mulle/MulleObjC/src/reflect/objc-loader.inc /Users/wc/scratch/mulle/MulleObjC/lib_3_MulleObjC.a
fatal error (_fatal): Could not find mulle-bashfunctions libexec directory ($0="/Users/wc/scratch/mulle/usr/bin/mulle-bash", PWD="/Users/wc/scratch/mulle/MulleObjC", PATH="/usr/local/opt/openjdk/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/opt/node@18/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/opt/homebrew/bin:/Users/wc/scratch/mulle/usr/bin", MULLE_EXECUTABLE="/Users/wc/scratch/mulle/usr/bin/mulle-bashfunctions", MULLE_BASHFUNCTIONS_VERSION="5.0.3", MULLE_BASHFUNCTIONS_VARIANT="-minimal", MULLE_BASHFUNCTIONS_VERSION_QUALIFIER="")

from mulleobjc.

mulle-nat avatar mulle-nat commented on May 10, 2024

What does mulle-bashfunctions libexec-dir say and is that directory present ?

from mulleobjc.

wenq1 avatar wenq1 commented on May 10, 2024
wc@wcAir MulleObjC % ../usr/bin/mulle-bashfunctions libexec-dir
call r_get_bashfunctions_libexec_dir
fatal error (_fatal): Could not find mulle-bashfunctions libexec directory ($0="/Users/wc/scratch/mulle/usr/bin/mulle-bash", PWD="/Users/wc/scratch/mulle/MulleObjC", PATH="/usr/local/opt/openjdk/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/opt/node@18/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/opt/homebrew/bin:/Users/wc/scratch/mulle/usr/bin", MULLE_EXECUTABLE="../usr/bin/mulle-bashfunctions", MULLE_BASHFUNCTIONS_VERSION="5.0.3", MULLE_BASHFUNCTIONS_VARIANT="-minimal", MULLE_BASHFUNCTIONS_VERSION_QUALIFIER="")

from mulleobjc.

wenq1 avatar wenq1 commented on May 10, 2024

image

from mulleobjc.

mulle-nat avatar mulle-nat commented on May 10, 2024

I just think the libexec directory is missing for some reason. Maybe it has something to do with the failed brew link command ?

This is how it should look like:

 mkdir /tmp/xxx
 curl -L 'https://github.com/mulle-nat/mulle-bashfunctions/archive/latest.tar.gz'  \
| tar xfz - && cd 'mulle-bashfunctions-latest' \
&& sudo ./bin/installer /tmp/xxx
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  125k    0  125k    0     0   105k      0 --:--:--  0:00:01 --:--:--  572k
install: /tmp/xxx/bin/mulle-bash
install: /tmp/xxx/bin/mulle-bashfunctions
 tree /tmp/xxx
/tmp/xxx
├── bin
│   ├── mulle-bash
│   └── mulle-bashfunctions
├── libexec
│   └── mulle-bashfunctions
│       └── 5.0.3
│           ├── mulle-array.sh
│           ├── mulle-bashfunctions-all.sh
│           ├── mulle-bashfunctions-embed.sh
│           ├── mulle-bashfunctions-minimal.sh
│           ├── mulle-bashfunctions-none.sh
│           ├── mulle-bashfunctions.sh
│           ├── mulle-bashglobal.sh
│           ├── mulle-bashloader.sh
│           ├── mulle-boot.sh
│           ├── mulle-case.sh
│           ├── mulle-compatibility.sh
│           ├── mulle-etc.sh
│           ├── mulle-exekutor.sh
│           ├── mulle-file.sh
│           ├── mulle-init.sh
│           ├── mulle-logging.sh
│           ├── mulle-options.sh
│           ├── mulle-parallel.sh
│           ├── mulle-path.sh
│           ├── mulle-string.sh
│           ├── mulle-url.sh
│           ├── mulle-version-qualifier.sh
│           └── mulle-version.sh
└── share
    ├── mulle-bashfunctions
    │   └── 5.0.3
    └── mulle-sde
        └── mulle-nat
            └── file.sh
                ├── project
                │   └── all
                │       └── ONESHOT_FILENAME
                ├── type
                └── version

12 directories, 28 files
 PATH=/usr/bin:/bin:/tmp/xxx/bin \
/tmp/xxx/bin/mulle-bashfunctions libexec-dir
/tmp/xxx/libexec/mulle-bashfunctions/5.0.3

from mulleobjc.

wenq1 avatar wenq1 commented on May 10, 2024

It's actually installed using cmake and make install

wc@wcAir mulle-bashfunctions % make install
Install the project...
-- Install configuration: ""
-- Installing: /Users/wc/scratch/mulle/usr/bin/mulle-bash
-- Up-to-date: /Users/wc/scratch/mulle/usr/bin/mulle-bashfunctions
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/embed-footer.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/embed-header.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/header.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-array.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-bashfunctions-all.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-bashfunctions-embed.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-bashfunctions-minimal.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-bashfunctions-none.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-bashfunctions.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-bashglobal.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-bashloader.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-boot.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-case.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-compatibility.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-etc.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-exekutor.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-file.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-init.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-logging.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-options.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-parallel.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-path.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-string.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-url.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-version-qualifier.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/libexec/mulle-bashfunctions/mulle-version.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/share/mulle-sde/mulle-nat/file.sh
-- Up-to-date: /Users/wc/scratch/mulle/usr/share/mulle-sde/mulle-nat/file.sh/project
-- Up-to-date: /Users/wc/scratch/mulle/usr/share/mulle-sde/mulle-nat/file.sh/project/all
-- Up-to-date: /Users/wc/scratch/mulle/usr/share/mulle-sde/mulle-nat/file.sh/project/all/ONESHOT_FILENAME
-- Up-to-date: /Users/wc/scratch/mulle/usr/share/mulle-sde/mulle-nat/file.sh/type
-- Up-to-date: /Users/wc/scratch/mulle/usr/share/mulle-sde/mulle-nat/file.sh/version

Let me compare...

from mulleobjc.

wenq1 avatar wenq1 commented on May 10, 2024

And the files in libexec are not versioned as 5.0.3... maybe that's the issue.

I'll try the installer

from mulleobjc.

wenq1 avatar wenq1 commented on May 10, 2024

Yes that's the issue. cmake and then make install doesn't install into usr/libexec/mulle-bashfunctions/5.0.3 folder, it just installs into usr/libexec/mulle-bashfunctions/

from mulleobjc.

wenq1 avatar wenq1 commented on May 10, 2024

Docs might need an upgrade. Installing without SDE is too much of a hussle at this moment. But anyway I'll get try to get the first objc source compiled before I call it a day.

from mulleobjc.

mulle-nat avatar mulle-nat commented on May 10, 2024

Just another bug that I need to fix...

from mulleobjc.

wenq1 avatar wenq1 commented on May 10, 2024

Aha.

Maybe it's time to put up some proper docs. something like vitepress is currently on my mind. Docs are all over the places and I guess it won't suffer from a cleanup. What do you think? I might chip in some spare time to help.

from mulleobjc.

mulle-nat avatar mulle-nat commented on May 10, 2024

I called it "hard mode" for a reason :) But you came pretty far. I'd be delighted if someone would improve the docs.

There are like four different doc formats already in the project. De Re mulle-objc 0.20 is written with a Jekyll theme I never really bonded with. I never could it get organized the way I like it. Now I prefer somewhat shorter pamphlets like De Re mulle-sde which is a self made Jekyll scheme, but its useful only for a few pages.

Then there are the Wikis where I stuff in more technical information. Last but not least I created a new README CMS so I can update the README.mds of the projects more conveniently.

The problem with everything in one place is, that it's just too much IMO. The project is already huge and it will grow a lot still. I want to do a De Re mulle-objc 0.20 rewrite sometime, but not sometime soonish :)

What does that all mean ? If you want to do something, do it like you want it to :) But I very much appreciate you just using it and finding bugs, which makes the project over all better.

from mulleobjc.

wenq1 avatar wenq1 commented on May 10, 2024

IMHO the project won't suffer from a monorepo. Maybe two, one for the toolchain (clang) targeting different platfroms as it is forked from llvm, one for the actual sysroot as the development SDK.

Looking at (https://vitejs.dev/guide/), the docs are generated using vitepress, using markdown, frontend using view, and backend using SSR. It is very clean. And you can always get rid of the backend part and fall back to a traditional nginx/apache backend, and turn the frontend to a SPA.

The major point for cleaning up the docs might be to separate usage (API refs and that) from the build instructions (for developers and contributors), so that users of the project won't get distracted and get a simple download to start the project with, and contributors won't get scared by the sheer amount of pages (s)he needs to go through. For me, I find going through more than 10 repositories just to get the runtime built un-intriguing, but thats just my opinion.

Anyway, thanks for your help.

from mulleobjc.

wenq1 avatar wenq1 commented on May 10, 2024

As a refernce structure for monorepo, one might take a look at the project struct here.

In the root folder, there can be a /package.json and /packages/ folder, where all submodules goes into. a /scripts folder can then be employed for all the maintenance work including building and publishing.

from mulleobjc.

mulle-nat avatar mulle-nat commented on May 10, 2024

The next release, will have two repos that combine lots of smaller repos together. A full (git) mono-repo is not in the cards though. What would be nice though would be a master CMakeLists.txt that ties everything together, but that's not easy.

from mulleobjc.

mulle-nat avatar mulle-nat commented on May 10, 2024

Couldn't reproduce the mis-install with 6.0.0, so I guess it's already fixed.

from mulleobjc.

wenq1 avatar wenq1 commented on May 10, 2024

Couldn't reproduce the mis-install with 6.0.0, so I guess it's already fixed.

I don't think it is fixed with cmake. But it's for another day.

Regarding the monorepo with a grand central cmakelist.txt, it sounds great. Do you have a live channel to chat on that?

from mulleobjc.

mulle-nat avatar mulle-nat commented on May 10, 2024

Picking up on this thought train. It could be worthwhile to try to get things to work with conan, as this manages cmake files (as far as I can tell). So maybe one could get the "big" CMakeLists.txt with it for free ?
But I have no first hand experience with conan and lack time at the moment unfortunately.

from mulleobjc.

Related Issues (15)

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.