Comments (18)
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.
What does mulle-bashfunctions libexec-dir
say and is that directory present ?
from mulleobjc.
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.
from mulleobjc.
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.
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.
And the files in libexec are not versioned as 5.0.3... maybe that's the issue.
I'll try the installer
from mulleobjc.
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.
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.
Just another bug that I need to fix...
from mulleobjc.
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.
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.
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.
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.
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.
Couldn't reproduce the mis-install with 6.0.0, so I guess it's already fixed.
from mulleobjc.
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.
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)
- Get rid of root / placeholder / singleton objects and use universe NSAutoreleasePool ? HOT 1
- MulleObjCException remember stacktrace
- A garbage collector is needed HOT 1
- error: the runtime load version 17 is not compatible with this compiler 16 HOT 9
- New function MulleObjCPrintf prints trailing 0 character
- Now, why does mulle-sde is a dependency HOT 4
- Build MulleObjC with conan ?
- Put Cocotron on top of MulleObjC HOT 4
- Serialize an entire runtime world
- Fix clobbered README.md
- NSApp class that does the root object handling HOT 1
- Determine what to do for respondsToSelector:(SEL) 0 HOT 1
- Couldn't base NSException migrate to MulleObjC ?
- Calling a +method using [self class] is clumsy HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mulleobjc.