Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Oct 2013 22:40:27 GMT
From:      Byron Young <bky@bkyoung.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/182814: gnat-2010 linker issues
Message-ID:  <201310072240.r97MeR6D073505@oldred.freebsd.org>
Resent-Message-ID: <201310072250.r97Mo02R047681@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         182814
>Category:       ports
>Synopsis:       gnat-2010 linker issues
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Oct 07 22:50:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Byron Young
>Release:        9.2-RELEASE
>Organization:
>Environment:
i386
>Description:
A few issues with /usr/ports/lang/gnat which creates packages-9.2-release/lang/gnat-2010.tbz

-DWANT_SHAREDLIBS builds libgnala.a, not libgnala.so

gnatmake adds linker options -Wl,rpath and -L
 /usr/local/lib/gcc-nat/gcc/i386-portbld-freebsd9.2/4.3.6/adalib/
The trailing / must be removed from command line -L to find -lgnat-2010.

Body unit source file gcc-4_3-branch-src/gcc/ada/i-forbla.adb pragma add undefined dependency to -lgnalasup. Changing to
-pragma Linker_Options ("-lgnalasup");
+pragma Linker_Options ("-lblas");
+pragma Linker_Options ("-llapack");
appears to resolve the dependency issue (attached patch).

LIB_DEPENDS+= blas:${PORTSDIR}/math/blas
LIB_DEPENDS+= lapack:${PORTSDIR}/math/lapack

>How-To-Repeat:

>Fix:
correct linker dependency

cd /usr/ports/lang/gnat/work
patch < patch-i-forbla_adb.txt

Patch attached with submission follows:

diff --git gcc-4_3-branch-src/gcc/ada/i-forbla.adb gcc-4_3-branch-src/gcc/ada/i-forbla.adb
index b5e1e3f..217b194 100644
--- gcc-4_3-branch-src/gcc/ada/i-forbla.adb
+++ gcc-4_3-branch-src/gcc/ada/i-forbla.adb
@@ -39,6 +39,8 @@
 
 package body Interfaces.Fortran.BLAS is
    pragma Linker_Options ("-lgnala");
-   pragma Linker_Options ("-lgnalasup");
+--   pragma Linker_Options ("-lgnalasup");
+   pragma Linker_Options ("-lblas");
+   pragma Linker_Options ("-llapack");
    pragma Linker_Options ("-lm");
 end Interfaces.Fortran.BLAS;


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310072240.r97MeR6D073505>