texlive_base failed to build

Frank J. R. Hanstick trog24 at comcast.net
Sat Oct 18 09:51:26 PDT 2008


Hello,
	I completely uninstalled texlive and texlive_base and then installed  
using the -d and outputting to a log file.  As I previously noted and  
subsequently suspected,, xetexdir/XeTeXFontMgr_Mac.mm is the only  
file that uses an unprefixed gcc to compile.  The log file  
verification is as follows:

gcc -ObjC++ -I../../libs/icu-xetex/common -I./../../libs/icu-xetex/ 
common -I./../../libs/icu-xetex/layout -DLE_USE_CMEMORY -I/opt/local/ 
include -I/opt/local/include/freetype2 -DHAVE_CONFIG_H  -I. -I. -I.. - 
I./..  -isystem/opt/local/include -I../../libs/obsdcompat -I../../ 
libs/obsdcompat/.. -I./../../libs/obsdcompat -I./../../libs/ 
obsdcompat/..  -DXETEX_MAC -c xetexdir/XeTeXFontMgr_Mac.mm -o  
XeTeXFontMgr_Mac.o

	The situations is that with /opt/local/bin at the head of the path,  
the search for gcc will result in the /opt/local/bin gcc being used  
if installed which will be gcc-mt-4.3.2.

	To verify that the command is generated during ./configure, I  
unpacked texlive_base in my desktop directory, found the directory,  
and ensured that Makefile did not exist.  I then ran ./configure and  
generated Makefile.  The generated Makefile had the unprefixed  
command.  This looks like an author problem because I do not want to  
mess around with the creation of Makefile.
Frank

On Oct 18, 2008, at 2:24 AM, Ryan Schmidt wrote:

>
> On Oct 18, 2008, at 04:13, Frank J. R. Hanstick wrote:
>
>> On Oct 18, 2008, at 1:05 AM, Ryan Schmidt wrote:
>>
>>> On Oct 17, 2008, at 18:15, Frank J. R. Hanstick wrote:
>>>
>>>> On Oct 17, 2008, at 2:29 PM, Bryan Blackburn wrote:
>>>>
>>>>> On Fri, Oct 17, 2008 at 02:03:56PM -0700, Frank J. R. Hanstick  
>>>>> said:
>>>>>
>>>>>> ~ frank$ gcc_select -l
>>>>>> Available versions:
>>>>>> mp-gcc43
>>>>>>
>>>>>> ~ frank$ which gcc
>>>>>> /opt/local/bin/gcc
>>>>>
>>>>> Sounds like some part of the texlive_base build process is  
>>>>> ignoring
>>>>> when
>>>>> port sets CC to /usr/bin/gcc-4.0, but only when compiling that one
>>>>> file.
>>>>> Since it's using just a bare 'gcc' it's picking up your MacPorts-
>>>>> installed
>>>>> gcc43 which doesn't support the -ObjC++ option (that option is  
>>>>> only
>>>>> available in Apple's gcc).
>>>>>
>>>>> For now, you should be able to get it to build by using gcc_select
>>>>> to use
>>>>> gcc40, though your '-l' output above doesn't show it, so make sure
>>>>> you have
>>>>> the current gcc_select port (0.1_1).
>>>>
>>>> 	The path structure points to /opt/local/bin first instead of /usr/
>>>> bin; therefore, I pickup the gcc_select in /opt/local/bin  
>>>> gcc_select
>>>> which is what I want so long as I do not hit -obj/C++.  I had read
>>>> somewhere that MacPort always used /usr/bin/gcc and bypassed
>>>> gcc_select.  I gather that this is not true.
>>>
>>> MacPorts causes Apple's GCC to always be used by setting the CC  
>>> variable. If the port ignores the CC variable, as some part of  
>>> texlive_base appears to, then MacPorts cannot guarantee what GCC  
>>> will be used. This would appear to be a bug in texlive_base which  
>>> would be best reported to its authors. Or if you can work out a  
>>> patch to fix it, we can apply the patch in the port, and then  
>>> report it to the authors of the software.
>>
>> 	I reconfigured my system to point to gcc-4.0.1 and successfully  
>> got through texlive.  The installation was completed successfully.
>>
>> 	In going through the sequence I passed you, I noticed the very  
>> first error line was:
>>
>> Error: Target org.macports.build returned: shell command " cd "/ 
>> opt/local/var/macports/build/ 
>> _opt_local_var_macports_sources_rsync.macports.org_release_ports_tex_ 
>> texlive_base/work/texlive_base-2007" && make all " returned error 2
>
> That is how MacPorts tells you an error occurred. The lines below  
> that come from the software being installed and tell you what error  
> occurred.
>
>> Since I do not have verbage before this point, I wonder what in  
>> gcc-mp-4.3.2 would cause this error.  The build did continue after  
>> this error in any case.  Even then, there were several  
>> compilations prior to the gcc -OBjC++ call (xetexini.c, xetex0.c,  
>> xetex1.c, xetex2.c, xetexextra.c, xetexdir/trans.c, xetexdir/ 
>> XeTeX_ext.c, and xetexdir/XeTeX_mac.c) that used /usr/bin/gcc-4.0  
>> as advertised.  It was only when it came time to compile xetexdir/ 
>> XeTeXFontMgr_Mac.mm that the non prefixed gcc  was called instead  
>> of the prefixed /usr/bin/gcc-4.0.  This sounds like a make file  
>> error which could have resulted from running configure.  Can I  
>> assume that in your port, you use the configure supplied by the  
>> authors to create the make files?
>
> The texlive_base port does use the configure script provided with  
> the software. You can run "sudo port clean texlive_base" followed  
> by "sudo port -d install texlive_base" to see that and all other  
> commands that get run, if you like.
>



More information about the macports-users mailing list