← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] kiface app bundle

 

Marco,

Thank you for your reply.
I can live with the symlinks. I will add them to my script until it can be done with the cmake.
I will post a bug report about the pop-up error message. It should be possible to create a new message
box (child of the current) and overload the creation of the text-box with a scrolling text-box. I will have to look at the
wxwidgets API.
About the nonane.pro, I think it might be a work-around by loading an existing project before doing anything. so the nonane.pro
might not be saved at all.

I need help to complete the update of the cake process to include the install with “make install”. This would be a much better process that is easy to customize with variables passed to the cmake.
I need to learn more about the cmake.

Jean-Paul
AC9GH

On Apr 30, 2014, at 6:18 AM, Marco Serantoni <marco.serantoni@xxxxxxxxx> wrote:

> Jean-Paul,
> About missin kifaces, that was the reason why i've asked you to use r4835, that does that links.
> 
> - About noname.pro issue, i can agree with you, where it should be placed for you ? This would be a special code for OSX, that is not well seen by other platform developers.
> - On the message box, this is wx-widget standard widget i dubt we can insert scrollbars, probably could be easier truncate the output.
> 
> On those two issues at the moment I can't help you.
> 
> --
> Marco
> 
> 
> On Wed, Apr 30, 2014 at 12:24 AM, Jean-Paul Louis <louijp@xxxxxxxxx> wrote:
> Marco,
> 
> When I added the 3 relative symlinks in the kicad.app/Contents/MacOS directory, things got much better.
> 
> 
> jean-pauls-mbp:MacOS jean-paullouis$ ls -al
> total 2144
> drwxr-xr-x  6 jean-paullouis  admin      204 Apr 29 18:12 .
> drwxr-xr-x  6 jean-paullouis  admin      204 Apr 29 17:21 ..
> lrwxr-xr-x  1 jean-paullouis  admin       47 Apr 29 18:11 _cvpcb.kiface -> ../../../cvpcb.app/Contents/MacOS/_cvpcb.kiface
> lrwxr-xr-x  1 jean-paullouis  admin       53 Apr 29 18:07 _eeschema.kiface -> ../../../eeschema.app/Contents/MacOS/_eeschema.kiface
> lrwxr-xr-x  1 jean-paullouis  admin       49 Apr 29 18:12 _pcbnew.kiface -> ../../../pcbnew.app/Contents/MacOS/_pcbnew.kiface
> -rwxr-xr-x  1 jean-paullouis  admin  1083644 Apr 29 17:21 kicad
> 
> Now, at least the 3 apps (eeschema, cvpcb and pcbnew) are behaving much better.
> 
> But I found a new issue with the error messages.
> When I start cvpcb, I get first an error message that is bigger than my Mac Height. So there is no way to close that message with a click of the mouse. The only way is to press “Return” on the keyboard.
> I think that this kind of error message should have a scroller widget is the size become larger than the height of he screen.
> 
> <PastedGraphic-5.png>
> 
> Jean-Paul
> AC9GH
> 
> 
> 
> 
> On Apr 29, 2014, at 5:50 PM, Jean-Paul Louis <louijp@xxxxxxxxx> wrote:
> 
>> Marco,
>> 
>> I just tried your method of NOT USING “make install” and the build completed, but there is an important snag.
>> 
>> <BuildKicad-OSX>
>> When I start kicad, it create an empty project “noname.pro” in the /Applications/kicad directory. that should never happen, no data files should go there.
>> 
>> <PastedGraphic-1.png>
>> 
>> But I cannot find anywhere in my hard drive the file shown above
>> 
>> jean-pauls-mbp:Soft_Dev jean-paullouis$ cd /Applications/KiCad
>> jean-pauls-mbp:KiCad jean-paullouis$ ls -al
>> total 16
>> drwxr-xr-x  13 jean-paullouis  admin   442 Apr 29 17:21 .
>> drwxrwxr-x+ 96 root            admin  3264 Apr 19 23:31 ..
>> -rw-r--r--@  1 jean-paullouis  admin  6148 Apr 29 17:21 .DS_Store
>> drwxr-xr-x   3 jean-paullouis  admin   102 Apr 29 17:21 bitmap2component.app
>> drwxr-xr-x   3 jean-paullouis  admin   102 Apr 29 17:21 cvpcb.app
>> drwxr-xr-x   3 jean-paullouis  admin   102 Apr 29 17:21 eeschema.app
>> drwxr-xr-x   3 jean-paullouis  admin   102 Apr 29 17:21 gerbview.app
>> drwxr-xr-x   3 jean-paullouis  admin   102 Apr 29 17:21 kicad.app
>> drwxr-xr-x   3 root            admin   102 Apr 17 13:35 lib
>> drwxr-xr-x   3 jean-paullouis  admin   102 Apr 29 17:21 pcb_calculator.app
>> drwxr-xr-x   3 jean-paullouis  admin   102 Apr 29 17:21 pcbnew.app
>> drwxr-xr-x   3 jean-paullouis  admin   102 Apr 29 17:21 pl_editor.app
>> drwxr-xr-x   8 root            admin   272 Apr 17 13:35 share
>> jean-pauls-mbp:KiCad jean-paullouis$
>> 
>> 
>> So,I load my current project
>> 
>> <PastedGraphic-2.png>
>> 
>> Now I click on the eeschema icon. and I get
>> 
>> <PastedGraphic-3.png>
>> 
>> 17:43:58: dlopen(/Applications/KiCad/kicad.app/Contents/MacOS/_eeschema.kiface, 2): image not found
>> 17:43:58: IO_ERROR: Fatal Installation Bug
>> missing file:
>> '/Applications/KiCad/kicad.app/Contents/MacOS/_eeschema.kiface'
>> 
>> argv[0]:
>> '/Applications/KiCad/kicad.app/Contents/MacOS/kicad'
>> from /Users/jean-paullouis/Soft_Dev/kicad-build/common/kiway.cpp : KiFACE() : line 203
>> 
>> But the kiface file is in the right place
>> <PastedGraphic-4.png>
>> 
>> 
>> So when I click OK on the error pop-up, kicad crashes.
>> 
>> What should I do now? If I follow your method, nothing works.
>> 
>> Please advise.
>> 
>> Jean-Paul
>> AC9GH
>> 
>> 
>> 
>> 
>> 
>> On Apr 29, 2014, at 5:52 AM, Marco Serantoni <marco.serantoni@xxxxxxxxx> wrote:
>> 
>>> Jean-Paul,
>>> Ok, i try to re-state: you weren't supposed to do a make install, just copy the binaries/bundle in place.
>>> On OSX all what you need have be inside the bundles, is how the system work and users expect, since there is no need for /usr/share or other things there is need to issue a make install, is enough copy the .app where you want (Installation Directory; DMG; or any other distributing package).
>>> All what is outside kicad.app, eeschema.app, etc are not to be distribuited (so no 3 releases of files).
>>> 
>>> The issue with kicad.app has started with release 4807 (10 days ago) when was kifaced (previous was not).
>>> There is no radical departure from apple concept of bundle, the issue was how to make symbolic link from eeschema.app from the building tree that still valid also when deployed in the final destination.
>>> 
>>> There can be several approaches for the symbolic link:
>>> Use an absolute path like /Application/Kicad/eeschema.app/[...]/eeschema.kiface, that restrict where to place the binaries: will create more problems than the one he fix, users on OSX has not a fixed path where to place binaries/bundles there is the high risk that those will point to nowhere, moreover borns an issues for developers: they have to install the application to debug or develop.
>>> Develop an application doing an install each time will be really time consuming and not pratical at all.
>>> 
>>> Relative path:
>>> The use of the relative link is fine and is what i've used: the issue here is 1 level of difference between the repository where you build and install place, where all the bundle/binaries are at the same level.
>>> 
>>> $REPOSITORY/eeschema/eeschema.app
>>> $REPOSITORY/kicad/kicad.app
>>> 
>>> Versus
>>> 
>>> $INSTALLDIR/eeschema.app
>>> $INSTALLDIR/kicad.app
>>> 
>>> That means that the number of ".." will be different in relative symbolic link.
>>> 
>>> I've solved this doing symbolic links in the $REPOSITOR/kicad/ to applications making it as they were installed, then link them, moreover this solution makes the developer also be able to test the application buttons in place.
>>> 
>>> After applications link you will find
>>> 
>>> $REPOSITORY/kicad/kicad.app
>>> $REPOSITORY/kicad/eeschema.app -> ../eeschema/eeschema.app
>>> 
>>> Then you are able to do the right symbolik link.
>>> 
>>> Regarding the distribution, i can assure that since 2009 binaries could be shipped in a single dmg, .zip, .tar.gz.
>>> I can also assure you that there are a much more packagers than developers on OSX, if they find difficult do a copy instead a 'make install' to ease the developer work and let they work better they will be much more frustrated soon.
>>> 
>>> Bye,
>>> 
>>> --
>>> Marco
>>> 
>>> 
>>> On Tue, Apr 29, 2014 at 3:01 AM, Jean-Paul Louis <louijp@xxxxxxxxx> wrote:
>>> Marco,
>>> 
>>> It looks like the previous problem has been fixed, and I am now able to complete the build.
>>> I just finished to build the BZR4837 without trouble.
>>> I understand what you said about the install. but the cake process is not working right.
>>> During the "make install", a “bin" directory is added to the default install directory.
>>> The apps should be in /Applications/Kicad/, but the "make install” put them in
>>> /Applications/Kicad/bin/. That’s why I said that the install process is broken.
>>> I made cmake use "/Applications/Kicad" by adding the switch
>>>  -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR to cmake and I add previously set
>>> INSTALL_DIR to /Applications/Kicad in my script.
>>> So the part of cmake that needs to be fixed is the area where the /bin is added to the install path.
>>> It is ok to have for UNIX, but not for APPLE. Then, at the end,  we need to fix the kicad bundle.
>>> Symbolic links is one way to fix the kiface issue with an Apple bundle. I also understand that
>>> kiface concept is a radical departure from the Apple concept of bundle, but Dick idea of the symlinks
>>> worked nicely when I tested it. I need to consolidate all the experiments that we did into a single document
>>> explaining how to fix the broken process until we can fix the cmake for kicad on OS X.
>>> 
>>> I am willing to help testing the OS X builds until we can make a package (DMG) for easy distribution.
>>> Then we might get more leverage as OS X users if more people use Kicad on OS X.
>>> A lot of people using Mac OS X are frustrated because they do not find a decent version of Kicad.
>>> So they go use other CAD software like Eagle, GEDA, and many others that are nowhere near the performance
>>> of Kicad.
>>> 
>>> Jean-Paul
>>> 
>>> 
>>> On Apr 28, 2014, at 4:46 PM, Marco Serantoni <marco.serantoni@xxxxxxxxx> wrote:
>>> 
>>>> 
>>>> On 28/apr/2014, at 19:25, Jean-Paul Louis <louijp@xxxxxxxxx> wrote:
>>>> 
>>>> Jean-Paul,
>>>> You should try bzr 4835, look to ML “OSX - Issue with the last Compiler Update”, as you see is not always simple to keep up the ML.
>>>> I’ve waited you on IRC until 1am Local time, then i’m an Human i need sleeptime too.
>>>> 
>>>> You weren’t supposed to use install as i said to you in the mails you have to just copy the only bundles in place, in the case zip/package them for further distribution.
>>>> I’ve also suggested to you to use cp.
>>>> 
>>>> If you want to shortcut exec from the repository build root:
>>>> mkdir -p /Applications/Kicad
>>>> cp -R ./bitmap2component/bitmap2component.app /Applications/Kicad
>>>> cp -R ./cvpcb/cvpcb.app /Applications/Kicad
>>>> cp -R ./eeschema/eeschema.app /Applications/Kicad
>>>> cp -R ./gerbview/gerbview.app /Applications/Kicad
>>>> cp -R ./kicad/kicad.app /Applications/Kicad
>>>> cp -R ./pagelayout_editor/pl_editor.app /Applications/Kicad
>>>> cp -R ./pcb_calculator/pcb_calculator.app /Applications/Kicad
>>>> cp -R ./pcbnew/pcbnew.app /Applications/Kicad
>>>> 
>>>> Bye,
>>>> —
>>>> Marco
>>>> 
>>>>> Marco,
>>>>> 
>>>>> I have been working on the Mac OS X build for quite a while now, and I was successful in the build.
>>>>> The weak part was the install, as the default install was installing the bundles in /usr/local/bin which is wrong for Apple OS X.
>>>>> So I added a “-DCMAKE_INSTALL_PREFIX=$INSTALL_DIR” in my script with INSTALL_DIR=/Applications/KiCad.
>>>>> The Cmake was still wrong because the bundles were installed in "/Applications/KiCad/bin” instead of “/Applications/KiCad”.
>>>>> Adam Wolf helped me to have the script running as it is described in the file you mentioned in your previous email.
>>>>> I succeeded the first time February 27th, and I posted an email here, so you can find it in the ML archive.
>>>>> On March 13th, you told me to connect on IRC. I went there, and waited for hours without anyone ever talking. I only saw a bunch of users all asleep, maybe that was because of the time difference between USA and Europe.
>>>>> We had several emails between you, Adam and me around from March 21st to March 26th, so I progressed in my build. That is the period when Dick started to help me.
>>>>> 
>>>>> I modified my script to move the files to the right place, and that was not good enough. That’s when Dick helped me a lot to understand what was wrong. I posted all the steps in this mailing list, so you should have been made aware of the issues
>>>>> few weeks ago.
>>>>> 
>>>>> As of today, the OS X build (BZR4830) is broken again.
>>>>>                  ^
>>>>> 174 warnings and 2 errors generated.
>>>>> make[2]: *** [pcbnew/router/CMakeFiles/pnsrouter.dir/pns_router.cpp.o] Error 1
>>>>> make[1]: *** [pcbnew/router/CMakeFiles/pnsrouter.dir/all] Error 2
>>>>> make: *** [all] Error 2
>>>>> Mon Apr 28 12:30:08 EDT 2014
>>>>> 
>>>>> Building KiCad for OS X took 0:17:09.
>>>>> 
>>>>> jean-pauls-mbp:Soft_Dev jean-paullouis$ cat ~/Soft_Dev/kicad-build/version.h | grep BZR
>>>>> #define KICAD_BUILD_VERSION "(2014-04-25 BZR 4830)"
>>>>> jean-pauls-mbp:Soft_Dev jean-paullouis$ 
>>>>> 
>>>>> Will you help to fix this?
>>>>> 
>>>>> Jean-Paul
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> On Apr 28, 2014, at 8:26 AM, Marco Serantoni <marco.serantoni@xxxxxxxxx> wrote:
>>>>> 
>>>>>> realized
>>>>> 
>>>> 
>>> 
>>> 
>> 
> 
> 


Follow ups

References