Forum > General

RESOLVED : Building cross compiling environment...

(1/3) > >>

gelinp:
Hi,

I'm making 32 bit Windows cross compiling environment with FPC 2.6.4 under linux debian Lessy. I know I have to execute this script under /usr/share/fpcsrc/2.6.4 directory:


--- Code: Pascal  [+][-]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";}};} ---cd /usr/share/fpcsrc/2.6.4sudo make clean all OS_TARGET=win32 CPU_TARGET=i386sudo make crossinstall OS_TARGET=win32 CPU_TARGET=i386 INSTALL_PREFIX=/usrsudo ln -sf /usr/lib/fpc/3.1.1/ppcross386 /usr/bin/ppcross386
But the first line display errors :


--- Code: Pascal  [+][-]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";}};} ---gelinp@inspiron:/usr/share/fpcsrc/2.6.4$ sudo make clean all OS_TARGET=win32 CPU_TARGET=i386make: execvp: /usr/local/bin/pwd.exe: Permission non accordéeMakefile:135: *** Compiler .exe not found. Arrêt.gelinp@inspiron:/usr/share/fpcsrc/2.6.4$ sudo make clean all OS_TARGET=win32 CPU_TARGET=i386make: execvp: /usr/local/bin/pwd.exe: Permission non accordéeMakefile:135: *** Compiler .exe not found. Arrêt.
It looks like debian try to execute .exe files with execvp comand ! May be the Makefile dosn't understand I'm under Linux Debian ? What is wrong ?

lagprogramming:
Are you absolutely sure that "sudo" works fine in your system? Verify it by issuing something like "sudo dir /root/", or something like that.

You can continue by following one of:
1. Try logging as "root" and run the same commands but without "sudo " text that's in front of each text line.
2. Use fpcup
3. Use getlazarus
4. Use CT
5. Soon there will be an update to the experiment presented at:
http://forum.lazarus.freepascal.org/index.php/topic,28561.msg188800.html#msg188800

So, you have alternatives.  8)

gelinp:
Yes, you are right, I'was asking myself it will be a problem with sudo envirnment. May be a problem with PATH variable. I tried already to login as root with su and running the comand sudo make... but it's the same problem. I will have a look this afternoom after my job and I will send you an other message.

Jonas Maebe:
It's may indeed be related to your PATH. The "make" utility has no built-in support for detecting whether you run on a Unix-like system or not, nor a way to request the default file extension for binaries on the current system. We have therefore implemented a heuristic in our makefiles, which assumes that we are running on a Unix-like system if the PATH contains not a single semicolon (;), as directories in the PATH are separated by ":" on Unix-like platforms and by ";" on others.

Now, this heuristic fails
a) on Windows if there is only one directory in the PATH (since there won't be any ";" in that case)
b) on Unix-like systems if you have a directory containing "';" in its name in your PATH (although that's extremely rare)

Or maybe you simply accidentally used a semicolon instead of a colon as separator when adding a directory to your PATH?

gelinp:
OK, I understand. But I can't find any semicolon into my PATH, into my system... I'm looking for again... Could you please tell me what path I have to watch in detail for this test ?

So the first error make displayed  was with /usr/local/bin/pwd.exe file. This .exe and a lot of other (so there is .exe files into my system, Debian is a little crasy !) were all with my name as user, so I set root.stuff proprietary as others files into this directory, and no one with execution flag... I don't know if they need execution flag because they are use as parameter into execvp program, but I tested. The result is worst :


--- Code: Pascal  [+][-]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";}};} ---gelinp@inspiron:/usr/share/fpcsrc/2.6.4$ sudo make clean all OS_TARGET=win32 CPU_TARGET=i386[sudo] password for gelinp: make: execvp: /usr/local/bin/pwd.exe: Permission non accordéeMakefile:135: *** Compiler .exe not found. Arrêt.gelinp@inspiron:/usr/share/fpcsrc/2.6.4$ sudo make clean all OS_TARGET=win32 CPU_TARGET=i386/usr/local/bin/pwd.exe: 1: /usr/local/bin/pwd.exe: MZ����@���: not found/usr/local/bin/pwd.exe: 2: /usr/local/bin/pwd.exe: $�a�����������D�����������Rich���PEL��g5�                                                                                            : not found/usr/local/bin/pwd.exe: 3: /usr/local/bin/pwd.exe: Syntax error: "(" unexpectedMakefile:135: *** Compiler .exe not found. Arrêt.
The file .bashrc is the very similar for me as normal user and for root user. Because I used mine to edit the root user .bashrc file.

Navigation

[0] Message Index

[#] Next page

Go to full version