Search for Proj4-devel package

Dear all,

I like to compile Qmapshack, but can’t find a package:

https://github.com/Maproom/qmapshack

Message:

"Could not find a package configuration file provided by “PROJ4” with any of
the following names:

 PROJ4Config.cmake
 proj4-config.cmake"

I can’t find a proj4 devel package.

Could you help me?

Thanks!

Kind regards

Piet

Its build on Application:Geo, you can download it from there.

And see here into the patches:
https://build.opensuse.org/package/show/Application%3AGeo/qmapshack

Hi and welcome to the Forum :slight_smile:
The openSUSE package (proj5) is built with autotools not cmake, plus at version 5 not 4…

Hello,

thank you for your hints and the welcome!

But I like to build QMS from github.
So I understand there’s no proj4 package and there’s a shift to proj5.

But no matter!

KR

Piet

Hi
Then add the openSUSE Patches to your source…

I had the same problem and ended up by adding a proj4 cmake file based on snippets I found on the Internet:


> cat cmake/Modules/FindPROJ4.cmake 
# - Try to find PROJ 
# Once done this will define 
# 
#  PROJ4_FOUND - system has PROJ 
#  PROJ4_INCLUDE_DIRS - the PROJ include directory 
#  PROJ4_LIBRARIES - Link these to use PROJ 
#  PROJ4_DEFINITIONS - Compiler switches required for using PROJ 
# 

if (PROJ4_LIBRARIES AND PROJ4_INCLUDE_DIRS) 
  # in cache already 
  set(PROJ4_FOUND TRUE) 
else (PROJ4_LIBRARIES AND PROJ4_INCLUDE_DIRS) 

  find_path(PROJ4_INCLUDE_DIR 
    NAMES 
      proj.h 
    PATHS 
if(WIN32) 
      ${PROJ4_DEV_PATH}/include 
endif(WIN32) 
        /usr/include 
        /usr/local/include 
        /opt/local/include 
        /sw/include 
        ${CMAKE_INSTALL_PREFIX}/include 
        ${CMAKE_SOURCE_DIR}/Win32/GDAL/include 
    PATH_SUFFIXES 
        proj4 

  ) 
  #mark_as_advanced(PROJ4_INCLUDE_DIR) 

  find_library(LIBPROJ4_LIBRARY 
    NAMES 
        proj 
        libproj 
        proj_6_0 
        proj_6_1 
        proj_6_2 
    PATHS 
if(WIN32) 
      ${PROJ4_DEV_PATH}/lib 
endif(WIN32) 
        /usr/lib 
        /usr/lib64 
        /usr/local/lib 
        /opt/local/lib 
        /sw/lib 
        ${CMAKE_INSTALL_PREFIX}/lib 
        ${CMAKE_SOURCE_DIR}/Win32/GDAL/lib 
  ) 
  #mark_as_advanced(LIBPROJ4_LIBRARY) 

  if (LIBPROJ4_LIBRARY) 
    set(LIBPROJ4_FOUND TRUE) 
  else (LIBPROJ4_LIBRARY) 
      message(FATAL_ERROR "Not found PROJ library") 
  endif (LIBPROJ4_LIBRARY) 

  set(PROJ4_INCLUDE_DIRS 
    ${PROJ4_INCLUDE_DIR} 
  ) 

  if (LIBPROJ4_FOUND) 
    set(PROJ4_LIBRARIES 
      ${PROJ4_LIBRARIES} 
      ${LIBPROJ4_LIBRARY} 
    ) 
  endif (LIBPROJ4_FOUND) 

  if (PROJ4_INCLUDE_DIRS AND PROJ4_LIBRARIES) 
     set(PROJ4_FOUND TRUE) 
     set(PROJ4_VERSION "6.0.0") 
  endif (PROJ4_INCLUDE_DIRS AND PROJ4_LIBRARIES) 

  if (PROJ4_FOUND) 
    if (NOT PROJ4_FIND_QUIETLY) 
      message(STATUS "Found PROJ: ${PROJ4_LIBRARIES}") 
    endif (NOT PROJ4_FIND_QUIETLY) 
  else (PROJ4_FOUND) 
    if (PROJ4_FIND_REQUIRED) 
      message(FATAL_ERROR "Could not find PROJ") 
    endif (PROJ4_FIND_REQUIRED) 
  endif (PROJ4_FOUND) 

  # show the PROJ4_INCLUDE_DIRS and PROJ4_LIBRARIES variables only in the advanced view 
  #mark_as_advanced(PROJ4_INCLUDE_DIRS PROJ4_LIBRARIES) 

endif (PROJ4_LIBRARIES AND PROJ4_INCLUDE_DIRS)

Dear all,

thank you for our replies.

Because I’m new to Suse I’ll avoid to use a self changed system.
I hope that the developer of Qmapshack will shift to Proj5 in the near future.

Kind regards

Piet

I think you better create an Issue at Issues · Maproom/qmapshack · GitHub

There is one issue that might already cover your needs: Better integration of new PROJ lib into cmake build system

I tried myself with an up-to-date QMapSack checkout and did run into a problem:

  Could not find a package configuration file provided by "PROJ" with any of 
  the following names: 

    PROJConfig.cmake

Fixed that by renaming the FindPROJ4.cmake I shared earlier into FindPROJ.cmake.

The right way to fix this is to have the Tumbleweed proj package and I tried to install proj-devel

> sudo zypper in proj-devel        
Loading repository data... 
Reading installed packages... 
Resolving package dependencies... 

The following NEW package is going to be installed:
  proj-devel 

1 new package to install. 
Overall download size: 98.0 KiB. Already cached: 0 B. After the operation, additional 498.1 KiB will be used. 
**Continue? [y/n/v/...? shows all options] (y): **y 
Retrieving package proj-devel-7.2.1-60.6.x86_64                                                                              (1/1),  98.0 KiB (498.1 KiB unpacked) 
Retrieving: proj-devel-7.2.1-60.6.x86_64.rpm ..........................................................................................................[not found] 
File './x86_64/proj-devel-7.2.1-60.6.x86_64.rpm' not found on medium 'https://download.opensuse.org/repositories/Application:/Geo/openSUSE_Tumbleweed/'

I see no proj-devel on https://download.opensuse.org/repositories/Application:/Geo/openSUSE_Tumbleweed/x86_64/ but it is listed, anybody an idea how that can be?

There are also proj5 en proj5-devel packages but if I try to install these I get conflicts, so I did not do that. Removing the proj package removes also grass/qgis/qmapshack and I do not want that.

Hi
Haven’t refreshed your system, or updated it lately (Should be at 20210317)?

It’s there (60.7 not .6), probably using an out of date mirror (there have been issues lately with mirrors)

https://download.opensuse.org/repositories/Application:/Geo/openSUSE_Tumbleweed/x86_64/proj-devel-7.2.1-60.7.x86_64.rpm.mirrorlist

Likewise, proj-devel is in the standard repositories, you should use that (one of the issues associated with using development repositories)…


Repository     : Main Repository (OSS)
Name           : proj-devel
Version        : 7.2.1-1.3

proj-devel readily installs here:

[FONT=monospace]**erlangen:~ #** zypper in proj-devel      
Loading repository data... 
Reading installed packages... 
Resolving package dependencies... 

The following NEW package is going to be installed:
  proj-devel 

1 new package to install. 
Overall download size: 98.2 KiB. Already cached: 0 B. After the operation, additional 498.1 KiB will be used. 
**Continue? [y/n/v/...? shows all options] (y): **
Retrieving package proj-devel-7.2.1-1.3.x86_64                                                                                                                                                                                                                  (1/1),  98.2 KiB (498.1 KiB unpacked) 
Retrieving: proj-devel-7.2.1-1.3.x86_64.rpm ....[done] 

Checking for file conflicts: ...[done] 
(1/1) Installing: proj-devel-7.2.1-1.3.x86_64 ........[done] 
**erlangen:~ #**
[/FONT]

So clear caches and try again!

Thanks, did a “zypper ref; zypper verify; zypper dup; zypper in proj-devel” and everything installed fine.

Still QMapShack does not compile complaining it can not find PROJ.
If I read the QMapShack wiki/issues I get the idea that the distribution should provide the .cmake file with the package, but that is not the case

> sudo rpm -ql proj | grep cmake
<nothing>
> sudo rpm -ql proj-devel | grep cmake
<nothing>

How to request that? Make a comment at https://build.opensuse.org/package/show/Application:Geo/proj or create an issue on https://bugzilla.suse.com/?

For now I can work-around is with my own FindPROJ.cmake; next problem is QuaZip5

Hi
Create a bug report from here: openSUSE:Submitting bug reports - openSUSE

Did some searching and I see there is already an issue covering the problem:

Bug 1132451](https://bugzilla.opensuse.org/show_bug.cgi?id=1132451) - missing cmake file for proj-devel

I see a work-around is to compile proj yourself, so I think it is a matter of updating which files to put in the package.