Lazarus and samba-mounts lazarus / 1-Linux ---------------------------------------------------------------------- wschulte · 2011-08-22 04:44 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 · 2011-08-29 16:14 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  Does anybody have a solution to this ? ---------------------------------------------------------------------- Bart · 2011-08-30 08:24 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 · 2011-08-31 20:04 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.