Forum > Windows (32/64)

[Solved] Unable install latest fpc from source

(1/2) > >>

JohnnieK:
Hi

I am trying to build the current version of fpc which I downloaded via git: (git clone https://gitlab.com/freepascal.org/fpc/source.git) I am using the version of fpc that comes with the Lazarus 3.4 installer. I run make clean and then run make all.
Both commands completes without errors.

I then run: make install INSTALL_PREFIX=c:\fpc\

This stops with the following error:

Entering directory `C:/Users/jkotze/source/source/packages'
./fpmake.exe install --localunitdir=.. --os=win64 --cpu=x86_64 -o -Ur -o -Xs -o -O2 -o -n -o -dx86_64 -o -dRELEASE --compiler=C:/Users/jkotze/source/source/compiler/ppcx64.exe -bu --prefix=c:\fpc\ --baseinstalldir=c:\fpc\  -ie -fsp 0
Installing package bzip2
The installer encountered the following error:
Failed to create directory "C:\fpc --baseinstalldir=c:\fpc \units\x86_64-win64\bzip2\"

Does anyone know how to get past this error. Looks like the path that it wants to create has a space in it.

JohnnieK:
if I change to the packages directory and then execute:
fpmake.exe install --localunitdir=.. --os=win64 --cpu=x86_64 -o -Ur -o -Xs -o -O2 -o -n -o -dx86_64 -o -dRELEASE --compiler=C:/Users/jkotze/source/source/compiler/ppcx64.exe -bu --prefix=c:\fpc\ --baseinstalldir=c:\fpc\  -ie -fsp 0
It runs through all the subdirs and completes without errors. The C:\fpc\units\x86_64-win64 now contains all the directories that should be there.
So why does the command fail when called from the script ?

marcov:

--- Quote from: JohnnieK on September 09, 2024, 09:57:12 pm ---So why does the command fail when called from the script ?

--- End quote ---

I assume you mean Make?  Try to make sure it is an FPC packages make you execute, and not some msys or cygwin versions.  Maybe such make ignores windows conventions and treats the backslash as an escape.

 Also the "  -ie -fsp 0" stuff doesn't look very standard, and doesn't exist if I execute your simple make install command.
 

JohnnieK:
Hi Marco

Thanx for the reply. I checked and I am using the make.exe from the fpc 3.2.2 directory. I accidentally ran make install without the prefix and it ran through. I found the installation in c:\pp. It had the complete fpc install in there. So I just used that directory, tweaked an existing fpc.cfg file and used that to build the latest version of lazarus. I now have a working version of the latest version of fpc and Lazarus.

Thaddy:
You are on Windows.
You probably also have Delphi installed?
Then call make with the fully qualified path to the fpc bootstrap bin directory of make,
E.g. (in my case)

--- Code: Bash  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---D:\fpcupdeluxe\fpcbootstrap\make clean all install INSTALL_PREFIX="D:\FPC331" PP=D:\fpcupdeluxe\fpcbootstrap\ppcx64.exeFPC make and Borland/Embarcadero make are not compatible.
You are not using fpcupdeluxe that way: I merely use the build tools that happen to be in an fpcupdeluxe subdirectory. You are building from scratch.

Navigation

[0] Message Index

[#] Next page

Go to full version