executing gcc9 on macOS 10.14
Chris Jones
jonesc at hep.phy.cam.ac.uk
Wed Oct 23 08:27:18 UTC 2019
Hi,
One other comment. What version of the ld64 port do you have installed ?
If it is not using the xcode variant, then please reinstall in using that
> port installed ld64
The following ports are currently installed:
ld64 @3_1+ld64_xcode (active)
if you do not get the above, run
> sudo port -f uninstall ld64
> sudo port install ld64
Chris
On 23/10/2019 9:21 am, Chris Jones wrote:
> Hi,
>
> ( Please always reply to the list )
>
> The error below looks like one we addressed recently. Have you updated
> your ports ? Please run
>
> > sudo port sync
> > sudo port upgrade outdated
>
> then try again.
>
> Chris
>
>
> On 23/10/2019 9:17 am, Hans Goedbloed wrote:
>> Thanks Chris,
>>
>> Looks like what I hoped for: no other tools than gcc9 needed.
>> However, when I do precisely what you said, I still get
>>
>> hanss-imac:resabs hansgoedbloed$ gfortran-mp-9 -o test.exe ./test.f
>> ld: library not found for -lSystem
>> collect2: error: ld returned 1 exit status
>>
>> All the libraries listed from your otool command are there, except
>> /usr/lib/libSystem.B.dylib.
>> Could that be the problem?
>>
>> Hans
>>
>> ________________________________________
>> From: macports-users <macports-users-bounces at lists.macports.org> on
>> behalf of Chris Jones <jonesc at hep.phy.cam.ac.uk>
>> Sent: Tuesday, October 22, 2019 7:09 PM
>> To: macports-users at lists.macports.org
>> Subject: Re: executing gcc9 on macOS 10.14
>>
>> Hi,
>>
>> Your ld command is incomplete. You aren't passing any of the runtime
>> libraries needed to link the .o file into an executable.
>>
>> The simplest approach is to let gcc do the full job.
>>
>> Titan ~/Documents/Code > cat test.f
>> program hello
>> print *, "Hello World!"
>> end program hello
>> Titan ~/Documents/Code > gfortran-mp-9 -o test.exe ./test.f
>> Titan ~/Documents/Code > ./test.exe
>> Hello World!
>>
>> Titan ~/Documents/Code > otool -L ./test.exe
>> ./test.exe:
>> /opt/local/lib/libgcc/libgfortran.5.dylib (compatibility
>> version 6.0.0,
>> current version 6.0.0)
>> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
>> version 1252.200.5)
>> /opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version
>> 1.0.0,
>> current version 1.0.0)
>> /opt/local/lib/libgcc/libquadmath.0.dylib (compatibility
>> version 1.0.0,
>> current version 1.0.0)
>>
>> Chris
>>
>> On 22/10/2019 5:41 pm, Hans Goedbloed wrote:
>>> I have been using g95 for my fortran codes for many years, but it did
>>> not work anymore after upgrading to macOS 10.14 Mojave. I was advised to
>>> install gccc9 from MacPorts instead. This I did through "sudo port
>>> selfupdate" and "sudo port install gcc9".
>>>
>>> This appeared to give all the required tools. When I then tried to
>>> compile and execute the simplest fortran program test.f (the usual just
>>> writing of the message "Hello") by first compiling
>>>
>>> /opt/local/bin/gfortran-mp-9 -v -c test.f
>>>
>>> giving the required object file test.o, and then loading:
>>>
>>> /opt/local/bin/ld -v test.o
>>>
>>> this resulted in the messages
>>>
>>> @(#)PROGRAM:ld PROJECT:ld64-512.4
>>>
>>> BUILD 05:06:53 Aug 16 2019
>>>
>>> configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32
>>> i386 x86_64 x86_64h armv6m armv7k armv7m armv7em
>>>
>>> Library search paths:
>>>
>>> /usr/lib
>>>
>>> Framework search paths:
>>>
>>> /Library/Frameworks/
>>>
>>> /System/Library/Frameworks/
>>>
>>> Undefined symbols for architecture x86_64:
>>>
>>> "__gfortran_set_args", referenced from:
>>>
>>> _main in test.o
>>>
>>> "__gfortran_set_options", referenced from:
>>>
>>> _main in test.o
>>>
>>> "__gfortran_st_write", referenced from:
>>>
>>> _MAIN__ in test.o
>>>
>>> "__gfortran_st_write_done", referenced from:
>>>
>>> _MAIN__ in test.o
>>>
>>> ld: symbol(s) not found for architecture x86_64
>>>
>>> I thought installation of gcc9 would include everything. How should I
>>> fix this?
>>>
>>>
>>> Hans
>>>
>>>
More information about the macports-users
mailing list