Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proj is now version 9 #5

Closed
shawnlaffan opened this issue Oct 9, 2022 · 5 comments
Closed

Proj is now version 9 #5

shawnlaffan opened this issue Oct 9, 2022 · 5 comments
Labels

Comments

@shawnlaffan
Copy link
Contributor

The build system currently targets Proj version 5. The current release of Proj is version 9.

Proj under Strawberry Perl is used to support PDL (and possibly others?). However, PDL now uses Proj via Alien::proj.

If Strawberry perl provides libproj then Alien::proj will detect this and use it as a system lib. Otherwise Alien::proj will run a share install and build from source.

Note that Proj now also depends on sqlite, and optionally libtiff and libcurl, so the build system is a little more involved. It also uses CMake but that's already in the build system.

If full functionality for PDL is needed then Alien::proj needs to be added to the distributed packages. Otherwise users can install it themselves and then reinstall PDL.

@shawnlaffan
Copy link
Contributor Author

This is closable.

PDL now uses Alien::proj so we can build with that instead. Doing so avoids the need to hack cmake files to append the underscores.

@mohawk2
Copy link
Contributor

mohawk2 commented May 9, 2024

Can I ask what this "appending underscores" is about/for?

@shawnlaffan
Copy link
Contributor Author

DLLs in Strawberrry Perl have underscores appended to the name so they don't clash with other systems (one for 32 bit systems, two for 64 bit).

An example is libbz2-1__.dll.

Updating build systems to append the underscores is straightforward with autotools builds, but cmake systems are a bit more complex. Proj shifted to cmake a few versions back.

@mohawk2
Copy link
Contributor

mohawk2 commented May 9, 2024

I did not know that! Thank you. Might it be worth reaching out to cmake itself to seek a way to automatically suffix DLL names?

@shawnlaffan
Copy link
Contributor Author

Actually, adding the DLL suffix is not always straightforward with autotools builds. Several libs need bespoke updates to work (see build.sh in the project root dir).

In any case, the topic of this issue is now resolved so I'll close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants