Sign in Join

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

Mailing lists / lazarus / 2014-03

Crosscompile Target Win32 error : ( /units/i386-win32/win32] Error 1)

5 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

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

Allan E. Registos

Hi all,

Good day,

For Lazarus 1.0.14/Ubuntu 64 Precise
I have successfully installed crosscompile win32/i386 and can generate win32 executable. I upgraded to 1.2.
I've moved the old .lazarus to .lazarus_0.14 because Laz 1.2 is unable to upgrade it and was using instead the binary in that directory which is the 1.014 version and can't locate the correct fpcsrc version so I just moved that directory to let the new 1.2 create a new one. I was able again to recompile lazarus to target win32/i386 and generated win32 exe.

However, I accidentally enter the command "mv .lazarus .lazarus_0.14", this command in linux gives you no warning whatsoever that there is an existing directory with that name. So it just followed that command, and my existing .lazarus which has the lazarus1.2 binary that can target win32 was lost. Restoring from .lazarus_0.14 gives me the old lazarus binary. So I think this is just a trivial problem, and to correct this, I started from scratch. I removed again .lazarus and start lazarus to recreate the directory.

When trying to recompile lazarus (Option > Prof to build[Clean Up + Build All] > LCL Widget type[win32/win64] > Target OS:[win32] > Target CPU:[i386]) I have now this error:

make[1]: *** [../units/i386-win32/win32] Error 1
Recompiling fpcsrc doesn't work.

Also the reason why I upgraded to 1.2 is because I want also to target both 1.0.14 and 1.2 emitted this error:
make[1]: *** [../units/i386-linux/gtk2] Error 1

Anybody experience this or have an idea?

Best regards,
Allan

Reply by email

Mattias Gaertner
to Allan E. Registos
Show quoted text 5 lines
[...] For Lazarus 1.0.14/Ubuntu 64 Precise I have successfully installed crosscompile win32/i386 and can generate win32 executable. I upgraded to 1.2. I've moved the old .lazarus to .lazarus_0.14 because Laz 1.2 is unable to upgrade it and was using instead the binary in that directory which is the 1.014 version

The starter checks the file dates. If your custom built IDE in the .lazarus directory is newer than the IDE installed via the deb package it starts your custom IDE.
Maybe we need a better heuristic.

and can't locate the correct fpcsrc version

What is the correct fpcsrc version?

Show quoted text 5 lines
so I just moved that directory to let the new 1.2 create a new one. I was able again to recompile lazarus to target win32/i386 and generated win32 exe. However, I accidentally enter the command "mv .lazarus .lazarus_0.14", this command in linux gives you no warning whatsoever that there is an existing directory with that name. So it just followed that command, and my existing .lazarus which has the lazarus1.2 binary that can target win32 was lost.

Normally "mv .lazarus .lazarus_0.14" moves it to
".lazarus_0.14/.lazarus". Your files were not lost, just moved.

Restoring from .lazarus_0.14 gives me the old lazarus binary. So I think this is just a trivial problem, and to correct this, I started from scratch. I removed again .lazarus and start lazarus to recreate the directory.

Ok. This should give you a pretty standard Lazarus 1.2.

Show quoted text 5 lines
When trying to recompile lazarus (Option > Prof to build[Clean Up + Build All] > LCL Widget type[win32/win64] > Target OS:[win32] > Target CPU:[i386]) I have now this error: make[1]: *** [../units/i386-win32/win32] Error 1 Recompiling fpcsrc doesn't work.

Please post the other messages before the error message.

How did you install the cross compiled units for win32?

Show quoted text 5 lines
Also the reason why I upgraded to 1.2 is because I want also to target both 1.0.14 and 1.2 emitted this error: make[1]: *** [../units/i386-linux/gtk2] Error 1 Anybody experience this or have an idea?

Mattias

Reply by email

Allan E. Registos
to Mattias Gaertner
Mattias Gaertner wrote 16 lines
On Fri, 28 Mar 2014 09:42:17 +0800 (PHT) "Allan E. Registos" wrote: > [...] > For Lazarus 1.0.14/Ubuntu 64 Precise > I have successfully installed crosscompile win32/i386 and can generate win32 executable. > I upgraded to 1.2. > I've moved the old .lazarus to .lazarus_0.14 because Laz 1.2 is unable to upgrade it and was using instead the binary in that directory which is the 1.014 version The starter checks the file dates. If your custom built IDE in the .lazarus directory is newer than the IDE installed via the deb package it starts your custom IDE. Maybe we need a better heuristic. > and can't locate the correct fpcsrc version What is the correct fpcsrc version?

During Lazarus startup, cannot find the correct location, I must say location of the fpcsrc installed.

Show quoted text 9 lines
> so I just moved that > directory to let the new 1.2 create a new one. > I was able again to recompile lazarus to target win32/i386 and generated win32 exe. > > However, I accidentally enter the command "mv .lazarus .lazarus_0.14", this command in linux gives you no warning whatsoever that there is an existing directory with that name. So it just followed that command, and my existing .lazarus which has the lazarus1.2 binary that can target win32 was lost. Normally "mv .lazarus .lazarus_0.14" moves it to ".lazarus_0.14/.lazarus". Your files were not lost, just moved.

My bad. I should have first check the contents of the directory now that I deleted it.

Show quoted text 15 lines
> Restoring from .lazarus_0.14 gives me the old lazarus binary. So I > think this is just a trivial problem, and to correct this, I started > from scratch. I removed again .lazarus and start lazarus to recreate > the directory. Ok. This should give you a pretty standard Lazarus 1.2. > When trying to recompile lazarus (Option > Prof to build[Clean Up + Build All] > LCL Widget type[win32/win64] > Target OS:[win32] > Target CPU:[i386]) > I have now this error: > > make[1]: *** [../units/i386-win32/win32] Error 1 > Recompiling fpcsrc doesn't work. Please post the other messages before the error message.

Here are the messages,(removed some):

tachartlazaruspkg.pas(11,29) Hint: Unit "TASubcomponentsEditor" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(12,3) Hint: Unit "TATypes" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(12,12) Hint: Unit "TADrawUtils" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(13,34) Hint: Unit "TACustomSource" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(13,50) Hint: Unit "TAGeometry" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(14,51) Hint: Unit "TAChartAxisUtils" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(15,19) Hint: Unit "TAEnumerators" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(16,18) Hint: Unit "TAMath" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(17,3) Hint: Unit "TATextElements" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(17,19) Hint: Unit "TAAxisSource" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(17,54) Hint: Unit "TACustomFuncSeries" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(18,3) Hint: Unit "TAFitUtils" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(18,15) Hint: Unit "TAGUIConnector" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(18,31) Hint: Unit "TADiagram" not used in TAChartLazarusPkg
tachartlazaruspkg.pas(18,60) Hint: Unit "TADiagramLayout" not used in TAChartLazarusPkg
32577 lines compiled, 2.9 sec
5 warning(s) issued
47 hint(s) issued
11 note(s) issued
"Compiling package TAChartLazarusPkg 1.0" completed Hint: Start of reading config file /etc/fpc.cfg
Hint: End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 2.6.2 [2014/03/28] for i386 Copyright (c) 1993-2012 by Florian Klaempfl and others Target OS: Win32 for i386
Compiling todolistlaz.pas
Compiling tododlg.pas
Compiling todolist.pas
Compiling todoliststrconsts.pas
Writing Resource String Table file: todoliststrconsts.rst todolist.pas(153,27) Hint: Parameter "Sender" not used todolist.pas(154,24) Hint: Parameter "Sender" not used todolist.pas(155,27) Hint: Parameter "Sender" not used todolist.pas(156,33) Hint: Parameter "Sender" not used todolist.pas(157,29) Hint: Parameter "Sender" not used todolist.pas(158,12) Hint: Parameter "Data" not used todolist.pas(159,31) Hint: Parameter "Sender" not used todolist.pas(152,26) Hint: Parameter "Sender" not used todolist.pas(150,29) Hint: Parameter "Sender" not used todolist.pas(149,31) Hint: Parameter "Sender" not used todolist.pas(151,32) Hint: Parameter "Sender" not used todolist.pas(182,22) Hint: Parameter "Sender" not used tododlg.pas(65,43) Hint: Parameter "Sender" not used tododlg.pas(67,31) Hint: Parameter "Sender" not used tododlg.pas(51,36) Hint: Parameter "Sender" not used tododlg.pas(50,26) Hint: Parameter "Sender" not used todolistlaz.pas(10,12) Hint: Unit "TodoList" not used in ToDoListLaz todolistlaz.pas(10,22) Hint: Unit "ToDoListStrConsts" not used in ToDoListLaz
1163 lines compiled, 0.7 sec
20 hint(s) issued
"Compiling package ToDoListLaz 1.0.2" completed
Free Pascal Compiler version 2.6.2 [2014/03/28] for i386 Copyright (c) 1993-2012 by Florian Klaempfl and others Target OS: Win32 for i386
Compiling turbopoweripro.pas
Compiling ipanim.pas
Compiling ipconst.pas
Writing Resource String Table file: ipconst.rst
Compiling ipfilebroker.pas
Compiling iputils.pas
Writing Resource String Table file: iputils.rst
Compiling iphtml.pas
Compiling iphtmltablist.pas
Compiling ipstrms.pas
ipstrms.pas(1308,22) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ipstrms.pas(1356,24) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ipstrms.pas(1358,29) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ipstrms.pas(1439,23) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ipstrms.pas(1487,25) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ipstrms.pas(1489,30) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
Compiling ipmsg.pas
Compiling iphtmlpv.pas
Writing Resource String Table file: iphtmlpv.rst
/usr/share/lazarus/1.2.0/components/turbopower_ipro/iphtml.pas(15896,6) Warning: User defined: Setting these font colors and name messes up the alignment for some reason
/usr/share/lazarus/1.2.0/components/turbopower_ipro/iphtml.pas(15914,7) Warning: User defined: TODO Set Font size from CSS Value 35010 lines compiled, 1.9 sec
8 warning(s) issued
"Compiling package TurboPowerIPro 1.0" completed
make: Entering directory `/usr/share/lazarus/1.2.0' /usr/bin/make -C ide idepkg
make[1]: Entering directory `/usr/share/lazarus/1.2.0/ide' /bin/mkdir -p ../units/i386-win32/win32
/bin/mkdir: cannot create directory `../units/i386-win32': Permission denied make[1]: *** [../units/i386-win32/win32] Error 1

How did you install the cross compiled units for win32?

You mean for these commands:

$ make all OS_TARGET=win32 CPU_TARGET=i386

and then

$ su -c "make crossinstall OS_TARGET=win32 CPU_TARGET=i386"

Instruction from:
http://wiki.lazarus.freepascal.org/Cross_compiling_for_Win32_under_Linux

Show quoted text 15 lines
> Also the reason why I upgraded to 1.2 is because I want also to target > both 1.0.14 and 1.2 emitted this error: > make[1]: *** [../units/i386-linux/gtk2] Error 1 > > Anybody experience this or have an idea? Mattias -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20140328/3b91b52c/attachment-0001.html> -------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4267 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20140328/3b91b52c/attachment-0001.bin>

Reply by email

Mattias Gaertner
to Allan E. Registos
Show quoted text 5 lines
[...] >> and can't locate the correct fpcsrc version > What is the correct fpcsrc version? During Lazarus startup, cannot find the correct location, I must say location of the fpcsrc installed.

The IDE searches all common places. Is one common place missing?

Show quoted text 8 lines
[...] make: Entering directory `/usr/share/lazarus/1.2.0' /usr/bin/make -C ide idepkg make[1]: Entering directory `/usr/share/lazarus/1.2.0/ide' /bin/mkdir -p ../units/i386-win32/win32 /bin/mkdir: cannot create directory `../units/i386-win32': Permission denied make[1]: *** [../units/i386-win32/win32] Error 1

Thanks.
The debian packages do not support cross compiling the IDE. Why do you want that?
You can cross compile the packages, which the IDE does automatically when you cross compile your project. No need to use "make" manually.

Mattias

Reply by email

Allan E. Registos
to Mattias Gaertner
Mattias Gaertner wrote 9 lines
On Fri, 28 Mar 2014 17:02:44 +0800 "Allan E. Registos" wrote: > [...] >>> and can't locate the correct fpcsrc version >> What is the correct fpcsrc version? > During Lazarus startup, cannot find the correct location, I must say > location of the fpcsrc installed. The IDE searches all common places. Is one common place missing?

I have .lazarus v 1.0.14 in my home directory. Uninstalled Lazarus 1.0.14 and install v 1.2, during startup, it uses that directory for environmental setup and now generates an error for locating FPC. My mistake of saying 'location', it still find the directory but failed to recognize that it was the correct directory, that prompted me to move .lazarus. I did not take a screenshot of the error, so I cannot recall of the exact wording, but I think anyone can reproduce the error generated by:
1. Install Lazarus 1.0.14(fpc/fpcsrc).
2. Uninstall only lazarus 1.0.14
3. Install 1.2 version
4. Run Lazarus and wait for the prompt and error at fpc tab during startup.

Show quoted text 12 lines
> [...] > make: Entering directory `/usr/share/lazarus/1.2.0' > /usr/bin/make -C ide idepkg > make[1]: Entering directory `/usr/share/lazarus/1.2.0/ide' > /bin/mkdir -p ../units/i386-win32/win32 > /bin/mkdir: cannot create directory `../units/i386-win32': Permission denied > make[1]: *** [../units/i386-win32/win32] Error 1 Thanks. The debian packages do not support cross compiling the IDE. Why do you want that?

Thank you.. I see. I am thinking that the (IDE) to get recompiled in order to support win32 objects.

You can cross compile the packages, which the IDE does automatically when you cross compile your project. No need to use "make" manually.

I see. Try to target win32 and now it works. Thank you for your help... Solved...

Show quoted text 8 lines
Mattias -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4267 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20140331/fa3c7038/attachment-0001.bin>

Reply by email