No postgresql-devel-32bit package?

Hey guys, this is my first post so I don’t know if this is the right sub-forum, but here goes my question.

I recently installed openSUSE 13.2 64-bit to try it out, but my job requires me to compile 32-bit applications most of the time. Currently I’m building something that has a dependency on libpq.so, and it’s failing to link because there is no libpq.so symbolic link in /usr/lib. I searched for PostgreSQL in YaST2 and made sure the following obvious choices of packages were installed:

  • libpq5
  • libpq5-32bit
  • postgresql
  • postgresql-devel
  • postgresql93
  • postgresql93-devel

Since there is a libpq.so symbolic link in /usr/lib64, I assume postgresql93-devel installed it, but this didn’t create a libpq.so symbolic link in /usr/lib, even after installing it after libpq5-32bit.

I can probably ‘fix’ this by making the sym link myself, but shouldn’t there be a postgresql-devel-32bit package (or equivalent)?

It’s most likely a packaging error and it’s simply missing, the 32-bit devel and 64-bit devel files are the same.

Just create a symlink in /usr/lib/libpq.so to point to /usr/lib/libpq.so.5.6

Or maybe they are considered unnecessary.

Just create a symlink in /usr/lib/libpq.so to point to /usr/lib/libpq.so.5.6

Another option would be to install the i586 postgresql-devel package (click on “Versions” in YaST).
But then you wouldn’t be able to build 64bit applications against postgresql any more of course.

Yeah well that makes sense if you install the -devel package and 64-bit libs.

It would make sense for the libpq5-32bit to make the symlink though, it’s unlikely you’ll have more than one installed at any given time anyway.

Wouldn’t that replace the existing x86_64 one? Isn’t there a supported way of having two coexisting development versions of the library? This seemed to work seamlessly with other dependencies I had, such as ncurses and glib. They both had -devel-32bit equivalents of the 64-bit versions.

Yes, as I wrote.
But if you only want to build 32bit applications, this should be ok I suppose.

Or just create the symlink manually, as Miuku suggested.
It is just a symlink anyway, the 32bit library does exist as separate -32bit package, and the headers are the same for 32bit and 64bit (even in the same location).

Isn’t there a supported way of having two coexisting development versions of the library? This seemed to work seamlessly with other dependencies I had, such as ncurses and glib. They both had -devel-32bit equivalents of the 64-bit versions.

Of course it would be possible.
But in this particular case, there is no -devel-32bit package available, as you wrote yourself.

If you think there should be, please file a bug report.
http://bugzilla.opensuse.org/ (same username/password as here)

You’re right, I missed what you wrote there.

I know it’s just a symlink, and that’s what I’ve done to move on, but I think it would be better to have that in a package. However, I’ve found a couple of other similar examples where I had to create the symlink myself which makes me wonder if all of this is intentional or by design. Do you know of a mailing list where I can ask such package-related questions before filing a bug?

opensuse-factory I suppose:
http://lists.opensuse.org/opensuse-factory/

Or maybe http://lists.opensuse.org/opensuse-packaging/, but that’s more about asking for help in creating packages than asking about problems with the existing packages.