On 05/23/2014 12:31 PM, Jean-Paul Louis wrote:
> Hi Bernhard,
> 
> I am attaching my script to this email.
> Some of the stuff in the script might not be needed anymore, but I will clean 
> it up when I have time.
> 
> After the “make” is finished, I skip the “make install” as it is not yet 
> capable to work.
> So I just copy the bundles (*.app) to "/Applications/kicad” (see towards the 
> end of the script).
> 
> Thanks to the help of Marco, Adam and even more so from Dick of the 
> development team, I simplified the script so it build to 100%, and Dick 
> modified the Cmake files to create the bundles with the kiface files  
> properly copied where they belongs.
> That might by why we have duplicate kiface files (seems to be the cause of 
> the error at the end of the “make”.
> 
> I will create the files for the ENV variables, and let you know how that 
> works.
> 
> Regards,
> Jean-Paul
> 
> 
> On May 23, 2014, at 10:59 AM, Bernhard Stegmaier stegma...@sw-systems.de 
> [kicad-users] <kicad-us...@yahoogroups.com> wrote:
> 
>> Hi Jean-Paul,
>>
>>
>> can you tell me what files have to be copied where?
>> I remember some discussions about copying/linking/whatever .kiface files 
>> that on the dev-list, but I didn’t find anything on first glance.
>> And yes, let’s try to fix this…
>>
>> With respect to setting the environment variables I did the following:
>> Using Linux-like ~/.profile, etc. files will set the variables only when 
>> launching from command-line… not from the dock/launcher.
>> To set a variable for the launcher I made in 
>> ~/Library/LaunchAgents
>> files named like
>> local.kicad.kisys3dmod.plist
>> which looks like
>> <?xml version="1.0" encoding="UTF-8"?>
>> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
>>     "http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
>> <plist version="1.0">
>> <dict>
>>     <key>Label</key>
>>     <string>local.kicad.kisys3dmod</string>
>>     <key>EnableGlobbing</key>
>>     <true/>
>>     <key>ProgramArguments</key>
>>     <array>
>>         <string>launchctl</string>
>>         <string>setenv</string>
>>         <string>KISYS3DMOD</string>
>>         <string>~/10 - Projekte/KiCad/Modules</string>
>>     </array>
>>     <key>RunAtLoad</key>
>>     <true/>
>> </dict>
>> </plist>
>> and in the case sets KISYS3DMOD variable. I did the same for the other 
>> variables I need (I didn’t find any solution to set more than one variable 
>> in a single file). The files will be loaded automatically on login (as far 
>> as I remember) or you can test them with “launchctl load …”. 
>> But caution: those files will only set it for the launcher, not the shell… 
>> while searching for that I found some shell scripting that can be added to 
>> e.g., .profile reading the values from launched so that you don’t have to 
>> maintain it in two places if you need that, but I didn’t need it so I don’t 
>> have a link at hand.
>>
>> This solution works well for me both on 10.8 and 10.9.
>>
>> The KiCadOSXBuilder creates a wrapper-script for setting the variables, but 
>> I didn’t like that approach, because for me those variables are 
>> machine-specific (especially the library stuff). 
>> So, it shouldn’t be hardcoded somewhere in the application bundle, but 
>> defined by the machine/account itself.
>>
>>
>> Regards,
>> Bernhard
>>
>> On 23.05.2014, at 16:27, Jean-Paul Louis lou...@yahoo.com [kicad-users] 
>> <kicad-us...@yahoogroups.com> wrote:
>>
>>> Hi Bernhard,
>>>
>>> I use OS X 10.9.2 and I keep trying the most recents BZR. I came to the 
>>> same conclusion about some failures due to duplicate work copying files 
>>> into the OS X bundles.
>>>
>>> I use a bash script fairly raw to copy the files from the build to the 
>>> /Applications/kicad directory.
>>> eeschema sort of work, but cannot find kicad.pro template.
>>> it does complain about a missing power lib twice, then load the project I 
>>> am working on as a test case.
>>> When I go to the preferences, nothing is loaded there, except a power lib 
>>> (the missing one) that I do not use, and a weird path like /usr/local/share.
>>>
>>> My next task is to figure out how to set the proper shell variables like 
>>> KISYSMOD, KIGITHUB, etc..
>>> because they are not set at all in my build.
>>>
>>> If you are interested, we can work together to fix what we can, as I do not 
>>> get any help from Marco Serantoni who is supposed to be the Mac OS X guru.
>>>
>>> Regards,
>>> Jean-Paul
>>> AC9GH
>>>
>>> On May 23, 2014, at 7:24 AM, Bernhard Stegmaier stegma...@sw-systems.de 
>>> [kicad-users] <kicad-us...@yahoogroups.com> wrote:
>>>
>>>> Hi Mac guys,
>>>>
>>>>
>>>> did anyone succeed to build and run a recent version on OSX (most likely 
>>>> after the modular kicad changes)?
>>>>
>>>> I tried to build some versions on both 10.8 and 10.9 machines using 
>>>> different versions of XCode during the last 2 weeks, but I didn’t succeed… 
>>>> :(
>>>> Compilation did work smoothly on all machines (configured with 
>>>> -DKICAD_BUILD_STATIC=ON and having disabled scripting and github plugin - 
>>>> just as I did with all the previous versions I have built) after a small 
>>>> patch of aMakefile (see end of the mail, I think this is just a leftover 
>>>> because the file that should be copied by that piece of code is already at 
>>>> the right spot…).
>>>> But, all binaries (except kicad) don’t work on any of my machines. 
>>>>
>>>> They start and immediately crash with a backtrace like this:
>>>> <<<
>>>> Exception Type:  EXC_CRASH (SIGABRT)
>>>> Exception Codes: 0x0000000000000000, 0x0000000000000000
>>>>
>>>> Application Specific Information:
>>>> abort() called
>>>> *** error for object 0x108e2c0f0: pointer being freed was not allocated
>>>>
>>>>
>>>> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
>>>> 0   libsystem_kernel.dylib         0x00007fff8ae51866 __pthread_kill + 10
>>>> 1   libsystem_pthread.dylib        0x00007fff8dbd435c pthread_kill + 92
>>>> 2   libsystem_c.dylib              0x00007fff8e2c8b1a abort + 125
>>>> 3   libsystem_malloc.dylib         0x00007fff91e2b07f free + 411
>>>> 4   org.kicad-eda.pcbnew           0x0000000100008c3e 
>>>> wxScopedCharTypeBuffer<char>::DecRef() + 62
>>>> 5   org.kicad-eda.pcbnew           0x00000001000bbff7 
>>>> wxScopedCharTypeBuffer<char>::MakeOwnedCopyOf(wxScopedCharTypeBuffer<char> 
>>>> const&) + 31
>>>> 6   _pcbnew.kiface                 0x00000001082f2275 
>>>> wxMessageOutputStderr::Output(wxString const&) + 97
>>>> 7   _pcbnew.kiface                 0x00000001081ef968 
>>>> ShowAssertDialog(wxString const&, int, wxString const&, wxString const&, 
>>>> wxString const&, wxAppTraits*) + 664
>>>> 8   _pcbnew.kiface                 0x00000001081ee6cc 
>>>> wxDefaultAssertHandler(wxString const&, int, wxString const&, wxString 
>>>> const&, wxString const&) + 188
>>>> 9   _pcbnew.kiface                 0x00000001081eec5f wxOnAssert(char 
>>>> const*, int, char const*, char const*, wchar_t const*) + 127
>>>> 10  _pcbnew.kiface                 0x0000000108278d60 
>>>> wxStandardPathsBase::Get() + 80



Why is this stack trace point showing that function wxStandardPathBase::Get() 
is in the
module _pcbnew.kiface?

This might be because you are linking with static wx libraries.  With the 
advent of
kiface, this can never work again.

All platforms must link to a shared/dynamic wx library set.  No static 
wxWidgets library
set ever again please.

Start there.  Its possible that wxTheApp is not unique. You have a second copy 
because you
are linking wx into every frickin module.

As to the ::Get() call, here is the source from svn head of wx:

line 59 or so of common/stdpbase.cpp:

wxStandardPaths& wxStandardPathsBase::Get()
{
    wxAppTraits * const traits = wxTheApp ? wxTheApp->GetTraits() : NULL;
    wxCHECK_MSG( traits, gs_stdPaths, wxT("create wxApp before calling this") );

    return traits->GetStandardPaths();
}


But we only want this to reside in the wx SHARED/DYNAMIC library, not in our
_pcbnew.kiface module.



>>>> 11  _pcbnew.kiface                 0x0000000108242677 
>>>> wxFileConfig::GetLocalFile(wxString const&, int) + 27
>>>> 12  _pcbnew.kiface                 0x00000001082429ad 
>>>> wxFileConfig::wxFileConfig(wxString const&, wxString const&, wxString 
>>>> const&, wxString const&, long, wxMBConv const&) + 497
>>>> 13  _pcbnew.kiface                 0x0000000107e20845 BIN_MOD::Init() + 229
>>>> 14  _pcbnew.kiface                 0x0000000107e686d7 
>>>> KIFACE_I::start_common(int) + 39
>>>> 15  _pcbnew.kiface                 0x00000001079141c5 
>>>> PCB::IFACE::OnKifaceStart(PGM_BASE*, int) + 21
>>>> 16  org.kicad-eda.pcbnew           0x0000000100022609 
>>>> KIWAY::KiFACE(KIWAY::FACE_T, bool) + 441
>>>> 17  org.kicad-eda.pcbnew           0x0000000100022ca5 
>>>> KIWAY::Player(FRAME_T, bool) + 309
>>>> 18  org.kicad-eda.pcbnew           0x0000000100006144 
>>>> PGM_SINGLE_TOP::OnPgmInit(wxApp*) + 1428
>>>> 19  org.kicad-eda.pcbnew           0x0000000100009bed 
>>>> APP_SINGLE_TOP::OnInit() + 45
>>>> 20  org.kicad-eda.pcbnew           0x000000010007912c wxApp::CallOnInit() 
>>>> + 78
>>>> 21  org.kicad-eda.pcbnew           0x0000000100292f3c wxEntry(int&, 
>>>> wchar_t**) + 76
>>>> 22  org.kicad-eda.pcbnew           0x0000000100005b20 main + 48
>>>> 23  org.kicad-eda.pcbnew           0x0000000100005ab4 start + 52
>>>>>>>
>>>> and messages on console like
>>>> <<<
>>>> objc[17580]: Class wxNSAnimationDelegate is implemented in both 
>>>> /Volumes/MacStorage/Temp/KiCad/bin/bin/pcbnew.app/Contents/MacOS/pcbnew 
>>>> and 
>>>> /Volumes/MacStorage/Temp/KiCad/bin/bin/pcbnew.app/Contents/MacOS/_pcbnew.kiface.
>>>>  One of the two will be used. Which one is undefined.
>>>> ./src/common/stdpbase.cpp(62): assert "traits" failed in Get(): create 
>>>> wxApp before calling this
>>>>>>>
>>>> After googling a bit at least the messages on console seem to indicate 
>>>> that some wxWidgets functions are used before the wxApp is instantiated.
>>>>
>>>> The problem might already be known, I found this comment in the code, but 
>>>> one line below where it crashes for me.
>>>> <<<
>>>>    m_bm.Init();
>>>>
>>>>    m_bm.m_config->Read( showPageLimitsKey, &g_ShowPageLimits );
>>>>
>>>>    // FIXME OSX Mountain Lion (10.8)
>>>>    // Seems that Read doesn't found anything and ColorFromInt
>>>>    // Asserts - I'm unable to reproduce on 10.7
>>>>
>>>>    int draw_bg_color = BLACK;      // Default for all apps but Eeschema
>>>>>>>
>>>>
>>>> Any hints/ideas?
>>>>
>>>>
>>>> Regards,
>>>> Bernhard
>>>>
>>>> === modified file 'pcb_calculator/CMakeLists.txt'
>>>> --- pcb_calculator/CMakeLists.txt  2014-05-12 15:17:51 +0000
>>>> +++ pcb_calculator/CMakeLists.txt  2014-05-16 09:00:42 +0000
>>>> @@ -134,15 +134,6 @@
>>>>            )
>>>>    endif()
>>>>
>>>> -    if( APPLE )
>>>> -        # copies kiface into the bundle
>>>> -        add_custom_target( _pcb_calculator_kiface_copy ALL
>>>> -            COMMAND ${CMAKE_COMMAND} -E copy 
>>>> ${CMAKE_BINARY_DIR}/pcb_calculator/_pcb_calculator.kiface 
>>>> "${CMAKE_BINARY_DIR}/pcb_calculator/pcb_calculator.app/Contents/MacOS/"
>>>> -            DEPENDS pcb_calculator_kiface
>>>> -            COMMENT "Copying kiface into pcb_calculator"
>>>> -        )
>>>> -    endif()
>>>> -
>>>> else()
>>>>
>>>>    add_executable( pcb_calculator WIN32 MACOSX_BUNDLE
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> ------------------------------------
>>>
>>> ------------------------------------
>>>
>>> Please read the Kicad FAQ in the group files section before posting your 
>>> question.
>>> Please post your bug reports here. They will be picked up by the creator of 
>>> Kicad.
>>> Please visit http://www.kicadlib.org for details of how to contribute your 
>>> symbols/modules to the kicad library.
>>> For building Kicad from source and other development questions visit the 
>>> kicad-devel group athttp://groups.yahoo.com/group/kicad-develYahoo Groups 
>>> Links
>>>
>>> <*> To visit your group on the web, go to:
>>>    http://groups.yahoo.com/group/kicad-users/
>>>
>>> <*> Your email settings:
>>>    Individual Email | Traditional
>>>
>>> <*> To change settings online go to:
>>>    http://groups.yahoo.com/group/kicad-users/join
>>>    (Yahoo! ID required)
>>>
>>> <*> To change settings via email:
>>>    kicad-users-dig...@yahoogroups.com 
>>>    kicad-users-fullfeatu...@yahoogroups.com
>>>
>>> <*> To unsubscribe from this group, send an email to:
>>>    kicad-users-unsubscr...@yahoogroups.com
>>>
>>> <*> Your use of Yahoo Groups is subject to:
>>>    https://info.yahoo.com/legal/us/yahoo/utos/terms/
>>
>>
>> __._,_.___
>> Posted by: Bernhard Stegmaier <stegma...@sw-systems.de>
>> Reply via web post   •       Reply to sender •       Reply to group  •       
>> Start a New Topic       •       Messages in this topic (3)
>> Please read the Kicad FAQ in the group files section before posting your 
>> question.
>> Please post your bug reports here. They will be picked up by the creator of 
>> Kicad.
>> Please visit http://www.kicadlib.org for details of how to contribute your 
>> symbols/modules to the kicad library.
>> For building Kicad from source and other development questions visit the 
>> kicad-devel group athttp://groups.yahoo.com/group/kicad-devel
>> VISIT YOUR GROUP 
>>      • New Members 14 
>>      • New Photos 3
>>
>> • Privacy • Unsubscribe • Terms of Use
>>
>> .
>>  
>>
>> __,_._,___
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to