all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* installing libraries
@ 2016-07-22 12:36 Vincent Legoll
  2016-07-22 19:18 ` Tobias Geerinckx-Rice
  2016-07-22 21:11 ` Alex Kost
  0 siblings, 2 replies; 8+ messages in thread
From: Vincent Legoll @ 2016-07-22 12:36 UTC (permalink / raw)
  To: help-guix

Hello (again),

I'm trying to do a kernel "make menuconfig", so I have to install some packages,
make, gcc, binutils, ncurses, glibc, linux-libre-headers...

but ncurses despite being installed, is not picked up...

vince@guixsd ~/tmp/build-linux$ ls $LIBRARY_PATH/*ncurses*
/home/vince/.guix-profile/lib/libncurses.a
/home/vince/.guix-profile/lib/libncurses++w.a
/home/vince/.guix-profile/lib/libncursesw.so.6
/home/vince/.guix-profile/lib/libncurses.so
/home/vince/.guix-profile/lib/libncursesw.a
/home/vince/.guix-profile/lib/libncursesw.so.6.0
/home/vince/.guix-profile/lib/libncurses.so.6
/home/vince/.guix-profile/lib/libncursesw.so

I've found that doing:
vince@guixsd ~/tmp/build-linux$ export LD_LIBRARY_PATH=$LIBRARY_PATH

will make it work...

Is that the "right" way to do it ?

I seem to remember that the export LIBPATH line was hinted from some
package install (maybe gcc), so I put it in .bashrc...

-- 
Vincent Legoll

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: installing libraries
  2016-07-22 12:36 installing libraries Vincent Legoll
@ 2016-07-22 19:18 ` Tobias Geerinckx-Rice
  2016-07-22 19:51   ` Vincent Legoll
  2016-07-22 21:11 ` Alex Kost
  1 sibling, 1 reply; 8+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-22 19:18 UTC (permalink / raw)
  To: Vincent Legoll; +Cc: help-guix, Help-Guix

Vincent,

On 2016-07-22 14:36, Vincent Legoll wrote:
> I'm trying to do a kernel "make menuconfig", so I have to install some 
> packages,
> make, gcc, binutils, ncurses, glibc, linux-libre-headers...
> 
> but ncurses despite being installed, is not picked up...
> vince@guixsd ~/tmp/build-linux$ export LD_LIBRARY_PATH=$LIBRARY_PATH
> will make it work...

I've no experience with forcing LD_LIBRARY_PATH manually like that,
but it smells fishy.

> Is that the "right" way to do it ?

This is how I do it, so it must be the one true way:

$ guix environment linux-libre --ad-hoc ncurses ... -- make ...
(or drop the ‘-- ...’ for an interactive build shell)

That will set LIBRARY_PATH (and everything else) up for you.

Kind regards,

T G-R

-- 
Sent from a web browser. Excuse my brevity.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: installing libraries
  2016-07-22 19:18 ` Tobias Geerinckx-Rice
@ 2016-07-22 19:51   ` Vincent Legoll
  2016-07-22 20:24     ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 8+ messages in thread
From: Vincent Legoll @ 2016-07-22 19:51 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: help-guix, Help-Guix

> $ guix environment linux-libre --ad-hoc ncurses ... -- make ...
> (or drop the ‘-- ...’ for an interactive build shell)
>
> That will set LIBRARY_PATH (and everything else) up for you.

That does not work, same error

There's no ldconfig, so in absence of LD_LIBRARY_PATH how do dynamic
libraries get loaded ?

-- 
Vincent Legoll

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: installing libraries
  2016-07-22 19:51   ` Vincent Legoll
@ 2016-07-22 20:24     ` Tobias Geerinckx-Rice
  2016-07-22 20:49       ` Vincent Legoll
  0 siblings, 1 reply; 8+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-22 20:24 UTC (permalink / raw)
  To: Vincent Legoll; +Cc: help-guix, Help-Guix

Vincent,

On 2016-07-22 21:51, Vincent Legoll wrote:
>> $ guix environment linux-libre --ad-hoc ncurses ... -- make ...
>> (or drop the ‘-- ...’ for an interactive build shell)
>> 
>> That will set LIBRARY_PATH (and everything else) up for you.
> 
> That does not work, same error

Which error, exactly?

> There's no ldconfig, so in absence of LD_LIBRARY_PATH how do dynamic
> libraries get loaded ?

Are you on a ‘foreign’ Linux distribution by any chance?

Kind regards,

T G-R

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: installing libraries
  2016-07-22 20:24     ` Tobias Geerinckx-Rice
@ 2016-07-22 20:49       ` Vincent Legoll
  2016-07-25 20:31         ` Ludovic Courtès
  0 siblings, 1 reply; 8+ messages in thread
From: Vincent Legoll @ 2016-07-22 20:49 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: help-guix, Help-Guix

> Which error, exactly?

error while loading shared libraries: libncursesw.so.6: cannot open
shared object file: No such file or directory

>> There's no ldconfig, so in absence of LD_LIBRARY_PATH how do dynamic
>> libraries get loaded ?
>
> Are you on a ‘foreign’ Linux distribution by any chance?

No, it looks like I'm on an alien distribution : GuixSD :-)

-- 
Vincent Legoll

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: installing libraries
  2016-07-22 12:36 installing libraries Vincent Legoll
  2016-07-22 19:18 ` Tobias Geerinckx-Rice
@ 2016-07-22 21:11 ` Alex Kost
  1 sibling, 0 replies; 8+ messages in thread
From: Alex Kost @ 2016-07-22 21:11 UTC (permalink / raw)
  To: Vincent Legoll; +Cc: help-guix

Vincent Legoll (2016-07-22 15:36 +0300) wrote:

> Hello (again),
>
> I'm trying to do a kernel "make menuconfig", so I have to install some packages,
> make, gcc, binutils, ncurses, glibc, linux-libre-headers...
>
> but ncurses despite being installed, is not picked up...

Try to install 'gcc-toolchain' instead of 'gcc'.

-- 
Alex

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: installing libraries
  2016-07-22 20:49       ` Vincent Legoll
@ 2016-07-25 20:31         ` Ludovic Courtès
  2016-07-27  9:11           ` Vincent Legoll
  0 siblings, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2016-07-25 20:31 UTC (permalink / raw)
  To: Vincent Legoll; +Cc: help-guix, Help-Guix

Vincent Legoll <vincent.legoll@gmail.com> skribis:

>> Which error, exactly?
>
> error while loading shared libraries: libncursesw.so.6: cannot open
> shared object file: No such file or directory

Since Guix(SD) has no notion of “standard location” for libraries, the
normal way to address search path issues is via RUNPATH.

When you install the ‘gcc-toolchain’ package, the ‘ld’ command you get
is a wrapper that automatically passes the right -Wl,-rpath flags to the
real ‘ld’, such that shared libraries are always found.

Could it be that you built with just plain Binutils’ ld, instead of
that?

HTH!

Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: installing libraries
  2016-07-25 20:31         ` Ludovic Courtès
@ 2016-07-27  9:11           ` Vincent Legoll
  0 siblings, 0 replies; 8+ messages in thread
From: Vincent Legoll @ 2016-07-27  9:11 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: help-guix, Help-Guix

Hello,

> Since Guix(SD) has no notion of “standard location” for libraries, the
> normal way to address search path issues is via RUNPATH.

OK

> When you install the ‘gcc-toolchain’ package, the ‘ld’ command you get
> is a wrapper that automatically passes the right -Wl,-rpath flags to the
> real ‘ld’, such that shared libraries are always found.

That does answer the point I think

> Could it be that you built with just plain Binutils’ ld, instead of
> that?

Yes, you're right, and after removing those packages (binutils, glibc, gcc)
and installing gcc-toolchain instead it now works (almost properly) !

Thanks a lot, Ludo, Alex & Tobias

-- 
Vincent Legoll

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-07-27  9:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-22 12:36 installing libraries Vincent Legoll
2016-07-22 19:18 ` Tobias Geerinckx-Rice
2016-07-22 19:51   ` Vincent Legoll
2016-07-22 20:24     ` Tobias Geerinckx-Rice
2016-07-22 20:49       ` Vincent Legoll
2016-07-25 20:31         ` Ludovic Courtès
2016-07-27  9:11           ` Vincent Legoll
2016-07-22 21:11 ` Alex Kost

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.