RE: Building with GCC on Ubuntu 18

From: Jim Phillips (jim_at_ks.uiuc.edu)
Date: Fri Nov 09 2018 - 16:17:41 CST

The config script is magic like that. -Jim

On Fri, 9 Nov 2018, Vermaas, Joshua wrote:

> Hi Jerome,
>
> Weird. When I build NAMD with 18.04, gnu compilers looks in the system directories by default, so I don't change anything in arch/ other than CUDA locations when I rebuild NAMD with a new release.
>
> -Josh
>
>
> On 2018-11-09 06:01:10-07:00 Jrme Hnin wrote:
>
> Thanks Josh!
> That said, in my tests the system library locations are not searched, as the default line in the arch file is:
> TCLDIR=/Projects/namd2/tcl/tcl8.5.9-linux-x86_64-threaded
> Jerome
>
> On Thu, 8 Nov 2018 at 18:51, Vermaas, Joshua <Joshua.Vermaas_at_nrel.gov<mailto:Joshua.Vermaas_at_nrel.gov>> wrote:
> The other option is to use dynamically loaded fftw and tcl. On ubuntu, I think the relevant packages are "fftw-dev" or "libfftw3-dev" and either "tcl8.5-dev" or "tcl8.6-dev", which put things where the default Makefile expects to find them.
>
> -Josh
>
>
>
> On 2018-11-08 10:29:37-07:00 owner-namd-l_at_ks.uiuc.edu<mailto:owner-namd-l_at_ks.uiuc.edu> wrote:
>
> Well look into it. Thanks for reporting that, Jerome.
> Julio
>
> On Nov 8, 2018, at 11:18 AM, Jrme Hnin <jerome.henin_at_ibpc.fr<mailto:jerome.henin_at_ibpc.fr>> wrote:
>
> Dear all,
> just an announcement to anyone who'd run into trouble building NAMD with GCC as shipped with recent Ubuntu distros. They enable PIE by default: https://wiki.ubuntu.com/SecurityTeam/PIEfnSyKkfkyVRBIUzlG1GSGGZAZGcznwr8YliSSCjPc%26m%3DfvL2HxXBc0Wm9o6bm9n18giKJj9NVVjzK9Hhr5h9tCg%26s%3DZIZpjLxaNPamXi49qEfd3tYsc1VcVChfhldG_UD1W1s%26e%3D&data=02%7C01%7CJoshua.Vermaas%40nrel.gov%7Cc432f9193ff14a45f2bd08d6464369c2%7Ca0f29d7e28cd4f5484427885aee7c080%7C0%7C0%7C636773652699132132&sdata=UwzoxQ4JOA1qDf7Rrx2L%2BX%2BCUONJ9BvbNq%2FR038X17Y%3D&reserved=0>
> which will break if you try to link NAMD with, say, a static FFTW that wasn't built with that option. Then you'll see errors like this:
>> relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
> This can be fixed by adding the option -no-pie to CXXOPTS in the relevant arch file (eg. Linux-x86_64-g++.arch).
>
> Jerome
>

This archive was generated by hypermail 2.1.6 : Tue Nov 12 2019 - 23:20:09 CST