Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
Thanks to all who responded to my plea for help with multi-platform development. It seems that I was mistaken about the time-stamps causing the problems I encountered. The problems were caused by the fact that Lazarus for Linux wants case sensitive file names and the NTFS driver I was using was case insensitive. The erroneous behavior that I was seeing was due to capitalization in unit names, not time-stamps. The solution (as suggested by John Landmesser) was to use ntfs-3g (I put it into fstab and added my own uid/gid to avoid permission problems. fstab would not have been the proper solution if there were more than one user on the computer). I also took the suggestion to use separate directories for the windows and linux project files. This separated the object and executable files between the two systems as well. I also found a windows driver for ext4 that does not corrupt the ext4 file system. It is available from Paragon Software (free for personal use, reasonably priced for commercial use). It was suggested that I use svn for file sharing between windows and linux. I actually use git for all my source control, but it did not solve the mixed case file name issue that was actually causing my problem between the two OSes. Again, many thanks for all the great help. Don Ziesig -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
El 07/02/15 a les 02:18, Donald Ziesig ha escrit: > one user on the computer). I also took the suggestion to use separate > directories for the windows and linux project files. This separated the > object and executable files between the two systems as well. This shouldn't be necessary, just set lib/$(TargetCPU)-$(TargetOS) in the "Unit output directory (-FU)", under Project->Project options->Compiler options->Paths (which should be the default). Bye -- Luca Olivetti Wetron Automation Technology http://www.wetron.es Tel. +34 935883004 Fax +34 935883007 -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
On Sat, Feb 7, 2015 at 3:21 AM, Luca Olivetti wrote: > El 07/02/15 a les 02:18, Donald Ziesig ha escrit: > > > > one user on the computer). I also took the suggestion to use separate > > directories for the windows and linux project files. This separated the > > object and executable files between the two systems as well. > > > This shouldn't be necessary, just set > > lib/$(TargetCPU)-$(TargetOS) > > in the "Unit output directory (-FU)", under Project->Project > options->Compiler options->Paths > > (which should be the default). > > > Bye > -- > Luca Olivetti > Wetron Automation Technology http://www.wetron.es > Tel. +34 935883004 Fax +34 935883007 > > - > If there is no change : .lpi files are saved with respect to OS , means on each save , .lpi file of other OS is broken . During load of .lpi files , OS difference is not taken into account . Therefore , .lpi files should be maintained in respective OS directories . Thank you very much . Mehmet Erol Sanliturk -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
On Sat, Feb 7, 2015 at 2:18 AM, Donald Ziesig wrote: > It was suggested that I use svn for file sharing between windows and linux. > I actually use git for all my source control, but it did not solve the mixed > case file name issue that was actually causing my problem between the two > OSes. I always have all my source files lowercase. In my company (where they dont use Pascal) they also do it like that, so I guess its a general problem. -- Felipe Monteiro de Carvalho -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
On Sat, 7 Feb 2015 07:40:06 -0800 Mehmet Erol Sanliturk wrote: >[...] > If there is no change : > > .lpi files are saved with respect to OS , means on each save , .lpi file of > other OS is broken . > > During load of .lpi files , OS difference is not taken into account . > > Therefore , .lpi files should be maintained in respective OS directories . I don't understand. All 352 lpi files of the Lazarus sources are used cross platform. Why does it not work for yours? Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
On Sat, Feb 7, 2015 at 3:45 PM, Mattias Gaertner wrote: > On Sat, 7 Feb 2015 07:40:06 -0800 > Mehmet Erol Sanliturk wrote: > > >[...] > > If there is no change : > > > > .lpi files are saved with respect to OS , means on each save , .lpi file > of > > other OS is broken . > > > > During load of .lpi files , OS difference is not taken into account . > > > > Therefore , .lpi files should be maintained in respective OS directories > . > > I don't understand. All 352 lpi files of the Lazarus sources > are used cross platform. Why does it not work for yours? > > Mattias > > -- > OS differences are not the .lpi XML file format , but file names of the project related source file names . Some years ago , even I have sent a message to Lazarus mailing list about that issue . In the same directory , for example , in an NFS directory : When an .lpi file is loaded in an OS , file names recorded in other OSes are causing trouble . During save of an .lpi file , Lazarus is saving the .lpi file in its current OS structure , by breaking the .lpi for the other OSes . To prevent such a conflict , it is necessary to introduce into .lpi file name components a new field : During loading an .lpi file ALL of the components should be loaded , and relevant ones to OS should be used ( the other should be kept and any message should not be issued about them ) , and on save , ALL of the components should be saved with changes applied only to current OS components . Since there is no such a structure , it is necessary to use different directories and .lpi files for the same project with common source directories ( with different compiled parts directories ) . Thank you very much . Mehmet Erol Sanliturk -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
On Sat, 7 Feb 2015 17:45:58 -0800 Mehmet Erol Sanliturk wrote: >[...] > In the same directory , for example , in an NFS directory : > > When an .lpi file is loaded in an OS , file names recorded in other OSes > are causing trouble . For example? > During save of an .lpi file , Lazarus is saving the .lpi file in its > current OS structure , by breaking the .lpi for the other OSes . For example? Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
On Sun, Feb 8, 2015 at 2:47 AM, Mattias Gaertner wrote: > On Sat, 7 Feb 2015 17:45:58 -0800 > Mehmet Erol Sanliturk wrote: > > >[...] > > In the same directory , for example , in an NFS directory : > > > > When an .lpi file is loaded in an OS , file names recorded in other OSes > > are causing trouble . > > For example? > > > During save of an .lpi file , Lazarus is saving the .lpi file in its > > current OS structure , by breaking the .lpi for the other OSes . > > For example? > > Mattias > > -- > ___ > > > To use a same source tree from different operating systems , it is necessary to use a server , such as NFS ( which is located on a Unix server , I could not create a NFS server in Windows ) . To access from Windows to a NFS server , it is necessary to use a Samba server in the NFS server ( I could not create a NFS client in Windows ) . The above structure means , the same source files are in "different" locations in different client computers with respect to mount points ( for example , in Linux /home/... , in FreeBSD /usr/home/... , in Windows H:\... ) . When the SAME .lpi is loaded in an operating system which is containing file names set in another operating system is producing error messages during loading because there is no such files in that operating system . Assume , "incorrect" file names are corrected at the .lpi when loaded , and saved . Another operating system is starting to give error messages during loading the same .lpi file , because it is not able to find the specified files because there is no any such directories in itself . To remedy this mix up is to use different directories and .lpi files with respect to operating systems for the same source tree . Another remedy may be to use a "Web site" instead of an NFS server in the server and use URL for file names in everywhere such as .lpi , units and .cfg files similar to Go language . Such a facility will also allow use of sources staying in any web server at the same source tree . Thank you very much . Mehmet Erol Sanliturk -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
On 2/8/15, Mehmet Erol Sanliturk wrote: > The above structure means , the same source files are in "different" > locations in different client computers with respect to mount points ( for > example , in Linux /home/... , in FreeBSD /usr/home/... , in Windows H:\... > ) . You should not have absolute paths in your .lpi. None of my project have and they build without modification on all targets. Bart -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
On Sun, Feb 8, 2015 at 4:18 AM, Bart wrote: > On 2/8/15, Mehmet Erol Sanliturk wrote: > > > The above structure means , the same source files are in "different" > > locations in different client computers with respect to mount points ( > for > > example , in Linux /home/... , in FreeBSD /usr/home/... , in Windows > H:\... > > ) . > > You should not have absolute paths in your .lpi. > None of my project have and they build without modification on all targets. > > Bart > > -- > ___ > Some file names are generated by Lazarus as complete paths . Therefore , they are not related to relative paths . Thank you very much . Mehmet Erol Sanliturk -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
On Sun, 8 Feb 2015 06:40:39 -0800 Mehmet Erol Sanliturk wrote: >[...] > Some file names are generated by Lazarus as complete paths . For example? > Therefore , they are not related to relative paths . Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
On Sun, Feb 8, 2015 at 10:41 AM, Mattias Gaertner wrote: > On Sun, 8 Feb 2015 06:40:39 -0800 > Mehmet Erol Sanliturk wrote: > > >[...] > > Some file names are generated by Lazarus as complete paths . > > For example? > > > Therefore , they are not related to relative paths . > > Mattias > > -- > For a long time , I am not using a common .lpi file for different operating systems , but I looked at existing .lpi files in different operating systems ( FreeBSD , Linux , Windows ) , they are containing "/usr/home/..." "/home/.../" "H:\..." which I never write them myself , because I am always using relative paths in everywhere including unit source file includes : {$I ../.. ... } . Since a very long time , I am never using \ in file names started in Windows . I do not know internals of Lazarus , I do not know when it is generating such file names and why . Thank you very much . Mehmet Erol Sanliturk -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]
On Sun, 8 Feb 2015 14:41:45 -0800 Mehmet Erol Sanliturk wrote: >[...] > For a long time , I am not using a common .lpi file for different > operating systems , > but I looked at existing .lpi files in different operating systems ( > FreeBSD , Linux , Windows ) , > they are containing > > "/usr/home/..." > "/home/.../" > "H:\..." These are probably from you session data, which you can store separately (Project Options / Session / Save session information). For projects using svn or git choose "Save lps in project directory". For projects using shared mounts, choose "Save lps in IDE config directory". New projects are created with the first option (project directory). Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus