Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2008-09

FPC for FreeBSD AMD64?

11 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Francisco Reyes

Are there any plans for a FreeBSD AMD64 version?

Sometime ago I tried to work on this and since I am not very familiar with FPC yet I could not get very far.

If there are currently no set plans for this port, anyone would be willing to do some heavy hand-holding for a new users to work on this? :-)

I really would like to use FPC, since I like Pascal much more than C/C++, but I will need my programs to run in both FreeBSD i386 and AMD64.

Michael Green
to Francisco Reyes

I can see x86_64-freebsd in the FPC make file, so you ought to be able to build it with the source. Just add the parameters OS_TARGET=freebsd and CPU_TARGET=x86_64

-- Mike

Francisco Reyes wrote 16 lines
Are there any plans for a FreeBSD AMD64 version? Sometime ago I tried to work on this and since I am not very familiar with FPC yet I could not get very far. If there are currently no set plans for this port, anyone would be willing to do some heavy hand-holding for a new users to work on this? :-) I really would like to use FPC, since I like Pascal much more than C/C++, but I will need my programs to run in both FreeBSD i386 and AMD64. _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Marco van de Voort
to Michael Green

In our previous episode, Michael Green said:

I can see x86_64-freebsd in the FPC make file, so you ought to be able to build it with the source. Just add the parameters OS_TARGET=freebsd and CPU_TARGET=x86_64

It is not done. Those files are the leftovers of a failed attempt. But maybe it is enough to give it a try, maybe sb notices what is wrong.

Francisco Reyes
to Marco van de Voort
Marco van de Voort wrote
It is not done. Those files are the leftovers of a failed attempt. But maybe it is enough to give it a try, maybe sb notices what is wrong.

Should I try to build it in a FBSD i386 or AMD64?

Marco van de Voort
to Francisco Reyes

In our previous episode, Francisco Reyes said:

Show quoted text 6 lines
Marco van de Voort writes: > It is not done. Those files are the leftovers of a failed attempt. But maybe > it is enough to give it a try, maybe sb notices what is wrong. Should I try to build it in a FBSD i386 or AMD64?

I built in on x86, but assembled and linked on AMD64.

Francisco Reyes
to Marco van de Voort
Marco van de Voort wrote
> Should I try to build it in a FBSD i386 or AMD64? I built in on x86, but assembled and linked on AMD64.

Are the steps documented somewhere?

I downloaded fpc-2.2.2.i386-freebsd.tar
How would I "build"

Also, when one uses instal.sh, how does one uninstall? In a "regular" install I would just use the port system. I created a VM just to play around.. so I can rever the snapshot, but wonder what is the procedure to uninstall.

Is this what I should be looking at?
http://wiki.freepascal.org/Release_engineering

Is the AMD64 version for FreeBSD planned to be worked on anytime in the near future?

I have to get a program done soon and looking at the wiki/Release_engineering it seems it would take me a good deal of time even trying to figure out how to begin to help to move the AMD64 port along.

Marco van de Voort
to Francisco Reyes

In our previous episode, Francisco Reyes said:

Are the steps documented somewhere?

Generally the procedure for crosscompiling is in the buildfaq. But that is more the prepared case, when the port is ready.

I downloaded fpc-2.2.2.i386-freebsd.tar How would I "build" Also, when one uses instal.sh, how does one uninstall?

Not in theory. In practice it amounts to
- killing /usr/local/lib/fpc/ and /usr/local/share/fpc. (or only the relevant version you installed if you have multiples),
- weeding out binaries in /usr/local/bin.

In a "regular" install I would just use the port system. I created a VM just to play around.. so I can rever the snapshot, but wonder what is the procedure to uninstall.

The problem is the port system often upgrades slowly. It still contains 2.0.4.

Is this what I should be looking at? http://wiki.freepascal.org/Release_engineering

No. That is more about packaging an existing ports, not making ports to previously unsupported targets.

Is the AMD64 version for FreeBSD planned to be worked on anytime in the near future?

Florian did a few bits last week, to help me over the point where I got stuck. We are currently investigating what is the next step.

I have to get a program done soon and looking at the wiki/Release_engineering it seems it would take me a good deal of time even trying to figure out how to begin to help to move the AMD64 port along.

The buildfaq comes closest I think. It describes crosscompiling basics. The steps needed to fix a port are not documented (and not universal anyway)

Note that once a port is done, it usually needs a lot of testing and fixing of all kinds of smaller libraries. It might not be directly up to the level of other platforms.

(but of course the fact that both FreeBSD and x86_64 are already supported individually will help)

Francisco Reyes
to Marco van de Voort
Marco van de Voort wrote 6 lines
> Also, when one uses instal.sh, how does one uninstall? Not in theory. In practice it amounts to - killing /usr/local/lib/fpc/ and /usr/local/share/fpc. (or only the relevant version you installed if you have multiples), - weeding out binaries in /usr/local/bin.

Any reason not to have an uninstall.sh?
In particular install.sh could be changed to save the directories where it was installed and then create the uninstall.sh.

Florian did a few bits last week, to help me over the point where I got stuck. We are currently investigating what is the next step.

Would it make sense for a newbie to even try to look at buildfaq or should I wait to see what the "next step" will be?.

Is there a list, other than this, to keep track of the progress of the FreeBSD AMD64 port? Also, once the port is finished will it always be up to the same level as the i386 version in FreeBSD?

Note that once a port is done, it usually needs a lot of testing and fixing of all kinds of smaller libraries. It might not be directly up to the level of other platforms.

Do we have a regression test?

Marco van de Voort
to Francisco Reyes

In our previous episode, Francisco Reyes said:

Show quoted text 8 lines
>> Also, when one uses instal.sh, how does one uninstall? > > Not in theory. In practice it amounts to > - killing /usr/local/lib/fpc/ and /usr/local/share/fpc. > (or only the relevant version you installed if you have multiples), > - weeding out binaries in /usr/local/bin. Any reason not to have an uninstall.sh?

Yes. Nobody made it. Moreover the install.sh doesn't save what files it stored, and what dirs were (partially?) created. It only decompresses archives, it has no clue what is in them.

And of course deletion is more dangerous than installation. A mistake in scripting and you might wipe /.

In particular install.sh could be changed to save the directories where it was installed and then create the uninstall.sh.

That would unlink $PREFIX/bin since it stores binaries there. You really need to do it on a per file level :-)

Show quoted text 5 lines
> Florian did a few bits last week, to help me over the point where I got > stuck. We are currently investigating what is the next step. Would it make sense for a newbie to even try to look at buildfaq or should I wait to see what the "next step" will be?.

Both. Wait as far as x86_64 is concerns, but familiarize yourself with the buildfaq as much as possible (crosscompile between linux and -64, and between linux and freebsd). This since even if it gets done, it will be rough the first months.

Is there a list, other than this, to keep track of the progress of the FreeBSD AMD64 port?

No. For an update you can also ask on IRC.

Also, once the port is finished will it always be up to the same level as the i386 version in FreeBSD?

That depends on your (plural, as in the future FreeBSD/x86_64 users) patches and bugreports. Too little interest might cause it to preliminary die.

Maintenance costs effort, and needs input. Interest seemed on the rise, so we gave it a go to do the initial work, but the longterm input and bugfixing need to come from users.

It is really demotivating if you notice a major bug when you are packaging release $X, and find out it was in the year old $X-1 release too, and nobody noticed. That's what happened to the 1.0.x NetBSD and OpenBSD ports.

Show quoted text 5 lines
> Note that once a port is done, it usually needs a lot of testing and fixing > of all kinds of smaller libraries. It might not be directly up to the level > of other platforms. Do we have a regression test?

Yes, in directory tests/ in the FPC sources (might not be in release sources, but a snapshot surely has it). FreeBSD/x86_64 had 26 "run" errors last weekend. I found a bug in statfs, and will see how it runs tonight.

As soon as it can compile itself, I'll upload a snapshot. Next will be getting access to C libraries (linking to shared libs)

Francisco Reyes
to Boris Samorodov
Boris Samorodov wrote
On Mon, 15 Sep 2008 17:38:44 +0200 (CEST) Marco van de Voort wrote: > As soon as it can compile itself, I'll upload a snapshot. Next will be > getting access to C libraries (linking to shared libs)

It realy will be great when it's ready.
I understand that ports are about how much they are demanded and how many people help to maintain them so, I will try and start learning to see if I can help.

Have also some thoughts about the installation program which I plan to explore. I will research how to make the install.sh create a package entry so uninstall can be done using the package system.