kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #13781
Re: Build 4955 - Failed to load shared library
-
To:
kicad-developers@xxxxxxxxxxxxxxxxxxx
-
From:
Dick Hollenbeck <dick@xxxxxxxxxxx>
-
Date:
Fri, 27 Jun 2014 10:13:42 -0500
-
In-reply-to:
<CAM_Fr0Ckf7_xwScqy=r=gbDmnFpNHvuoCPzhon9sH9u5v6_e4w@mail.gmail.com>
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
Jason,
Likely it will work without python.
Likely the _pcbnew.kiface cannot be loaded because something it needs cannot be found.
While "same path" is used to find _pcbnew.kiface from kicad.exe, the technique used to
load _pcbnew.kiface is done by Windows, not us. All its DLL dependencies must be met
before it can be considered loadable or loaded.
I think Windows still uses the *PATH* environment variable for this. I don't see where
the PATH environment variable is being set in your batch file, it needs to point to the
python.dll at least.
On 06/27/2014 09:58 AM, Jason Whiteman wrote:
> Thanks for the feedback.
>
> Regarding Python, the PYTHONHOME and PYTHONPATH variables I believe are set in setenv.bat
>
> SET PATH_ENV_BASE=%CD%\env
> SET PATH_PY=%PATH_ENV_BASE%\python
> SET PYTHONHOME=%PATH_PY%
> SET PYTHONPATH=%PYTHONHOME%
>
> When I look in ./env/python, I see python.exe and its associated dll. Python works when I
> execute from within the home path, so I believe that should be ok.
>
> The options set by the makefile (shown during build process) are:
>
> KICAD_SCRIPTING=ON
> KICAD_SCRIPTING_MODULES=ON
> PYTHON_ROOT_DIR=Y:/Kicad_Buid/kicad- ... (I have a screenshot of the compile & rest is cut
> off, but assume this is OK)
> BUILD_GITHUB_PLUGIN=ON
>
> One item to note: the help/documentation portion of the compile failed - something I was
> not concerned about. Is the help necessary for proper a proper load of the binary?
>
> ====
>
> My previous email did not display all files in the bin directory as I was focused on the
> "_*.kiface" files. The full listing (which shows python and other dlls landed fine) is as
> follows:
>
>
> Directory of Y:\Kicad_Build\kicad-winbuilder-3.4\kicad\bin
> 06/26/2014 05:20 PM <DIR> .
> 06/26/2014 05:20 PM <DIR> ..
> 06/26/2014 05:19 PM 803,328 bitmap2component.exe
> 06/26/2014 05:19 PM 434,176 cvpcb.exe
> 06/26/2014 05:20 PM <DIR> dll
> 06/26/2014 05:19 PM 854,016 dxf2idf.exe
> 06/26/2014 05:19 PM 485,888 eeschema.exe
> 06/26/2014 05:19 PM 485,376 gerbview.exe
> 06/26/2014 05:19 PM 436,736 idf2vrml.exe
> 06/26/2014 05:19 PM 57,344 idfcyl.exe
> 06/26/2014 05:19 PM 46,080 idfrect.exe
> 06/26/2014 09:42 AM <DIR> include
> 06/26/2014 05:19 PM 938,496 kicad.exe
> 06/26/2014 09:42 AM <DIR> lib
> 06/26/2014 02:24 AM 114,710 libbz2.dll
> 04/13/2013 05:06 PM 1,863,207 libpython2.7.dll
> 06/26/2014 05:19 PM 485,888 pcbnew.exe
> 06/26/2014 05:19 PM 485,376 pcb_calculator.exe
> 06/26/2014 05:19 PM 434,688 pl_editor.exe
> 06/26/2014 05:20 PM <DIR> pylib
> 04/13/2013 05:06 PM 97,183 python.exe
> 06/26/2014 09:42 AM <DIR> scripting
> 06/26/2014 05:20 PM 3,789,000 wxbase300u_gcc_cm.dll
> 06/26/2014 05:20 PM 501,053 wxbase300u_net_gcc_cm.dll
> 06/26/2014 05:20 PM 285,311 wxbase300u_xml_gcc_cm.dll
> 06/26/2014 05:20 PM 3,168,534 wxmsw300u_adv_gcc_cm.dll
> 06/26/2014 05:20 PM 1,044,179 wxmsw300u_aui_gcc_cm.dll
> 06/26/2014 05:20 PM 10,494,221 wxmsw300u_core_gcc_cm.dll
> 06/26/2014 05:20 PM 270,107 wxmsw300u_gl_gcc_cm.dll
> 06/26/2014 05:20 PM 1,537,596 wxmsw300u_html_gcc_cm.dll
> 06/26/2014 05:20 PM 320,341 wxmsw300u_media_gcc_cm.dll
> 06/26/2014 05:20 PM 1,621,339 wxmsw300u_propgrid_gcc_cm.dll
> 06/26/2014 05:20 PM 874,639 wxmsw300u_ribbon_gcc_cm.dll
> 06/26/2014 05:20 PM 2,662,331 wxmsw300u_richtext_gcc_cm.dll
> 06/26/2014 05:20 PM 3,153,480 wxmsw300u_stc_gcc_cm.dll
> 06/26/2014 05:20 PM 476,055 wxmsw300u_webview_gcc_cm.dll
> 06/26/2014 05:20 PM 2,379,160 wxmsw300u_xrc_gcc_cm.dll
> 06/26/2014 05:19 PM 6,596,731 _cvpcb.kiface
> 06/26/2014 05:19 PM 6,728,036 _eeschema.kiface
> 06/26/2014 05:19 PM 2,771,868 _gerbview.kiface
> 06/26/2014 05:19 PM 17,465,298 _pcbnew.kiface
> 06/26/2014 05:20 PM 17,442,611 _pcbnew.pyd
> 06/26/2014 05:19 PM 2,219,655 _pcb_calculator.kiface
> 06/26/2014 05:19 PM 2,463,434 _pl_editor.kiface
>
> Since the initial report, I rolled over to build 4956 - still see the same error.
>
> I can try KICAD_SCRIPTING_WXPYTHON=OFF as a debug step.
>
> Regards,
> Jason
>
>
>
> On Fri, Jun 27, 2014 at 9:31 AM, jp charras <jp.charras@xxxxxxxxxx
> <mailto:jp.charras@xxxxxxxxxx>> wrote:
>
> Le 27/06/2014 15:46, Dick Hollenbeck a écrit :
> > On 06/26/2014 04:14 PM, Jason Whiteman wrote:
> >> Team,
> >>
> >> I am new to the dev group and have compiled my first windows binaries today
> based on
> >> what was pulled using kicad-winbuilder-3.4 (Kicad BZR build 4955).
> >>
> >> The binaries were created fine - and I was able to load kicad.exe using
> RunKicad.bat
> >>
> >> My issue is the error:
> >>
> >> Failed to load shared library
> >> 'Y:\Kicad_Build\kicad-winbuilder-3.4\kicad\bin\_pcbnew.kiface' (error 0: the
> >> operation completed successfully.)
> >>
> >> I have searched for this error and see it is not uncommon. However, in all
> threads
> >> I have read - the problem was with the makefile failing to copy the _*.kiface files
> to the
> >> kicad/bin directory. This is not the case here. I see the files have landed there:
> >>
> >> Directory of Y:\Kicad_Build\kicad-winbuilder-3.4\kicad\bin
> >> 06/26/2014 01:59 PM 6,596,731 _cvpcb.kiface
> >> 06/26/2014 01:59 PM 6,728,781 _eeschema.kiface
> >> 06/26/2014 01:59 PM 2,771,868 _gerbview.kiface
> >> 06/26/2014 01:59 PM 17,465,298 _pcbnew.kiface
> >> 06/26/2014 01:59 PM 2,219,655 _pcb_calculator.kiface
> >> 06/26/2014 01:59 PM 2,463,434 _pl_editor.kiface
> >>
> >> EEschema can load, pcb_calculator loads, bitmap2component loads, gerbview
> loads.
> >> However both PCBNew and CvPCB fail with the "shared library" error.
> >>
> >> No directory contains a space. I have checked the permissions of _pcbnew.kiface
> >> (which is complained as not found) and _eeschema.kiface (which has no complaints when
> >> loading eeschema.exe) and see no differences in permissions. I am attempting to
> load as
> >> administrator.
> >>
> >> Given the software is reporting a missing file that exists, what is the issue?
> >>
> >> Not that it necessarily makes any difference, but I am using the
> >> bzr-win-zip-2.6b1-1 binaries to pull (checkout) the source. This is not the cause
> of any
> >> issue since building was not a problem.
> >>
> >> Regards,
> >> Jason
> >
> >
> > What should work is described below. I do not know why it is not working for you, you
> > will have to determine that.
> >
> > The program is a process. The process consists on Windows of an *.exe and one or more
> > DLLs. For all but kicad.exe, there may be one kicad DLL which has the *.kiface file
> > extension. So pcbnew.exe will have its DLL named _pcbnew.kiface. eeschema.exe will
> have
> > _eeschema.kiface.
> >
> > kicad.exe may also use _pcbnew.kiface, but can also use _eeschema.kiface concurrently or
> > alone as well, plus others.
> >
> > The *.kiface files are found by examining the full path of the *.exe from within the
> *.exe
> > code. That path is used to find the *.kiface file(s).
> >
> >
> > This means that if you want to run kicad.exe, then all the *.kiface files that you
> will be
> > loading must also be in that same directory.
> >
> > On linux if I do this from /usr/local/bin:
> >
> > $ dir kicad pcbnew eeschema *.kiface
> >
> > _cvpcb.kiface eeschema _eeschema.kiface _gerbview.kiface kicad
> _pcb_calculator.kiface
> > pcbnew _pcbnew.kiface _pl_editor.kiface
> >
> >
> > they all show in the same directory on linux, where kicad.exe is named kicad.
> >
> > Take care that you are then actually launching the copy of kicad.exe that you think you
> > are. Maybe do it from the command line with full path as a test without the batch file,
> > then examine what the batch file is doing in comparison.
> >
> > If you verify all the pieces are in place and it still fails with that same curious
> error
> > message, we'll have to look at the wxWidgets code in more detail.
> >
> > That error message is a bit curious, as it essentially says that it succeeded. At that
> > point we'd need to roll up our sleeves on Windows.
> >
> >
> > Dick
>
> Jason ,
>
> Winbuilder build Kicad with option KICAD_SCRIPTING_WXPYTHON=ON.
> Therefore Cvpcb and mainly Pcbnew need wxPython and Python libs.
>
> If only Pcbnew (and Cvpcb) does not run ( _pcbnew.kiface exists but
> fails) I am pretty sure you have an issue with python (_pcbnew.kiface
> runs OK, but fails when trying to load python libraries or wxPython libs).
>
> kicad/bin *should contain* python and wxPython files (at least
> python.exe, libpython2.7.dll ./dll, ./lib, ./pylib) which are installed
> by winbuilder.
> FYI on my PC, wxPython libs are in <winbuilder>\kicad\bin\pylib\wx
>
> Moreever PYTHONHOME and PYTHONPATH should be set.
> This is mainly the purpose of lines:
> SET PYTHONHOME=%CD%
> SET PYTHONPATH=%CD%
> in RunKicad.bat.
>
> If you edit KicadWinBuilder.cmake and set
> KICAD_SCRIPTING_WXPYTHON=OFF
> and rebuild Kicad, Pcbnew and Cvpcb binaries do not use python at load
> time and should run.
>
> However, if there is an issue in python installation, footprint wizards
> and other python scripts will not run.
>
>
> --
> Jean-Pierre CHARRAS
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References