-
-
Notifications
You must be signed in to change notification settings - Fork 364
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
mapscript-perl 6.2.0 does not link to libmapserver #4528
Comments
|
I have just downloaded and built mapserver and perl mapscript 6.2.0 on my cd mapserver-6.2.0 Note the ldconfig step, perhaps that's what you are missing? HTH, On Wed, Nov 21, 2012 at 12:13 PM, heikoklein notifications@github.comwrote:
|
|
If you install mapserver before building the perl-library, you are right and mapscript-perl works. But if you omit the step before it doesn't work. Usually, 'make install' is the last step, or in the case of building debian packages, it never happens on the same machine. |
|
With the recent move to libtool make install is now required for all On Wed, Nov 21, 2012 at 2:34 PM, heikoklein notifications@github.comwrote:
|
|
Do you mean 'with the recent move to libtool' the recent move to shared libraries? I understand that libmapserver.so needs to be installed, but I don't think it should be a requirement that it is installed in the middle of the build-process. Adding the build-directory as additional and temporary library directory is very usual for multi-library builds to come around the issue of installation order. I send a patch to the ubuntu-maintainer of mapserver, since it must be fixed there for 6.2.0. I'd rather see a patch in the sources for 6.2.1 than a permanent patch in debian-packages. |
|
@heikoklein For mapserver move to libtool === move to shared libraries perhaps you could open a pull request with the proposed changes? I'd be glad to assist you. |
|
I'm not familiar to work with git/github, and since it is only a one line change, here is the patch: |
|
My coworker received the patch. He will be able to include it in UbuntuGIS tomorrow. @unicolet can you take care of pushing this patch in branch-6-2 ? Thanks @heikoklein |
|
I can do it, but I propose we should check all other mapscripts as well. On Wed, Nov 21, 2012 at 3:18 PM, Alan Boudreault
|
|
Fixed in UbuntuGIS. Thanks for your patch. |
|
Pushed a fix for java, perl, ruby and python in 6-2 branch: If it's ok with you I will push it to master too. |
|
User reported success on ML. |
…o install core mapserver
…ests without having to instal…
|
reopening, this fix has broken the builds for other packagers, c.f. http://osgeo-org.1560.x6.nabble.com/RPATH-build-error-for-v6-2-1-td5049992.html (cc /@kalxas) . Putting .libs in the LDFLAGS is clearly not a correct solution,we may need to fallback linking mapscripts to a static mapserver library... |
|
We have other options besides static linking: tell the user to define NO_BRP_CHECK_RPATH in the spec file to disable RPATH checking or implementing a --disable-rpath in the mapserver configure (disabled by default). |
|
Linking to .libs/libmapserver.so is incorrect and should be removed. Conceptually, mapscript and mapserver are separate entities and therefore it's not surprising that we're having issues when linking against the uninstalled version of libmapserver in perl mapscript as the perl build is not using libtool. I would say our options are:
disabling the rpath checks in the rpm is not the solution, as that test has clearly showed that we are incorrectly linking perl mapscript against an uninstalled version of libmapserver. |
|
Note that in the build log referenced by the email mapscript is not linked against an uninstalled version of mapserver, but against the current build, so no error there. A proposed fix would be to disable rpath checks while I figure it out. I'll keep this open so that I remember to fix it. |
|
closing old issues |
mapscript-perl in release 6.2.0 does not link to libmapserver and thus does not work at all.
In Makefile.PL.in the libraries link to -lmapserver, which is not installed in /usr/lib at that stage, and perl therefore removes that libraries.
Adding the build-directories library like
$libs = "-L$libdir -L$home/.libs -lmapserver";
links to libmapserver, both in /usr/lib and mapserver-6.2.0/.libs.
Heiko
The text was updated successfully, but these errors were encountered: