AROS World Exec
Development => Development (General) => Topic started by: paolone on October 01, 2019, 07:10:25 AM
-
Hello! Since many people that would develop AROS or software for AROS are scared by Linux installation, configuration and management, I thought to create an already configured Linux virtual machine with the development stuff already in-place. So these people can now be scared by the lesser-frightening installation of VMware Player on their system! :-)
Have a look here:
https://vmwaros.blogspot.com/2019/10/a-pre-configured-development-machine.html (https://vmwaros.blogspot.com/2019/10/a-pre-configured-development-machine.html)
The environment is ready to compile (for) AROS x86-64, but targets can be easily added as explained in the bundled notes. The environment is already organized into different directories for main sources, portsources and builds. Have a nice day!
-
Very good idea, thank you Paolone!
-
Yeah, great initiative. Making the AROS source directory a git clone would be probably a good idea, if it's not one already. It would make updating the sources easier for beginners.
-
Thank you. Great idea.
I don't use VMWare though. I use virtualbox.
What is the container type? Is it a VMDK?
-
Thank you. Great idea.
I don't use VMWare though. I use virtualbox.
What is the container type? Is it a VMDK?
Yes. You can turn the vmdk into a virtualbox compatible disk with vmware's ovftools. Just turn the virtual machine into a .ova or .ovf first, and then import it with virtualbox
https://my.vmware.com/web/vmware/details?downloadGroup=OVFTOOL400&productId=353 (https://my.vmware.com/web/vmware/details?downloadGroup=OVFTOOL400&productId=353)
-
Yeah, great initiative. Making the AROS source directory a git clone would be probably a good idea, if it's not one already. It would make updating the sources easier for beginners.
Git is installed but not configured. I'd prefer to leave this to people interested into contributing back their modifications to the AROS development team. Others can easily update sources both with git, or with Firefox (a shortcut is in place for AROS git repo).
-
Thank you. Great idea.
I don't use VMWare though. I use virtualbox.
What is the container type? Is it a VMDK?
I believe Virtualbox is able to open VMDK files without the intermediate OVF file.
-
Yes. VirtualBox can use VMDK natively. I downloaded Ubuntu 64bit preconfigured VMDK, created a new virtual machine and connected the existing disk image.
...now you see Ubuntu 64 running in VirtualBox.
Next I'll install Ubuntu 16.04 32bit. I'd also like to install Cairo Dock.
https://www.howtogeek.com/201123/how-to-install-and-use-a-mac-os-x-style-desktop-dock-in-ubuntu-14.04/
-
Good to know! I can add a note on the vm description page.
-
Hi,
First thanks for the package, it will help.
But I'm still struggling with compiling some simple stuff.
Would it be possible to add a sample project (simple helloworld example) that :
- has source in ~/sources/personal/example
- will have target executable in ~/x86-64/bin/personal/example/ (or some other location that can be easily found/remembered)
I have created one, but can't have it working (it worked once but now it isn't anymore and I don't know why at all)
Best regards,
Yannick
-
paolone made a metamake file for the viewer and compliled for 64bit. It isn't Hello 64bit, but it works.
See Icaros Viewer thread.
-
Hi,
First thanks for the package, it will help.
But I'm still struggling with compiling some simple stuff.
You are in good company, don't worry. :-)
Every time I try compiling something slightly bigger than a single-.c-file project, I fall into dozens of errors thay I have to understand and fix.
Please take for good the hint Miker gave you about his viewer program, it's a fairly good 'hello world' example for the metamake stuff.
In order to use a different target directory for your program, you only need to change the EXEDIR variable to something else. Please also consider this part.
If you need further information, please read also the following resources:[/size]> The AROS build system, and how MetaMake works (https://en.wikibooks.org/w/index.php?title=Aros/Developer/BuildSystem&stable=0#AROS_Build-System_configuration)[/u] on aros.org> Aros/Developer/BuildSystem (https://en.wikibooks.org/w/index.php?title=Aros/Developer/BuildSystem&stable=0#Overview)[/u] on Wikibooks.org> "How I compiled deark for 64bit AROS" (http://vmwaros.blogspot.com/2019/07/how-i-compiled-deark-for-64bit-aros.html) on this site.[/size][/font]
-
I have to take another hd and try to compile 8)
-
I'll to compile it tomorrow.
I have to get my "Hello 64bit AROS World!" In there somewhere. 😊
-
Ok, I got it and I'm now able to compile and end up with ZunePaint and ZuneView in their own folders.
What I'm doing now, is that I compile them into AROS hosted folder structure, so that I can test the programs directly.
Linux hosted 64bit build is under progress.
I believe that this should be part of the distributed files, native AROS is not required, executable are the sames, but to test under the environment it seems much more straight forward to have the hosted environment available.
BR,
Yannick
-
Ok, I got it and I'm now able to compile and end up with ZunePaint and ZuneView in their own folders.
What I'm doing now, is that I compile them into AROS hosted folder structure, so that I can test the programs directly.
Linux hosted 64bit build is under progress.
I believe that this should be part of the distributed files, native AROS is not required, executable are the sames, but to test under the environment it seems much more straight forward to have the hosted environment available.
BR,
Yannick
Yes, good point. You should have received an email from me yesterday...
-
Ok. Something went wrong.
I put together the metamake source file just as you indicated.
Then "cd ~/x86-64" (which is an important step)
Then "make local-icaros-viewer" ... but it gave me an error.
-
@miker
jman pointed me to a little mistake I made in my example makefile. I forgot the first line
include $(SRCDIR)/config/aros.cfg
I've now added it where missing in the blog pages. Please check again.
-
😊 Yes. I suspected something was missing.
I wanted to get it right because it will be the prototype for other compilations yet to come.
Using VirtualBox I find it easier to leave the Ubuntu 64bit Development Environment as is. So I also installed Ubuntu 16.04 both 32bit and 64bit where I can set up my test systems. Before installing Icaros I should make a copy of my Linux VDI or VMDK. So when I need to update my test system to a newer version of Icaros I can simply make a copy of the original clean version then attach it to the test machine then install a new Icaros Desktop. Simply delete the old disk image with the older version of Icaros or move it to a storage drive and keep it for later.
When you set up your preconfigured environments it's also a good idea to keep your base Linux Development system as a clean backup copy somewhere. If you'd like to install the newest version of Icaros then simply make a copy of the clean version and install on that. So you always have clean copies. It would be a good idea to just have the clean version for download. The user can choose which version of Icaros of Icaros Just a few ideas.
-
@paolone
Is it too much to ask for you to copy your sources to the Arosdev x64 disk image, configure & make to be sure it works? Then I can download it again.
Or at least test it as it is on your end by making a copy of the VM and trying to configure, make then compile viewer.c
If I'm doing something wrong on my end I don't know what it could be. This is very frustrating for me. I suppose I could wait till the gcc toolchain is available for Icaros x64 so I can compile in a shell.
-
@paolone
Is it too much to ask for you to copy your sources to the Arosdev x64 disk image, configure & make to be sure it works? Then I can download it again.
Or at least test it as it is on your end by making a copy of the VM and trying to configure, make then compile viewer.c
If I'm doing something wrong on my end I don't know what it could be. This is very frustrating for me. I suppose I could wait till the gcc toolchain is available for Icaros x64 so I can compile in a shell.
Hi. No problem at all
- I extracted the .7z file to another directory
- fired up the virtual machine
- copied my 'icaros' directory including all 'my' sources including viewer and its mmakefile.src in ~/sources (so I had a directory ~/sources/icaros/viewer/ with viewer.c and mmakefile.src inside)
- cd x86-64
- make local-icaros-viewer
compiled fine, with just these warnings:
[MMAKE] Making local-icaros-viewer in icaros/viewer
Makedepend icaros/viewer/viewer.c...
Compiling icaros/viewer/viewer.c
/home/arosdev/sources/icaros/viewer/./viewer.c: In function 'LoadAsDatatype':
/home/arosdev/sources/icaros/viewer/./viewer.c:267:14: warning: implicit declaration of function 'showImage'; did you mean 'DrawImage'? [-Wimplicit-function-declaration]
267 | showImage(in_pic->Data, width, height, depth, fname);
| ^~~~~~~~~
| DrawImage
/home/arosdev/sources/icaros/viewer/./viewer.c:303:17: warning: implicit declaration of function 'Flip_Vertical' [-Wimplicit-function-declaration]
303 | Flip_Vertical(in_pic->Data, in_pic->Width, in_pic->Height, 4);
| ^~~~~~~~~~~~~
In file included from /home/arosdev/x86-64/bin/pc-x86_64/AROS/Developer/include/boost/preprocessor/tuple/elem.hpp:22,
from /home/arosdev/x86-64/bin/pc-x86_64/AROS/Developer/include/boost/preprocessor/array/data.hpp:16,
from /home/arosdev/x86-64/bin/pc-x86_64/AROS/Developer/include/boost/preprocessor/array.hpp:16,
from /home/arosdev/x86-64/bin/pc-x86_64/AROS/Developer/include/aros/preprocessor/array/cast2iptr.hpp:5,
from /home/arosdev/x86-64/bin/pc-x86_64/AROS/Developer/include/aros/preprocessor/variadic/cast2iptr.hpp:13,
from /home/arosdev/x86-64/bin/pc-x86_64/AROS/Developer/include/inline/exec.h:16,
from /home/arosdev/x86-64/bin/pc-x86_64/AROS/Developer/include/proto/exec.h:44,
from /home/arosdev/sources/icaros/viewer/./viewer.c:17:
/home/arosdev/sources/icaros/viewer/./viewer.c: In function 'readpic_by_datatype':
/home/arosdev/sources/icaros/viewer/./viewer.c:444:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
444 | PDTA_BitMapHeader, (ULONG)&bmh,
| ^
/home/arosdev/sources/icaros/viewer/./viewer.c: In function 'readpic_by_datatype_alpha':
/home/arosdev/sources/icaros/viewer/./viewer.c:497:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
497 | PDTA_BitMapHeader, (ULONG)&bmh,
| ^
/home/arosdev/sources/icaros/viewer/./viewer.c: At top level:
/home/arosdev/sources/icaros/viewer/./viewer.c:621:6: warning: conflicting types for 'Flip_Vertical'
621 | void Flip_Vertical(unsigned char *pixels_buffer, LONG width, LONG height, int bytes_per_pixel)
| ^~~~~~~~~~~~~
/home/arosdev/sources/icaros/viewer/./viewer.c:303:17: note: previous implicit declaration of 'Flip_Vertical' was here
303 | Flip_Vertical(in_pic->Data, in_pic->Width, in_pic->Height, 4);
| ^~~~~~~~~~~~~
Linking AROS/Extras/Developer/Build/viewer...
See the executable in attachment
-
Looking at the compile log, this one must be fixed for 64bit :
/home/arosdev/sources/icaros/viewer/./viewer.c:444:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
444 | PDTA_BitMapHeader, (ULONG)&bmh,
| ^
/home/arosdev/sources/icaros/viewer/./viewer.c: In function 'readpic_by_datatype_alpha':
/home/arosdev/sources/icaros/viewer/./viewer.c:497:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
497 | PDTA_BitMapHeader, (ULONG)&bmh,
| ^
(ULONG) shall be replaced by (IPTR) otherwise you cast a 64bit adress to 32bit integer
/Yannick
-
Looking at the compile log, this one must be fixed for 64bit :
/home/arosdev/sources/icaros/viewer/./viewer.c:444:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
444 | PDTA_BitMapHeader, (ULONG)&bmh,
| ^
/home/arosdev/sources/icaros/viewer/./viewer.c: In function 'readpic_by_datatype_alpha':
/home/arosdev/sources/icaros/viewer/./viewer.c:497:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
497 | PDTA_BitMapHeader, (ULONG)&bmh,
| ^
(ULONG) shall be replaced by (IPTR) otherwise you can a 64bit adress to 32bit integer
/Yannick
Thank you. I'll make the changes.
-
@paolone
Thank you for the update. I'll download the virtual machine this evening around pizza time. It's early in the morning now.
-
@paolone
Thank you for the update. I'll download the virtual machine this evening around pizza time. It's early in the morning now.
Hi. I am not updating the vm you can download online.
-
Thanks for confirming that it works on your end. I'll contact someone to help me set up the Arosdev build environment.
-
I have issue with building datatypes, and try to ask for help here.
I've created the following mmakefile.src :
# $Id$
include $(SRCDIR)/config/aros.cfg
USER_LDFLAGS := -static
FILES := spuclass
#MM zunetools-Datatypes-spu : includes linklibs
%build_module mmake=zunetools-Datatypes-spu \
modname=spu modtype=datatype \
files=$(FILES)
It worked once, while I was trying to debug the mmakfile, and I've compiled all my datatypes.
After working on other things I've did a clean up and tried to build again the same files and the answer I got is:
Nothing known about target local-zunetools-Datatypes-spu in project AROS
What might have done wrong?
[EDIT]
As often at the time I ask for help, I find the answer by myself!
I forgot in the mmakefile to append the local- prefix to the build object
In my preliminary tests I certainly called the mmakefile without local-
Thanks,
Yannick
-
Yannick
Thank you for the sample metamake file. My build works too.
I was able to build an AROS ISO image from sources. It took 3.5 hours to build it though.
I gave up on VirtualBox because it wasn't working for me. Now I'm using VMWare. It works great. I really like the drag-n-drop! :-)
I did "cd ~/sources" cofigure then made iso. Today I will do "cd ~/x86-64" configure and make, then make local like you and paolone did successfully now.
-
Could someone with knowledge about gcc and makefiles and the metamake build system please help me?
I have followed the instructions on IcarDestop.org to dowload and set up the 64bit build system. I'm sure the commands I'm using to cofigure and build are the same as on the website. While in Ubuntu I opened Firefox and copy/pasted to the Terminal.
At ~/sources configure works great and the next line to build the ISO also works great. It takes 3.5 hours but it generates an install ISO in distfiles.
But when I go to ~/x86-64 then configure and make it fails every time! Is the configure syntax correct on the blog page regarding Setting Up 64bit Build Environment, not the other one about the Pre-Configured VM.
-
I bought the Amiga OS4.1 Cd. I'm going to try using the OS4 SDK to build DiskMaster for OS4.
Amiga OS4 generally has better information on their websites about programming. So I hope the SDK is better and easier than working with AROS.
When it compiles for OS4 then I make some changes them remake it to test it. And I will have OS4 include files so I can match them up and compile DiskMaster for AROS as well.
-
Update:
AROS has been building in my 'build' folder (not source!) for about half an hour now...hoping and praying it all goes well.
A special thanks to bsek for the help in getting it running. It seems the information on IcarosDesktop.org should be ammended slightly.
In this case I created a new 'aros/build' file structure. Git clone + url is the proper way to copy out sources not downloading zip files. When a new directory with new sources is created be mindful of the configure syntax. Omit portsrc because it doesn't exist. Target is also optional. It will default to the current architecture. But I may need to declare the target in order to build a boot ISO.
Lastly and most importantly, Though the Virtual Machine is the same and the software is the same the hardware on the individual user side is Not The Same! In the make command you should specify with a -j switch the number of cores to use during the build process. Too few and it won't build. Too many and it won't build. You have to find the Goldilocks Zone - the correct number of cores & the max amount of memory to build AROS.
It's still building. So far so good...
(Note to self. Fix the Pizza Timer because it keeps popping up during the build process!)
-
A special thanks to bsek for the help in getting it running. It seems the information on IcarosDesktop.org should be ammended slightly.
Would you please provide a detailed information about what you did? the linux command 'history' would come handy too, to track the exact commands you gave. Thank you.
-
A special thanks to bsek for the help in getting it running. It seems the information on IcarosDesktop.org should be ammended slightly.
Would you please provide a detailed information about what you did? the linux command 'history' would come handy too, to track the exact commands you gave. Thank you.
Sorry. I've been busy. This is the sequence that I used however I'm going to actually declare a target and try to build an ISO as well:
mkdir -p aros/build
cd aros
git clone https://github.com/aros-development-team/AROS.git
cd build
../AROS/configure --enable-ccache --with-gcc-version=9.1.0 --with-binutils-version=2.32
make -j2
The last part is very important as well. -j2 means to use "2 cores" while building.
Using "git clone" is the better method to download and install the sources rather than simply downloading zip files.
-
in the suite it is possible to add the sources and everything related to odyssey, maybe someone could find benefit on this if he wants to work comfortably :-\
-
A special thanks to bsek for the help in getting it running. It seems the information on IcarosDesktop.org should be ammended slightly.
Would you please provide a detailed information about what you did? the linux command 'history' would come handy too, to track the exact commands you gave. Thank you.
Sorry. I've been busy. This is the sequence that I used however I'm going to actually declare a target and try to build an ISO as well:
mkdir -p aros/build
cd aros
git clone https://github.com/aros-development-team/AROS.git (https://github.com/aros-development-team/AROS.git)
cd build
../AROS/configure --enable-ccache --with-gcc-version=9.1.0 --with-binutils-version=2.32
make -j2
The last part is very important as well. -j2 means to use "2 cores" while building.
Using "git clone" is the better method to download and install the sources rather than simply downloading zip files.
Ooook, I guess I have to modify a little your procedure to adapt it to my current directory structure. It should be really easy.
By the way, the sources in /sources are NOT taken from ZIP file, but are an actual copy of my repo I cloned with git. And they compile. I don't know exactly what happens if you overwrite them with contents of zip files on aros.org.
Maybe I should make this clearer.
-
paolone also needs to install the build-essentials :D, I have so much free time I don't work I want to dedicate myself to the port of the games and maybe some application, we'll see if I can
-
miker let's see if I can with your procedure
-
it worked with the procedure described on vmaros only that i did something wrong
-
gives me this error when compiling the tree
[MMAKE] Making mesa3d-linklib-compiler-generated in workbench/libs/mesa/libcompiler
Generating bin/linux-x86_64/gen/workbench/libs/mesa/src/compiler/glsl/ir_expression_operation.h
Generating bin/linux-x86_64/gen/workbench/libs/mesa/src/compiler/glsl/ir_expression_operation_constant.h
Traceback (most recent call last):
File "/home/salvatore/aros/build/bin/linux-x86_64/Ports/mesa/mesa-19.1.5/src/compiler/glsl/ir_expression_operation.py", line 23, in <module>
Traceback (most recent call last):
File "/home/salvatore/aros/build/bin/linux-x86_64/Ports/mesa/mesa-19.1.5/src/compiler/glsl/ir_expression_operation.py", line 23, in <module>
import mako.template
ImportError : import mako.template
No module named mako.template
ImportError: No module named mako.template
mmakefile:153: recipe for target '/home/salvatore/aros/build/bin/linux-x86_64/gen/workbench/libs/mesa/src/compiler/glsl/ir_expression_operation_constant.h' failed
make[1]: *** [/home/salvatore/aros/build/bin/linux-x86_64/gen/workbench/libs/mesa/src/compiler/glsl/ir_expression_operation_constant.h] Error 1
make[1]: *** Attesa per i processi non terminati....
mmakefile:147: recipe for target '/home/salvatore/aros/build/bin/linux-x86_64/gen/workbench/libs/mesa/src/compiler/glsl/ir_expression_operation.h' failed
make[1]: *** [/home/salvatore/aros/build/bin/linux-x86_64/gen/workbench/libs/mesa/src/compiler/glsl/ir_expression_operation.h] Error 1
[MMAKE] make --no-print-directory TOP=/home/salvatore/aros/build SRCDIR=/home/salvatore/aros/AROS CURDIR=workbench/libs/mesa/libcompiler TARGET=mesa3d-linklib-compiler-generated --file=mmakefile mesa3d-linklib-compiler-generated failed: 512
[MMAKE] Error: Error while running make in workbench/libs/mesa/libcompiler: No such file or directory
Makefile:113: recipe for target 'all' failed
make: *** [all] Error 10
-
I should have solved it I needed mako
-
right.
-
ok try the complete build enviroment by paolone
-
The preconfigured development vm image is not available at the download link atm (heavy bandwidth usage perhaps?). Does anybody have the unaltered image so we can put it on archive.org or something? Then we can help with the bandwidth through bittorrent since archive.org automatically creates web shares.
-
I use the 64bit build environment set up by Paolone quite often.
I'd like to set up a 32bit build environment for compiling for ABIv0.
Salvo,
If you have successfully set up an ABIv0 source structure that compiles AROS maybe you could help me to set up mine also?
-
miker if it helps, you can try my AROS One v1.2 ABIv0:
https://ae.amigalife.org/index.php?topic=457.msg3788#msg3788
-
miker I only ran the deadwood scripts for compilation and first I installed the necessary software
https://github.com/deadw00d/AROS/blob/alt-abiv0/INSTALL.md
-
salvo
Ok. Thanks.
I haven't had a chance yet to get ABIv0 set up. I'm working on datatypes and getting SuperMultiView ready to go this week.
-
@miker1264
Thank you very much for your efforts! I‘m looking forward to your projects! :)
-
ok miker ;)
thank you very much for all
-
The ISO is no longer available at http://mirrors.lezard-visuel.com/icaros/dev/AROS64-DevE01_v001.7z (http://mirrors.lezard-visuel.com/icaros/dev/AROS64-DevE01_v001.7z). Can it be re-posted or posted somewhere else?
-
The ISO is no longer available at http://mirrors.lezard-visuel.com/icaros/dev/AROS64-DevE01_v001.7z (http://mirrors.lezard-visuel.com/icaros/dev/AROS64-DevE01_v001.7z). Can it be re-posted or posted somewhere else?
As soon as my internet provider turns my current 3rd-world ADSL connection into a hopefully better peforming FTTN one. Unluckily, lezard-visuel.com has bust without notice. :-|