[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: build fails on MacOS/MachO: not ELF or COFF
From: |
Luca Saiu |
Subject: |
Re: build fails on MacOS/MachO: not ELF or COFF |
Date: |
Mon, 11 May 2020 17:34:35 +0200 |
User-agent: |
Gnus (Gnus v5.13), GNU Emacs 27.0.50, x86_64-pc-linux-gnu |
Hello Niobos. Welcome, and thanks for your very clear bug report.
I am going to repeat here some information you know already, for the
benefit of other subscribers and in order to keep a public archive of
the discussion.
On 2020-05-11 at 13:10 +0000, Niobos wrote:
>> In file included from jitter/jitter-mutable-routine.c:29:
>> In file included from ./jitter/jitter-vm.h:29:
>> In file included from ./jitter/jitter-patch-in.h:34:
>> ./jitter/jitter-sections.h:268:3: error: "Not using ELF or COFF. This will
>> not work."
>> # error "Not using ELF or COFF. This will not work."
>> ^
>> 1 error generated.
>
>
> The error is correct, since I'm building on MacOS, which uses the MachO
> file format.
This error is unintended, and in fact a bug. A default build (for
example configure with no options then make) is supposed to work even on
an unsupported system, using the switch or direct-threading dispatch.
Explicit binary format support is useful for better performance and
required by more advanced distpatches, but such dispatches are currently
disabled by default anyway.
> According to the discussion I had with lucasaiu on IRC, Jitter should
> fall back to a generic system, but apparently it doesn't.
Indeed.
Now, I would like to fix the bug and also to seize the occasion to be
able to possibly prepare Mach-O-specific code later.
> Attached you can find the config.log. I've re-run ./configure with (I
> think) the same arguments, and attached the output as well.
So, the configuration phase succeeds, which I could have deduced from
your initial report, but did not.
From configure.log :
> checking if the host OS uses the ELF binary format... no
> checking if the host OS uses the COFF binary format... no
> checking for VirtualAlloc... no
> checking for VirtualProtect... no
All correct. Let me add a configure test to check for Mach-O as well,
at least in the common case.
> configure: enabled dispatching models are:
> switch direct-threading
> configure: the best enabled dispatching model is:
> direct-threading
Good. The sectioning mechanism will not be needed.
The configure script appears to do its job correctly. The bug is
probably in CPP conditionals using feature macros...
...And now I should have fixed it now in the "niobos" Jitter branch. It
is more complicated than I would like but hopefully correct.
Can you please test again, by compiling only Jitter?
Please do the following:
* Enter a fresh, empty directory.
* Clone the repository:
git clone http://git.ageinghacker.net/jitter
* Enter the jitter source subdirectory:
cd jitter
* Enter the bugfix branch:
git checkout niobos
* bootstrap, configure and build in the current directory:
./bootstrap && ./configure && make && make check
You may add options to configure if you think it is useful, for
example in order to reproduce your earlier Poke build; I ignore the
details about how you were building Poke on your system.
The testsuite is a little heavyweight, but let us run it once.
If you confirm that the new version works I can try and add
Mach-O-specific sectioning code, with your help. And, even before that,
we will have Poke use the new version.
Thanks,
--
Luca Saiu
* My personal web site: http://ageinghacker.net
* GNU epsilon: http://www.gnu.org/software/epsilon
* Jitter: http://ageinghacker.net/projects/jitter
I support everyone's freedom of mocking any opinion or belief, no
matter how deeply held, with open disrespect and the same unrelented
enthusiasm of a toddler who has just learned the word "poo".
signature.asc
Description: PGP signature
- build fails on MacOS/MachO: not ELF or COFF, Niobos, 2020/05/11
- Re: build fails on MacOS/MachO: not ELF or COFF,
Luca Saiu <=
- Re: build fails on MacOS/MachO: not ELF or COFF, Niobos, 2020/05/11
- Re: build fails on MacOS/MachO: not ELF or COFF, Luca Saiu, 2020/05/11
- Re: build fails on MacOS/MachO: not ELF or COFF, Niobos, 2020/05/11
- Re: build fails on MacOS/MachO: not ELF or COFF, Luca Saiu, 2020/05/11
- Re: build fails on MacOS/MachO: not ELF or COFF, Luca Saiu, 2020/05/11
- Re: build fails on MacOS/MachO: not ELF or COFF, Niobos, 2020/05/12
- Re: build fails on MacOS/MachO: not ELF or COFF, Niobos, 2020/05/12
- Re: build fails on MacOS/MachO: not ELF or COFF, Luca Saiu, 2020/05/12
Re: build fails on MacOS/MachO: not ELF or COFF, Luca Saiu, 2020/05/11