Hi Dick (and others), thanks for the hint, I will try not to use static linking. I did that because in the past dynamic linking didn’t produce portable applications. That is, they contained a reference to the wxWidgets libs at the place when being built and haven’t been copied to the app bundle… and all the usual fix-scripts to copy those libs into the bundle failed for me (problems with the symlinks)… and I didn’t want to fix every path manually.
I looked around a bit and found some cmake modules that should be able to produce portable application bundles… I’ll try to add/change that in the cmake files… if I succeed, I will of course propose a patch. Thanks, Bernhard On 24.05.2014, at 04:16, Dick Hollenbeck <d...@softplc.com> wrote: > 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
_______________________________________________ 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