You are not logged in.

#1 2019-07-17 19:27:38

DarioP
Member
From: Geneva
Registered: 2011-01-05
Posts: 115

Packaging suggestion EIGEN: do we still need the eigen3 subfolder?

Pretty much as the subject says: with the last update to eigen2 being 10+ years old and being it no longer included in the repos, is there any reason to keep the path /usr/include/eigen3/Eigen instead of a simpler /usr/include/Eigen?

Thank you for your attention!

Offline

#2 2019-07-17 19:33:40

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 21,929
Website

Re: Packaging suggestion EIGEN: do we still need the eigen3 subfolder?

This is an upstream decision, feel free to make the suggestion there as that subfolder is not added by the PKGBUILD or any arch specific patch.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#3 2019-07-17 19:53:45

Xyne
Moderator/TU
Registered: 2008-08-03
Posts: 6,422
Website

Re: Packaging suggestion EIGEN: do we still need the eigen3 subfolder?

+1 for contacting upstream. This is not an Arch issue.

Nevertheless, moved to Pacman & Package Upgrade issues.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#4 2019-07-17 19:55:23

DarioP
Member
From: Geneva
Registered: 2011-01-05
Posts: 115

Re: Packaging suggestion EIGEN: do we still need the eigen3 subfolder?

Yes, I had a look at the PKGBUILD, still I think that the installation path should not be an upstream decision, but a distro (or even a user) one.

But of course no pressure from me. After all it's not a big deal to
export CPATH=/usr/include/eigen3
wink

Last edited by DarioP (2019-07-17 19:57:43)

Offline

#5 2019-07-17 20:03:06

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 21,929
Website

Re: Packaging suggestion EIGEN: do we still need the eigen3 subfolder?

DarioP wrote:

still I think that the installation path should not be an upstream decision

That's a reasonable point of view.  But it doesn't change the fact that it is the upstream source and build scripts that set that path (I have no opinion on whether they should, but they clearly do).  So if you'd prefer that upstream did not do this, you'd still have to approach them about it.

Last edited by Trilby (2019-07-17 20:04:08)


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#6 2019-07-17 20:04:02

Xyne
Moderator/TU
Registered: 2008-08-03
Posts: 6,422
Website

Re: Packaging suggestion EIGEN: do we still need the eigen3 subfolder?

Arch's policy is to avoid changing upstream's defaults unless absolutely necessary and each user is free to customize the PKGBUILD. One of the appeals of Arch is that it generally doesn't make decisions for you smile
*tiptoes towards the exit before people show up to rehash the systemd debate*


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#7 2019-07-17 20:12:57

DarioP
Member
From: Geneva
Registered: 2011-01-05
Posts: 115

Re: Packaging suggestion EIGEN: do we still need the eigen3 subfolder?

Xyne wrote:

One of the appeals of Arch is that it generally doesn't make decisions for you smile

I have been sticking to Arch for the last ~10 years not because of that, but because of it's KISS philosophy where I think it is unbeatable, otherwise gentoo or LFS would have been better choices IMHO.
But yeah, whatever, the original question is pretty much solved smile

Offline

#8 2019-07-17 20:57:31

Xyne
Moderator/TU
Registered: 2008-08-03
Posts: 6,422
Website

Re: Packaging suggestion EIGEN: do we still need the eigen3 subfolder?

I would say that KISS includes not tinkering with upstream. Of course I concede that it makes more choices for you than Gentoo and LFS.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#9 2019-07-18 04:55:05

ayekat
Member
Registered: 2011-01-17
Posts: 1,342
Website

Re: Packaging suggestion EIGEN: do we still need the eigen3 subfolder?

From an upstream's perspective, I think it's sensible to keep the `eigen3` subdirectory around. I mean, what happens when eigen4 is released? smile

Even Debian's eigen3 package keeps it as is.

DarioP wrote:

After all it's not a big deal to
export CPATH=/usr/include/eigen3

Given the presence of an eigen.pc pkgconf file, shouldn't the location of the include directory be a non-issue anyway?

Last edited by ayekat (2019-07-18 04:57:36)


{,META,RE}PKGBUILDSpacman-hacks (includes makemetapkg and remakepkg) │ dotfiles

Offline

#10 2019-07-18 06:43:22

DarioP
Member
From: Geneva
Registered: 2011-01-05
Posts: 115

Re: Packaging suggestion EIGEN: do we still need the eigen3 subfolder?

ayekat wrote:

Given the presence of an eigen.pc pkgconf file, shouldn't the location of the include directory be a non-issue anyway?

I am not sure what that file is for, but I am sure that a lot of other libraries just #include <Eigen/something.hpp>
Before exporting CPATH, I kept needing to -I /usr/include/eigen3 on every single compilation command that I issued, while for many other system libraries, which just install in /usr/include, that is not the case.

Offline

#11 2019-07-18 08:05:21

ayekat
Member
Registered: 2011-01-17
Posts: 1,342
Website

Re: Packaging suggestion EIGEN: do we still need the eigen3 subfolder?

DarioP wrote:

I am not sure what that file is for […]

pkg-config (.pc) files are small files that describe information required for using a library (including compilation and linker flags).

They are typically installed to /usr/share/pkgconfig and /usr/lib/pkgconfig, and you can use a pkg-config aware tool (such as `pkgconf`) to query that information. For eigen3, it's

$ pkgconf --cflags eigen3
-I/usr/include/eigen3

The output can then be passed to gcc as-is:

$gcc -Wall -Wextra -std=… $(pkgconf --cflags {lib1} {lib2} {lib3} …)

(the same for linking, where you invoke `pkgconf --libs …`).

[…] but I am sure that a lot of other libraries just #include <Eigen/something.hpp>

That's because they assume that the compiler will be invoked with the correct compilation flags. You do that right now, but you assume that every system will have Eigen installed in /usr/include/eigen3, and your code will not compile on systems where that is not the case.

It's therefore recommended to set library-specific compilation flags using pkgconf, as shown above. Don't hardcode -I… flags for external libraries.


{,META,RE}PKGBUILDSpacman-hacks (includes makemetapkg and remakepkg) │ dotfiles

Offline

#12 2019-07-18 09:58:00

DarioP
Member
From: Geneva
Registered: 2011-01-05
Posts: 115

Re: Packaging suggestion EIGEN: do we still need the eigen3 subfolder?

ayekat wrote:
$ pkgconf --cflags eigen3
-I/usr/include/eigen3

Cool! I have learnt something smile

Offline

Board footer

Powered by FluxBB