gmake in jail from ports linking to ld-linux.so.2 ??? Re: building jdk15 in a jail -- __mb_cur_max Undefined Symbol

Chad Leigh -- Shire.Net LLC chad at shire.net
Sun Mar 4 18:15:43 UTC 2007


On Mar 3, 2007, at 5:18 PM, Bill Moran wrote:

>
>> On Mar 3, 2007, at 4:01 PM, Chad Leigh -- Shire.Net LLC wrote:
>>
>>> Hi
>>>
>>> I am trying to build jdk15 inside my jail with PREFIX set to /usr/
>>> public  (At one time I successfully got jdk 1.4 to build after much
>>> hacking)
>>>
>>> I have the option for builing inside a jail set.  We get to the
>>> point where the linux java is installed and it is actually building
>>> the jdk
>>>
>>> # Start of jdk build
>>> /libexec/ld-elf.so.1: /usr/local/lib/libiconv.so.3: Undefined
>>> symbol "__mb_cur_max"
>>> *** Error code 1
>>>
>>> Stop in /usr/ports/java/jdk15.
>>> #
>>>
>>> I am not exactly sure what it is doing at this point in order to
>>> hack round it.    libiconv a fresh install from ports
>>>
>>
>> Turns out that the issue is that gmake cannot run.  I have not
>> figured out why yet, having removed and reinstalled libiconv and
>> gmake and getting the same error.  But it is not java related.
>>
>> I'll redirect this to -questions
>>
>> If anyone has an idea on why gmake would fail as above on a fresh
>> install, 6.2-RELEASE from a day or two ago, I would appreciate it.
>> Please CC me as I am not currently subscribed to -questions, though I
>> am on -java
>
> Not a direct answer to your question, but when I needed to do this
> a few months ago, I just did a "make package" on my workstation, then
> shipped the package up to the jail system and installed it with  
> pkg_add.
>
> Doesn't solve the problem, but if you're in a pinch, it's a handy
> workaround.

Bill -- Thanks!

That is an idea too.  Maybe I will do that.

-----

However, I want to figure why gmake is not working in the jail when I  
install from ports.  Using the same directory tree on the base  
machine it works, but not in the jail.  gmake gives the error

/libexec/ld-elf.so.1: /usr/local/lib/libiconv.so.3: Undefined symbol  
"__mb_cur_max"

when built and run inside the jail but not when built and run pn the  
base machine.

doing an "ldd" on the base machine shows

# ldd /usr/local/bin/gmake
/usr/local/bin/gmake:
         libintl.so.6 => /usr/local/lib/libintl.so.6 (0x8809b000)
         libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x880a4000)
         libc.so.6 => /lib/libc.so.6 (0x88191000)
#

but in the jail it shows

# ldd /usr/public/bin/gmake
/usr/public/bin/gmake:
         libintl.so.6 => /usr/local/lib/libintl.so.6 (0x8809b000)
         libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x880a4000)
         libc.so.6 => /usr/local/lib/libc.so.6 (0x88191000)
         ld-linux.so.2 (0x882ae000)
#

and I can't see why this would be the case.  Both are building from  
the same port, same os, everything (indeed same machine)

Any ideas appreciated!  I am trying things and googling as well etc  
but I appreciate insight others may have on this.  Has been stumping  
me for several hours today already :-(

Please CC on any responses for now.  I am resubscribing to -questions  
but don't know how long it will take to come back at me

thanks
Chad


---
Chad Leigh -- Shire.Net LLC
Your Web App and Email hosting provider
chad at shire.net





More information about the freebsd-questions mailing list