[Vm-dev] Missing requirements for libBochsIA32Plugin on Osx32 pharo builds

Eliot Miranda eliot.miranda at gmail.com
Wed Jan 16 17:11:37 UTC 2019


Hi Guille,


> On Jan 16, 2019, at 7:55 AM, Guillermo Polito <guillermopolito at gmail.com> wrote:
> 
> Hi,
> 
>> On Wed, Jan 16, 2019 at 4:41 PM Eliot Miranda <eliot.miranda at gmail.com> wrote:
>>  
>> Hi Guille,
>> 
>>> On Jan 16, 2019, at 4:33 AM, Guillermo Polito <guillermopolito at gmail.com> wrote:
>>> 
>>> Hi Eliot,
>>> 
>>> Ci builds for Pharo are failing on Osx
>>> 
>>> https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/builds/480327959?utm_source=github_status&utm_medium=notification
>>> 
>>> The problem seems to come from a missing requirement to build libBochsIA32Plugin.dylib, which makes the build of the librar to be skipped, and subsequently the VM build to fail.
>> 
>> That’s not the problem :-). The problem is that the build does not decide not to build libBochsIA32Plugin because the prerequisites are not present but instead fails.
>> 
>> Please read my message asking to add the plugins to plugins.ext and read the Mac makefiles in their treatment of the PREREQUISITES variable.  Those makefiles (and the other platform makefiles/autoconf scripts) are written to /not/ build the processor plugins unless the prerequisites have been built.
>> 
>> So the build specs, if they pay attention to plugins.ext, also need to pay attention to PREREQUISITES and not build any plugin which has any missing prerequisite.  Or if the build specs do not pay attention to plugins.ext, should simply exclude the processor plugins.
>> 
>> I did try and explain this in my message asking permission to add the processor plugins to plugins.ext.  I am sorry if my language is not clear.  Did I not communicate clearly or did you read superficially or...?  I want to understand so that we may communicate more effectively in the future and you not waste time encountering errors like this.
> 
> There is no problem. I just want some insight to fix the issue, not blaming :).

I’m not blaming either.  I’m just trying to improve my communication.

> That'll make me super happy.
> 
> The thing is that I kind of assumed that the makefiles and specs were already managing the  PREREQUISITES correctly and that the changes in the following commit were enough:
> 
> https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/494a823f2b55cb13f38eb2bd0788a00965405d6d 
> 
> So there may be some differences in the makefiles on the Pharo side that makes my assumptions to not hold.
> Just guessing here, but probably the PREREQUISITES support was introduced after the makefiles in the pharo.* tree were copied/created? No idea :).

IIRC I added the PREREQUISITES support to the build.macos*/common makefiles after the first version was in use but it was pretty early in the process.  The use case is to allow ACM developer to arrange that the processor plugins are built without forcing them to be in the product build.

> I'll check it later.
> 
> Thanks!
> 
>> 
>> 
>> Cheers, (sincerely)
>> Eliot
>> 
>>> 
>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make BUILD=build \
>>> -f /Users/travis/build/OpenSmalltalk/opensmalltalk-vm/platforms/iOS/plugins/BochsIA32Plugin/Makefile MAKEFILE=/Users/travis/build/OpenSmalltalk/opensmalltalk-vm/platforms/iOS/plugins/BochsIA32Plugin/Makefile \
>>> CONFIGURATION=product ARCH=i386 \
>>> PLATDIR=../../platforms PLUGINSRCDIR=../../src/plugins VMSRCDIR=../../spursrc/vm \
>>> LIBNAME=libBochsIA32Plugin COGDEFS="-DPharoVM=1" \
>>> APP=Pharo.app VM=Pharo BLDDIR=build USEPLUGINASDYLIB=TRUE \
>>> THIRDPARTYOUTDIR=/Users/travis/build/OpenSmalltalk/opensmalltalk-vm/.thirdparty-cache/macOS/i386 \
>>> \
>>> build/vm/libBochsIA32Plugin.dylib
>>> $(LIBNAME): libBochsIA32Plugin
>>> ../common/Makefile.plugin:238: build/vm/libBochsIA32Plugin.dylib has missing prerequisites. Not building.
>>> echo >build/vm/libBochsIA32Plugin.ignore
>>> cp -p build/vm/libBochsIA32Plugin.dylib Pharo.app/Contents/MacOS/Plugins
>>> cp: build/vm/libBochsIA32Plugin.dylib: No such file or directory
>>> make: *** [Pharo.app/Contents/MacOS/Plugins/libBochsIA32Plugin.dylib] Error 1
>>> 
>>> I see that the same in squeak builds just keeps going.
>>> Some difference in the makefiles? Any idea?
>>> 
>>> Thanks,
>>> Guille
> 
> 
> -- 
>    
> Guille Polito
> Research Engineer
> Centre de Recherche en Informatique, Signal et Automatique de Lille
> CRIStAL - UMR 9189
> French National Center for Scientific Research - http://www.cnrs.fr
> 
> Web: http://guillep.github.io
> Phone: +33 06 52 70 66 13
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20190116/c5e7ffe4/attachment.html>


More information about the Vm-dev mailing list