[Vm-dev] Accessing ux2sqPath and sq2uxPath

Tobias Pape Das.Linux at gmx.de
Wed Aug 15 19:34:02 UTC 2018


Hi  Alistair
> 
> On 15.08.2018, at 21:30, Alistair Grant <akgrant0710 at gmail.com> wrote:
> 
> 
> Hi Everyone,
> 
> So that path names are encoded correctly on MacOS, the
> FileAttributesPlugin needs to use ux2sqPath() and sq2uxPath().
> 
> On linux this "just works".  If I've read the build log correctly the
> functions are included in vm.a, which is included when linking external
> plugins.
> 
> However I'm not able to get the symbols resolved on MacOS.

You're sure you want the Mac OS folder (ie, legacy Carbon MacOS) and not
the iOS folder (ie, Cocoa OSX/macOS/iOS)?

Best regards
	-Tobias

> 
> The routines are defined in:
> 
> platforms/Mac OS/plugins/FilePlugin/sqMacUnixFileInterface.c
> 
> 
> declared in:
> 
> platforms/Mac OS/plugins/FilePlugin/sqMacUnixFileInterface.h
> 
> 
> and are accessed in:
> 
> platforms/Mac OS/vm/sqMacNSPluginUILogic2.c
> platforms/Mac OS/vm/sqMacImageIO.c
> platforms/Mac OS/vm/sqMacMain.c
> 
> 
> The following lines in build.macos64x64/common/Makefile.vm
> look like they provide the required magic:
> 
> PluginIncludes := FilePlugin HostWindowPlugin SoundPlugin
> OSPluginIncludes := FilePlugin HostWindowPlugin SoundPlugin
> 
> 
> I attempted to create a plugin makefile:
> 
> platforms/Mac OS/plugins/FileAttributesPlugin/Makefile.plugin:
> #
> # FileAttributesPlugin uses sq2uxPath() and ux2sqPath(), provided by FilePlugin
> #
> #
> include ../common/Makefile.plugin
> PluginIncludes += FilePlugin
> 
> however this still results in:
> 
> Undefined symbols for architecture x86_64:
> 
>  "_sq2uxPath", referenced from:
> 
>      _squeakPathtoUnixmaxLen in FileAttributesPlugin.lib(FileAttributesPlugin.o)
> 
>  "_ux2sqPath", referenced from:
> 
>      _primitiveReaddir in FileAttributesPlugin.lib(FileAttributesPlugin.o)
> 
> ld: symbol(s) not found for architecture x86_64
> 
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> 
> make: *** [build/vm/Squeak] Error 1
> 
> 
> The full source is available at:
> https://github.com/akgrant43/opensmalltalk-vm/tree/FileAttributes133
> 
> 
> Any suggestions?
> 
> 
> Thanks very much,
> Alistair



More information about the Vm-dev mailing list