tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] macos: DYLD_LIBRARY_PATH no longer works after cleanu


From: ian
Subject: Re: [Tinycc-devel] macos: DYLD_LIBRARY_PATH no longer works after cleanup
Date: Sat, 11 Jul 2020 07:17:13 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

Hi.

Please consider not  fucking everybody's mailing-list.

I ain't a  chat hu ?

But FYI your  contribution is welcomed, many thanks.


ian


Le 09/07/2020 à 23:16, avih via Tinycc-devel a écrit :

I've pushed a fix to mob to support arbitrary libdir (c69290fb).

The relative path is now used during `make test', while the fixed libdir is used after install.

On Thursday, July 9, 2020, 09:12:06 PM GMT+3, avih via Tinycc-devel <tinycc-devel@nongnu.org> wrote:


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 <avihpit@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 <eligis@orange.fr> wrote:


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.fr@nongnu.org] On Behalf Of Christian Jullien
Sent: Thursday, July 09, 2020 19:07
To: tinycc-devel@nongnu.org; jullien@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.fr@nongnu.org] On Behalf Of avih via Tinycc-devel
Sent: Thursday, July 09, 2020 18:23
To: tinycc-devel@nongnu.org; jullien@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 <avihpit@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 <eligis@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:avihpit@yahoo.com]
Sent: Thursday, July 09, 2020 17:52
To: jullien@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.tcc@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

_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel
--
-- sibian0218@gmail.com
-- Développeur compulsif

reply via email to

[Prev in Thread] Current Thread [Next in Thread]