A pre-configured Development environment for AROS

paolone · 1333

paolone

  • Senior Member
  • ****
    • Posts: 294
    • Karma: +3/-0
Reply #15 on: October 03, 2019, 12:30:30 PM
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...


miker1264

  • Senior Member
  • ****
    • Posts: 333
    • Karma: +12/-1
Reply #16 on: October 04, 2019, 04:43:46 AM
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.



paolone

  • Senior Member
  • ****
    • Posts: 294
    • Karma: +3/-0
Reply #17 on: October 04, 2019, 12:03:31 PM
@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.
« Last Edit: October 04, 2019, 12:36:12 PM by paolone »



miker1264

  • Senior Member
  • ****
    • Posts: 333
    • Karma: +12/-1
Reply #18 on: October 04, 2019, 01:12:30 PM
😊 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.
« Last Edit: October 04, 2019, 02:22:43 PM by miker1264 »



miker1264

  • Senior Member
  • ****
    • Posts: 333
    • Karma: +12/-1
Reply #19 on: October 07, 2019, 04:25:37 AM
@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

  • Senior Member
  • ****
    • Posts: 294
    • Karma: +3/-0
Reply #20 on: October 07, 2019, 12:38:30 PM
@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:


Code: [Select]
[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



Yannick

  • Newbie
  • *
    • Posts: 31
    • Karma: +2/-0
Reply #21 on: October 07, 2019, 01:34:28 PM
Looking at the compile log, this one must be fixed for 64bit :
Code: [Select]
/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

« Last Edit: October 07, 2019, 02:15:53 PM by Yannick »



miker1264

  • Senior Member
  • ****
    • Posts: 333
    • Karma: +12/-1
Reply #22 on: October 07, 2019, 02:05:45 PM
Looking at the compile log, this one must be fixed for 64bit :
Code: [Select]
/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.



miker1264

  • Senior Member
  • ****
    • Posts: 333
    • Karma: +12/-1
Reply #23 on: October 07, 2019, 03:19:23 PM
@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

  • Senior Member
  • ****
    • Posts: 294
    • Karma: +3/-0
Reply #24 on: October 07, 2019, 11:15:46 PM
@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.


miker1264

  • Senior Member
  • ****
    • Posts: 333
    • Karma: +12/-1
Reply #25 on: October 07, 2019, 11:37:07 PM
Thanks for confirming that it works on your end. I'll contact someone to help me set up the Arosdev build environment.



Yannick

  • Newbie
  • *
    • Posts: 31
    • Karma: +2/-0
Reply #26 on: October 08, 2019, 01:55:04 PM
I have issue with building datatypes, and try to ask for help here.

I've created the following mmakefile.src :
Code: [Select]
#   $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:
Code: [Select]
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
« Last Edit: October 08, 2019, 02:05:00 PM by Yannick »



miker1264

  • Senior Member
  • ****
    • Posts: 333
    • Karma: +12/-1
Reply #27 on: October 08, 2019, 02:50:49 PM
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.
« Last Edit: October 08, 2019, 03:06:02 PM by miker1264 »



miker1264

  • Senior Member
  • ****
    • Posts: 333
    • Karma: +12/-1
Reply #28 on: October 10, 2019, 07:47:54 PM
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.
« Last Edit: October 10, 2019, 08:26:23 PM by miker1264 »



miker1264

  • Senior Member
  • ****
    • Posts: 333
    • Karma: +12/-1
Reply #29 on: October 10, 2019, 08:35:27 PM
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.
« Last Edit: October 10, 2019, 10:25:12 PM by miker1264 »