Note to self: Make sure to double check before posting.

Turns out ./dist/lib/ remained from the previous install, which I didn't delete
before testing with --libdir=$(pwd)/dist/mylibs.

Indeed, it only creates ./dist/mylibs, and indeed it fails to find the dylib
when running ./dist/bin/tcc, (make test still works).


     On Thursday, July 9, 2020, 09:02:24 PM GMT+3, avih <avih...@yahoo.com> 
wrote:  
 
  Thanks. I can confirm current mob (6c94df6) does work also with custom prefix,
as well as building in a custom dir (mkdir build && cd build && ../configure 
...).

However, looking at that commit, I thought it would break with a custom 
--libdir,
like ./configure --libdir=$(pwd)/dist/mylibs but I tried it and it still worked.

Turns out it creates both ./dist/lib and ./dist/mylibs, and libtcc.dylib is at 
both
of them as well as tcc/ and its content (duplicated at both dirs), though 
libtcc.a
is only at ./dist/lib/ .

Is that expected? I never tried using --libdir before, but commit 6c94df6 makes 
it look
a bit hardcoded, so I tried it now. Wouldn't it be better to specify the 
absolute
install [libdir] ?

Avi


     On Thursday, July 9, 2020, 08:40:42 PM GMT+3, Christian Jullien 
<eli...@orange.fr> wrote:  
 
 #yiv8281334735 -- filtered {}#yiv8281334735 filtered {}#yiv8281334735 filtered 
{}#yiv8281334735 filtered {}#yiv8281334735 filtered {}#yiv8281334735 
p.yiv8281334735MsoNormal, #yiv8281334735 li.yiv8281334735MsoNormal, 
#yiv8281334735 div.yiv8281334735MsoNormal 
{margin:0in;margin-bottom:.0001pt;font-size:12.0pt;font-family:New;}#yiv8281334735
 a:link, #yiv8281334735 span.yiv8281334735MsoHyperlink 
{color:blue;text-decoration:underline;}#yiv8281334735 a:visited, #yiv8281334735 
span.yiv8281334735MsoHyperlinkFollowed 
{color:purple;text-decoration:underline;}#yiv8281334735 
p.yiv8281334735msonormal, #yiv8281334735 li.yiv8281334735msonormal, 
#yiv8281334735 div.yiv8281334735msonormal 
{margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:New;}#yiv8281334735
 p.yiv8281334735msonormal1, #yiv8281334735 li.yiv8281334735msonormal1, 
#yiv8281334735 div.yiv8281334735msonormal1 
{margin:0in;margin-bottom:.0001pt;font-size:12.0pt;}#yiv8281334735 
span.yiv8281334735msohyperlink {}#yiv8281334735 
span.yiv8281334735msohyperlinkfollowed {}#yiv8281334735 
span.yiv8281334735emailstyle17 {}#yiv8281334735 span.yiv8281334735msohyperlink1 
{color:blue;text-decoration:underline;}#yiv8281334735 
span.yiv8281334735msohyperlinkfollowed1 
{color:purple;text-decoration:underline;}#yiv8281334735 
span.yiv8281334735emailstyle171 {color:#1F497D;}#yiv8281334735 
span.yiv8281334735EmailStyle25 {color:#1F497D;}#yiv8281334735 
span.yiv8281334735EmailStyle26 {color:#1F497D;}#yiv8281334735 
.yiv8281334735MsoChpDefault {font-size:10.0pt;}#yiv8281334735 filtered 
{}#yiv8281334735 div.yiv8281334735WordSection1 {}#yiv8281334735 
I’ve found another (and better) way to achieve this:

-Wl,-rpath,"@executable_path/$(TOP)" -Wl,-rpath,"@executable_path/$(TOP)/../lib"

  

It is commited, can you please test this one.

  

  

From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On 
Behalf Of Christian Jullien
Sent: Thursday, July 09, 2020 19:07
To: tinycc-devel@nongnu.org; jull...@eligis.com
Cc: 'avih'
Subject: Re: [Tinycc-devel] macos: DYLD_LIBRARY_PATH no longer works after 
cleanup

  

Thanks avih, another step is missing (it works well with default install 
location)

Can you please test this:

$ install_name_tool -add_rpath "@executable_path/../lib/" tcc

$ make install

$ ./dist/bin/tcc -vv

tcc version 0.9.27 (x86_64 Darwin)

install: /Users/jullien/tinycc/dist/lib/tcc

…

  

It work for me. If it also works for you I’ll add this step to macos build

  

From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On 
Behalf Of avih via Tinycc-devel
Sent: Thursday, July 09, 2020 18:23
To: tinycc-devel@nongnu.org; jull...@eligis.com
Cc: avih
Subject: Re: [Tinycc-devel] macos: DYLD_LIBRARY_PATH no longer works after 
cleanup

  


Seems that moving ./dist/lib/libtcc.dylib to ./dist/bin/ makes it work,
compile programs successfully, and -run works as well.

So it seems that install target doesn't take everything into account.

On Thursday, July 9, 2020, 07:17:38 PM GMT+3, avih <avih...@yahoo.com> wrote: 

  

  


Oh, I missed the commits from today.

Indeed, with latest mob (6bd0ced) this now succeeds:
./configure --disable-static && make && make test

However, when building and installing like this:
./configure --disable-static --prefix=$(pwd)/dist && make && make test && make 
install

Then it succeeds, but the tcc binary seems missing the dylib:
$ ./dist/bin/tcc
dyld: Library not loaded: @rpath/libtcc.dylib
Referenced from: /Users/avih/dev/tcc/tcc.upstream/./dist/bin/tcc
Reason: image not found
Abort trap: 6

When not using --disable-static, then tcc runs fine, compiles and even -run 
works.

On Thursday, July 9, 2020, 07:07:12 PM GMT+3, Christian Jullien 
<eli...@orange.fr> wrote: 

  

  

?? can you please try with mob and give me the complete log?

 

The fix is “macos: tcc searches for libtcc.dyln in the same directory as its 
executable”

 

C.

 

From: avih [mailto:avih...@yahoo.com] 
Sent: Thursday, July 09, 2020 17:52
To: jull...@eligis.com; tinycc-devel@nongnu.org
Subject: Re: [Tinycc-devel] macos: DYLD_LIBRARY_PATH no longer works after 
cleanup

 

What's the fix? I tried looking at the earlier messages, but didn't
see a diff/patch.

For me on osx 10.13 (real MBA) I also have the same issue when
using --disable-static, but it seems fine without it, including -run.

On Thursday, July 9, 2020, 06:38:10 PM GMT+3, Michael Matz 
<matz....@frakked.de> wrote: 

 

 

Hello Christian,

(I missed the question earlier, apologies)

On Thu, 9 Jul 2020, Christian Jullien wrote:

> If you have a moment, can you please test if my macos fix for dyld also 
> works on your configuration?

Yes, it works fine here on my emulated macOS.




Ciao,
Michael.

_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel
    
_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to