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
QB64: 32- and 64-bit BASIC Compiler and IDE #2569
Comments
After moving the symlink to |
Hi and thanks for you interest in QB64. I just replied to your inquiry at our forum. The setup script attempts to detect the distro you're using to download the appropriate dependencies. You may be interested in trying to download them manually first. |
Hmm, didn't think to check those. Thanks! |
Hope it works, please let us know. |
It appears that |
I have all the other requirements, though.
The only mention in this repository is a |
FreeGLUT is in the core of QB64. Looks like a deal breaker. We do have some legacy versions available at qb64.org that use SDL instead, as you mentioned above. Maybe one of those will cut it for you. Last version to use it was 0.954 |
I'll try the SDL version for now, but it's still possible we could get |
The SDL (0.954) build fails with
|
😩 rats... Well, good luck with the next option #2569 (comment) |
Oh, that's awesome!! |
After installing
|
This might be a dumb question but what is your crew version? It looks like you are using gcc 4.9.4. The current version is gcc 7.3.0. |
Also, I tried to
I'll just purge |
After fixing my [apparently broken] Chromebrew installation, QB64 builds properly!
|
Maybe try |
Sommelier doesn't seem to care about the
|
Forgot to mention, I get those errors with all GUI apps, and they work fine anyways. I think the issue may be that QB64 needs some of these files, but I haven't used a working build in a while so idk.
Also |
You might try |
Uhh... |
Oh, I thought you made a package already? How did you "install"? |
QB64's binary must be able to find and write to the internal folder on its level to work properly. |
No, I just built it and copied the resulting binary to |
Sorry I'm not familiar with crew's packaging system, or really that much of Ruby for that matter. I'll definitely see if I can get a package together though, that might help things? |
Packages can be as simple as just a few commands. You can examine some of the other packages to get an idea but if you copy something that looks close to how you are trying install, it can act as a "template". The wiki may help also. See https://github.com/skycocker/chromebrew/wiki/Creating-a-package. |
Alright, I've got a package made. Before I submit a PR, does this look right? require 'package'
class Qb64 < Package
description 'QB64 is a 64-bit BASIC compiler and IDE.'
homepage 'https://www.qb64.org/'
version '1.2'
source_url 'https://www.qb64.org/autobuilds/master/qb64_2018-02-28-12-16-57_c3ad985-master_lnx.tar.gz'
source_sha256 '47c739847e3f0d517150eae28e459e4c2cc1f904c1ab11eb7d089810d56e044a'
depends_on 'gcc7'
depends_on 'libglu'
depends_on 'freeglut'
depends_on 'mesa'
depends_on 'sommelier'
depends_on 'alsa_lib'
depends_on 'alsa_plugins'
def self.build
system "find . -name '*.sh' -exec sed -i \"s/\\r//g\" {} \\;"
system "find . -name '*.sh' -exec sed -i \"s/\.\\/setup/bash setup/g\" {} \\;"
system "find . -name '*.sh' -exec sed -i \"s/\.\\/qb64 \\&/exec qb64 \\&/g\" {} \\;"
system "find . -name '*.sh' -exec sed -i \"s/\~\\/\.local\\/share\\/applicationexec qb64\\.desktop/\\/dev\\/null/g\" {} \\;"
system "bash setup_lnx.sh"
end
def self.install
system "chown", "chronos:chronos", "qb64"
system "chmod", "+x", "qb64"
system "mkdir", "-p", "#{CREW_DEST_PREFIX}/share/qb64"
system "mkdir", "-p", "#{CREW_DEST_PREFIX}/bin"
system "cp", "-rpa", ".", "#{CREW_DEST_PREFIX}/share/qb64/"
system "echo '\#!/bin/bash' >> #{CREW_DEST_PREFIX}/bin/qb64"
system "echo \"cd #{CREW_PREFIX}/share/qb64/\" >> #{CREW_DEST_PREFIX}/bin/qb64"
system "echo \"sommelier -X #{CREW_PREFIX}/share/qb64/qb64\" >> #{CREW_DEST_PREFIX}/bin/qb64"
system "chmod +x #{CREW_DEST_PREFIX}/bin/qb64"
end
end |
Hey @superloach: You are definitely on the right track! Some things I noticed:
|
require 'package'
class Qb64 < Package
description 'QB64 is a modern extended BASIC+OpenGL language that retains QB4.5/QBasic compatibility and compiles native binaries for Windows, Linux and macOS.'
homepage 'https://www.qb64.org/'
version '1.2'
source_url 'https://www.qb64.org/autobuilds/master/qb64_2018-02-28-12-16-57_c3ad985-master_lnx.tar.gz'
source_sha256 '47c739847e3f0d517150eae28e459e4c2cc1f904c1ab11eb7d089810d56e044a'
depends_on 'libglu'
depends_on 'freeglut'
depends_on 'alsa_lib'
depends_on 'alsa_plugins'
depends_on 'sommelier'
def self.build
system "find . -name '*.sh' -exec sed -i \"s/\\r//g\" {} \\;"
system "find . -name '*.sh' -exec sed -i \"s/\.\\/setup/bash setup/g\" {} \\;"
system "find . -name '*.sh' -exec sed -i \"s/\.\\/qb64 \\&/exec qb64 \\&/g\" {} \\;"
system "find . -name '*.sh' -exec sed -i \"s/\~\\/\.local\\/share\\/applicationexec qb64\\.desktop/\\/dev\\/null/g\" {} \\;"
system "bash setup_lnx.sh"
end
def self.install
system "chmod", "+x", "qb64"
system "mkdir", "-p", "#{CREW_DEST_PREFIX}/share/qb64"
system "mkdir", "-p", "#{CREW_DEST_PREFIX}/bin"
system "cp", "-rpa", ".", "#{CREW_DEST_PREFIX}/share/qb64/"
system "echo '\#!/bin/bash' >> #{CREW_DEST_PREFIX}/bin/qb64"
system "echo \"cd #{CREW_PREFIX}/share/qb64/\" >> #{CREW_DEST_PREFIX}/bin/qb64"
system "echo \"sommelier -X #{CREW_PREFIX}/share/qb64/qb64\" >> #{CREW_DEST_PREFIX}/bin/qb64"
system "chmod +x #{CREW_DEST_PREFIX}/bin/qb64"
end
end I also updated the description per their homepage. |
Oh, well that looks pretty simple! Hey @uberhacker, do you want me to go ahead and modify the package, or could you do it? |
I will test and report back if successful. Then you can make the change in the package. |
Success! Here is your patch:
|
Great, thanks a lot! |
Actually, I thought of a more elegant way to do all this patching. New patch coming soon... |
Haha, alright then. |
Try this instead:
|
Yeah, that's way more elegant! Sorry I didn't know |
Now if we can solve the mysterious black screen of death, then i686 will be working also. |
Hmm, this is interesting: Re: How do you make the 64 bit Version of QB64? |
QB64 is 32bit by default on Windows; 64bit by default on macOS; 32/64bit on Linux depending on the Distro it's being compiled on, since it'll use the gcc version that's installed. |
Thanks for clearing that up, I couldn't find a straight answer anywhere! |
I for instance have it installed on two separate VMs for occasional testing, both running Debian, one 32 one 64 bit. |
@FellippeHeitor: The good news is we now have it working in ChromeOS on both x86_64 and arm architecture which probably covers over 95% of all Chromebook owners currently. |
That's amazing. We can offer instructions at qb64.org if you guys can offer me a set of them. When do these changes come into effect? |
I can create pre-built binaries but you need this project installed on your Chromebook and simply install the package via |
Yep, something like this will probably do:
|
Yeah, I meant instructions for the Chromebook setup. When does |
Oh, @uberhacker is a main contributor here! I apologize for my ignorance. |
Haha, I just saw you notice the PR got merged, I was about to tell you 😝 |
No worries at all. I'm glad you are interested in this project. Your feedback is greatly appreciated. |
So how do you plan on presenting this on qb64.org? <td align="center" width="25%">
<a href="https://github.com/skycocker/chromebrew/issues/2569#issuecomment-414528254" target="">
<img width="65px" height="65px" src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Google_Chrome_icon_%28September_2014%29.svg/1200px-Google_Chrome_icon_%28September_2014%29.svg.png">
</a>
<br>
<a href="https://github.com/skycocker/chromebrew/issues/2569#issuecomment-414528254" style="text-decoration:none" target="">
Chrome OS
</a>
</td> Obviously, if you chose to present it this way you'd use a pre-sized locally hosted icon, but overall I feel like this looks good. (p.s. - sorry if I'm entering nitpick territory 😅) |
Sounds good! Good idea to use Chromium instead of Chrome, too. |
@superloach: This is awesome what you are doing to promote Chromebrew. |
@superloach maybe your idea does look better to keep the general alignment there. Wanna give it a go? |
Haha, no problem @uberhacker! Always glad to help share good projects, especially if I find them useful. |
I've been attempting to compile QB64, with little success.
I modified the install script to use
bash setup_build.sh
instead of./setup_build.sh
, and that fixed some initial errors. But now I keep getting this error, which is obviously related to #2567:Hopefully we can get that fixed, because I'd love to mess around with some of my old programs 😝
(p.s. - there's an SDL version of QB64 as well, in case there are graphical issues in future)
The text was updated successfully, but these errors were encountered: