New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rakudo no longer builds properly on OpenBSD #2904
Comments
|
With regard to gmake – do you have it in your path? If so, then this is the recommended make to use. But if you don't then this is a problem. |
|
I'm installing openBSD in a VM. Meanwhile may I ask for the output of the failing script? |
I do. I don't think it should be the recommended make on *BSD though since it's not installed by default.
|
|
|
|
Thanks for the output! I know what to do about it. You say openBSD won't build relocatable binary no matter what? Maybe there is a workaround? |
The workaround is to call Edit: I'm dumb, see my next comment |
|
@vrurg: During my relocatable work me and Kaiepi already fought the relocatable on OpenBSD battle and lost. Hard. The best we can do at the moment is keep OpenBSD non-relocatable. |
|
I can't read. There is no workaround; |
What about creating a temp file |
A better approach would be running |
Make OpenBSD not relocatable by default. Improve building of command line options for Configure.pl rakudo/rakudo#2904 rakudo/rakudo#2904
|
@Kaiepi you could try the above PRs while I'm awaiting for travis/appveyor tests passing. |
|
On my test OpenBSD everything works until the installation phase: Not sure if I'll have time today to look into it. |
|
I'm hitting this same problem on macOS, which does use GNU make. Can confirm #2906 fixes the problem for me. |
|
I'm somewhat hesitate about merging #2906 yet. But will likely merge it later today as the problems I encountered are seemingly not related to the changes. |
|
@Kaiepi could you please confirm if the build is working for you now? My VM installation seems to be installing ok though failing spectests. But that's unlikely to be build-related problem. More like platform support issue. UPD roast is now ok too. |
|
I can't get |
|
You need to or re-clone rakudo from scratch. |
|
The build works. |
|
However one of the commits caused a regression:
|
|
Ah, different handling is perhaps needed for different scenarios. I'll have a look into what can be done to this. Sent with GitHawk |
|
I'm on OpenBSD 6.5, rakudo builds with clang from ports on my box, but when I run the executable(install/bin/perl6) I get : Unhandled exception: Malformed UTF-8 at line 1 col 85 |
|
@Kaiepi I finally got a bit of time to look into it. Seems like it's to be fixed in moar because if it can't determine correct executable then @javan-z I will try to build with llvm from ports, but it doesn't look like it belongs here. A separate ticket would be needed. |
|
@javan-z My build has completed with clang from ports and everything seems to be ok. |
|
Works beautifully, Thanks |
|
Closed via #2915 |
|
The build works fine, but instead of This makes it impossible to run any modules. |
|
Did you expect With regard to the full path – I didn't find a way to get it. It's OpenBSD, after all. 😉 |
|
The problem is
If the above did not call |
|
For now I don't see a good solution for this. Perhaps the least painful one would be macro expansion of runner's C source and manual insertion of the full path as defined in the |
|
I'll have a look at this. I think I know what's to do. |
|
I think we might be able to remove all the OpenBSD special casing when we set the executable path statically in the non-relocatable case. That's basically what @vrurg proposed. |
|
@PatZim you're welcome! It's really closer to your specialization. |
In the non-relocatable case it's not necessary to determine the executable path at runtime. We can just as well compile it in. Doing so solves the problem of OpenBSD where it's currently not technically possible to determine the path of an executable from within. Fixes rakudo#2904
In the non-relocatable case it's not necessary to determine the executable path at runtime. We can just as well compile it in. Doing so solves the problem of OpenBSD where it's currently not technically possible to determine the path of an executable from within. Fixes rakudo#2904 Also some cleanup of the C runner.
In the non-relocatable case it's not necessary to determine the executable path at runtime. We can just as well compile it in. Doing so solves the problem of OpenBSD where it's currently not technically possible to determine the path of an executable from within. Fixes rakudo#2904 Also some cleanup of the C runner.
In the non-relocatable case it's not necessary to determine the executable path at runtime. We can just as well compile it in. Doing so solves the problem of OpenBSD where it's currently not technically possible to determine the path of an executable from within. Fixes rakudo#2904 Also some cleanup of the C runner.
The Problem
The new build scripts try to build a relocatable executable by default on OpenBSD when that doesn't work.
Expected Behavior
They should build a non-relocatable executable.
Actual Behavior
They don't. Passing
--no-relocatablealso doesn't work without manually editing the makefile since it gets passed to it as--no-relocatable="1"when it doesn't take a value, making one of the scripts called bymakethrow. Also,Configure.plincorrectly states that you should usegmakeinstead ofmake.Steps to Reproduce
Run
./Configure.pl && make install, then try to runperl6.Environment
OpenBSD bastille.kennel.qt 6.5 GENERIC.MP#8 amd64
perl6 -v):This is Rakudo version 2019.03.1-405-g7a7a23df6a built on MoarVM version 2019.03-111-g24b3ef1ad
implementing Perl 6.d.
The text was updated successfully, but these errors were encountered: