>> This difference is due to the fact that Harbour is installed
>> to system location on your system and not on mine. hbmk2 will
>> adapt and use full dirspec to link against dylib. Anyhow the
>> problem is present in both cases apparently.
> 
> In my local repo I remove all that HB_SYSLOC logic in the global.mk.
> I don't understand the need to have different logic for different paths.
> Moreover /opt is completely different from /usr since it's never used
> by the system.

I've explained this several times. Without this logic, 
only broken shared builds could be created without sudo 
rights (and/or extra manual configuration).

BTW, I personally don't care much about what we 
consider "system location". We have a list based on 
past feedback, but we can take in/out any dirs, in 
this case we can take out /opt, if that causes 
problems. (and I guess it does as it's indeed not 
in default lib dir search list)

We also have some pending plans to make reforms 
to system location detection, which also involves 
looking for actual LD_PATH list to make this decision, 
but these will be done only after 2.0.0 stable as 
it shall be done with other build changes causing 
lots of turbulence on all platforms.

> If the user doesn't define a path Harbour should choose a safe default
> but if the user defines it I don't see the reason why the build system
> should override the choice.

Pls remember, that because of strong opinion of *nix users 
and because most other packages work that way we opted to 
make the default path a system path. So f.e. I who don't 
want to pollute non-user areas with Harbour test builds, 
always have to override install path, yet I don't have these 
path in LD_PATH, simply because I prefer to not hard-wire 
such things into my system settings, and keep everything 
portable/moveable. Well, 'nough said.

> However in this case I'm using the standard svn.

No doubt and the problem at hand doesn't seem to have much 
to do with above issue, since it happens in both scenarios.

F.e., here is otool (ldd equivalent on OS X) output:
---
hbmk2: Linker command:                                                         
/Developer/usr/bin/clang hbide.o hbmk_5HIQqC.o   -lhbxbp -lhbqt -lhbqtcore 
-lhbqtgui -lhbqtnetwork -lsupc++ -lhbcplr -lhbdebug 
/Library/Frameworks/QtCore.framework/QtCore 
/Library/Frameworks/QtGui.framework/QtGui 
/Library/Frameworks/QtNetwork.framework/QtNetwork 
/Users/vszakats/harbour/lib/darwin/clang/libharbour.dylib -o hbide 
-L/Users/vszakats/harbour/lib/darwin/clang

silver:hbide vszakats$ otool -L hbide
hbide:
        QtCore.framework/Versions/4/QtCore (compatibility version 4.6.0, 
current version 4.6.0)
        QtGui.framework/Versions/4/QtGui (compatibility version 4.6.0, current 
version 4.6.0)
        QtNetwork.framework/Versions/4/QtNetwork (compatibility version 4.6.0, 
current version 4.6.0)
        harbour.dylib (compatibility version 2.0.0, current version 2.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 125.0.0)

---

Why whole dir is stripped and why 'lib' prefix is stripped 
from dylib reference? Maybe because of -L option with the 
same dir?

Brgds,
Viktor

_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to