Re: [Lazarus] Developing on Linux with files on Windows NTFS {Solved]

2015-02-06 Thread Donald Ziesig
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]

2015-02-07 Thread Luca Olivetti
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]

2015-02-07 Thread Mehmet Erol Sanliturk
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]

2015-02-07 Thread Felipe Monteiro de Carvalho
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]

2015-02-07 Thread Mattias Gaertner
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]

2015-02-07 Thread Mehmet Erol Sanliturk
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]

2015-02-08 Thread Mattias Gaertner
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]

2015-02-08 Thread Mehmet Erol Sanliturk
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]

2015-02-08 Thread Bart
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]

2015-02-08 Thread Mehmet Erol Sanliturk
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]

2015-02-08 Thread Mattias Gaertner
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]

2015-02-08 Thread Mehmet Erol Sanliturk
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]

2015-02-09 Thread Mattias Gaertner
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