Recent

Author Topic: Lazarus and samba-mounts  (Read 6275 times)

wschulte

  • New Member
  • *
  • Posts: 34
Lazarus and samba-mounts
« on: August 22, 2011, 06:44:37 am »
My main environment is a Lazarus 0.9.30amd64 on an Ubuntu 11.04. Now to be able to create i386 programs too I created a virtual machine (Qemu/kvm) and installed Lazarus 0.9.30 i386 there. So far so good (well it took a bit).

Now as i don't want to replicate sources more then needed I created samba-mounts from the i386 accounts to the amd64 fiesystem. That works as expected but .. when i do a compile with Lazarus-i386, Lazarus complains it can't find units on the mount, but I can see them, I can modify them, delete them, create them ..
Copying the project to the "local" disk of the i386 installation lets me compile it without any problem and without any change (all paths in the project are relative, so thats easy).

Does Lazarus have a problem with samba-mounts ? I can't imagine it even tries to get to know on what kinda file-system a file resides.

wschulte

  • New Member
  • *
  • Posts: 34
Re: Lazarus and samba-mounts
« Reply #1 on: August 29, 2011, 06:14:12 pm »
Perhaps I need to be more specific (btw. in the mean time I switched from 0.9.30 to 0.9.28 with Lazarus for other reasons).

On the system the following mounts exist:
Code: [Select]
[tt]vmwschulte@vmubuntu:~$ mount -l
/dev/vda1 on / type ext4 (rw,errors=remount-ro,commit=0)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
[b][color=red]//192.168.122.1/wslazarus/ on /home/vmwschulte/lazarus type cifs (rw,mand)[/color][/b]
//192.168.122.1/warsoftlib/ on /usr/local/lib/warsoft type cifs (rw,mand)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/vmwschulte/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=vmwschulte)
vmwschulte@vmubuntu:~$
[/tt]

I can manipulate files (change/remove/delete/create) in
Code: [Select]
/home/vmwschulte/lazarus. But when i try to compile lazarus gives me this on an existing unit (but in need for a rebuild):
Code: [Select]
TCompiler.Compile WorkingDir="/home/vmwschulte/lazarus/pfcopy/Sources/" CompilerFilename="/usr/bin/fpc" CompilerParams=" -MObjFPC -Cirot -O1 -gl -Xs -vewnhi -l -Fi/home/vmwschulte/lazarus/pfcopy/Sources/lib/i386-linux/ -Fu/home/vmwschulte/lazarus/WASLibrary/lib/x86_64-linux/ -Fu/usr/local/lib/warsoft/waslibrary/lib/i386-linux/ -Fu/usr/lib/lazarus/0.9.28.2/lcl/units/i386-linux/ -Fu/usr/lib/lazarus/0.9.28.2/lcl/units/i386-linux/gtk2/ -Fu/usr/lib/lazarus/0.9.28.2/packager/units/i386-linux/ -Fu/home/vmwschulte/lazarus/pfcopy/Sources/ -Fu. -FU/home/vmwschulte/lazarus/pfcopy/Sources/lib/i386-linux/ -FE/home/vmwschulte/lazarus/pfcopy/Sources/lib/i386-linux/ -opfcopy -dLCL -dLCLgtk2 pfcopy.lpr"
[TCompiler.Compile] CmdLine="/usr/bin/fpc  -MObjFPC -Cirot -O1 -gl -Xs -vewnhi -l -Fi/home/vmwschulte/lazarus/pfcopy/Sources/lib/i386-linux/ -Fu/home/vmwschulte/lazarus/WASLibrary/lib/x86_64-linux/ -Fu/usr/local/lib/warsoft/waslibrary/lib/i386-linux/ -Fu/usr/lib/lazarus/0.9.28.2/lcl/units/i386-linux/ -Fu/usr/lib/lazarus/0.9.28.2/lcl/units/i386-linux/gtk2/ -Fu/usr/lib/lazarus/0.9.28.2/packager/units/i386-linux/ -Fu/home/vmwschulte/lazarus/pfcopy/Sources/ -Fu. -FU/home/vmwschulte/lazarus/pfcopy/Sources/lib/i386-linux/ -FE/home/vmwschulte/lazarus/pfcopy/Sources/lib/i386-linux/ -opfcopy -dLCL -dLCLgtk2 pfcopy.lpr"
Hint: Start of reading config file /etc/fpc.cfg
Hint: End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 2.4.0-2ubuntu3.1 [2011/06/17] for i386
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for i386
Compiling pfcopy.lpr
[b][color=red]Fatal: Can't find unit Unitpfcopy used by pfcopy[/color][/b]

It drives me nuts. When I copy a series of units on the location it will complain about another file on another mount it can't find.

Is Lazarus or FPC checking on filesystems/mounts etc. ? I don;t hope so, but it looks like it. In the source editor I can easily change the sourcefile, but build it isn't possible due to these "Can't find" errors  :o

Does anybody have a solution to this ?

Bart

  • Hero Member
  • *****
  • Posts: 5676
    • Bart en Mariska's Webstek
Re: Lazarus and samba-mounts
« Reply #2 on: August 30, 2011, 10:24:29 am »
Typically these "cannot find unit x" error messages indicate that the .ppu fpc finds is not from the exact same fpc version as you are currently using.

This can be caused by leftovers of older fpc installations, or you did not use the same compiler (architecture?) on the virual machine.

You can use the -va parameter which will cause a lot of output, but also shows what fpc.cfg fpc uses, and where it looked for the .ppu files.

Bart

wschulte

  • New Member
  • *
  • Posts: 34
Re: Lazarus and samba-mounts
« Reply #3 on: August 31, 2011, 10:04:14 pm »
Bart, thanks so much for the -va option ! That brought me further. Indeed there was something left of the previous version of the compiler.

Now I can carry on. Thanks a lot on this one.

 

TinyPortal © 2005-2018