← Back to team overview

kicad-developers team mailing list archive

Re: Again with the glew on 10.10

 

On 12/11/2014 4:34 PM, Andy Peters wrote:
> 
>> On Dec 11, 2014, at 11:51 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>>
>> On 12/11/2014 1:19 PM, Andy Peters wrote:
>>>
>>>> On Dec 11, 2014, at 9:50 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>>>>
>>>> On 12/11/2014 11:31 AM, Andy Peters wrote:
>>>>>
>>>>>> On Dec 10, 2014, at 6:05 PM, Adam Wolf <adamwolf@xxxxxxxxxxxxxxxxxxxx> wrote:
>>>>>>
>>>>>> I have not seen this issue, but I am using brew for glew.
>>>>>>
>>>>>> Adam Wolf
>>>>>> Cofounder and Engineer
>>>>>> W&L
>>>>>
>>>>> I see that the header in question is in /usr/include/GL (this is where glew's make install put it), which means that the make system assumes that glew is installed someplace else. Where is that include directory specified? I can install the glew stuff to wherever, just as long as I know where it is supposed to go!
>>>>>
>>>>> -a
>>>>
>>>> A large part of the problem is neither KiCad's custom FindGLEW.cmake or
>>>> the stock one shipped with CMake is very well thought out.  They both
>>>> use the typical check for platform tests which inevitably break instead
>>>> of feature tests.  Glew (at least the recent versions) will use
>>>> pkg-config if it is available to create the correct configuration
>>>> information which is how FindGLEW.cmake should work instead of using the
>>>> platform specific paths.  Pkg-config is available on all platforms
>>>> including windows so this should be the default search mechanism.  The
>>>> platform specific stuff should be the fall back and there should be the
>>>> catch all root path variable for custom builds which should always take
>>>> precedence.  There is also the option of setting
>>>> -DCMAKE_PREFIX_PATH=/usr on the command line.
> 
> Does this add to the existing prefix path, or does it replace it entirely?

CMake does not define CMAKE_PREFIX_PATH.  It get tested before
CMAKE_SYSTEM_PREFIX_PATH which CMake sets based on the platform.  The
search order is documented here:

http://www.cmake.org/cmake/help/v3.0/command/find_path.html

> 
> 
> 
> 
>>>>
>>> pkg-config is on my systems, and it should work, I agree, but something is borked.
>>>
>>> I looked at FindGLEW.cmake and added the correct path to the headers:
>>>
>>> IF (APPLE)
>>> # These values for Apple could probably do with improvement.
>>>   FIND_PATH( GLEW_INCLUDE_DIR GL/glew.h
>>>     /System/Library/Frameworks/GLEW.framework/Versions/A/Headers
>>>     /opt/local/include
>>>     /usr/include                <- I added this!
>>>     ${OPENGL_LIBRARY_DIR}
>>>   )
>>>
>>>   FIND_LIBRARY( GLEW_GLEW_LIBRARY GLEW
>>>     /opt/local/lib
>>>     /usr/lib
>>>   )
>>
>> This will work but is at the heart of the problem.  Adding every
>> possible combination of paths is not a long term solution.
>> Unfortunately it's how most of the cmake find package files are written.
>>
>>>
>>> and re-ran cmake, and it didn't seem to care. I even did a make clean. I don't know if there's a "cmake clean" command which forces cmake to rebuild everything.
>>
>> You have to delete all of the CMake build files in order for this to
>> work.  Once the path is cached, it doesn't change even if you change the
>> cmake files.  The easiest way is to do a clean build.  You could try
>> `make rebuild_cache` and see if that updates the glew path.
> 
> all righty, I just deleted my entire kicad checkout and bzr branched the latest. Then I edited FindGLEW.cmake as noted above, did the build, and then it failed again at the same spot.

Unfortunately (or fortunately depending on your point of view), I don't
have a mac so I cannot help you with this.  Maybe one of our other OSX
devs can help you out.

> _______________________________________________
> 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