Ian Lance Taylor <i...@golang.org> schreef op 20 december 2018 19:20:13 CET:
> On Thu, Dec 20, 2018 at 8:02 AM Peter Kleiweg <pklei...@xs4all.nl>
> wrote:
> >
> > Ian Lance Taylor <i...@golang.org> schreef op 20 december 2018
> 16:47:20 CET:
> > > On Thu, Dec 20, 2018 at 1:07 AM Peter Kleiweg <pklei...@xs4all.nl>
> > > wrote:
> > > >
> > > > Ian Lance Taylor <i...@golang.org> schreef op 20 december 2018
> > > 00:06:58 CET:
> > > >
> > > > > How about this:
> > > > >
> > > > > Move the C files to a subdirectory.  Write a script or
> Makefile
> > > that
> > > > > compiles the C files into a .syso file in the main package
> > > directory,
> > > > > using flags that you specify.  Fetch the package using `go get
> > > -d`.
> > > > > Run the script with the appropriate flags to generate the
> .syso
> > > file.
> > > > > At that point `go build` should work.
> > > >
> > > > The C files are part of the package. This would mean,
> downloading
> > > the package and reorganize it.
> > >
> > > I was imagining that this rearrangement would be done at the
> package
> > > source, not each time it was downloaded.
> >
> > That would be nice, but the package developers are not on our
> payroll. They do not cater for our odd requirements.
> >
> > > > I was thinking there might be a better way. Add a file with
> local
> > > configuration, a file that imports '"C" and sets CFLAGS and
> LDFLAGS,
> > > without modifying the official package files. This works, except
> for
> > > packages that rely on pkg-config. I don't see how I can modify the
> > > contents of PKG_CONFIG_PATH in a Go file.
> > >
> > > Sure, that could work too.
> > >
> > > I don't understand why pkg-config would need to be correct on a
> > > specific system.  Why would pkg-config be incorrect?
> >
> > Sometimes, standard systems are too rigid. Things clash. Sometimes,
> you have to bend the accepted practices to get very odd bunches of
> software to work together. So you work in an odd environment. The Gnu
> build system handles this very well. It gives you options to tweak
> anything. In comparison, Go is rigid, and becoming more rigid. It
> assumes too much sameness on development platforms.
> >
> > Why would pkg-config be incorrect? Who cares. I just want to be able
> to fix it, when I need to. And I need to.
> 
> Adding the file with the local configuration should work just as well
> when you need to adjust pkg-config results as it would for a package
> that does not use pkg-config.

No it doesn't. Unless I modify the original code, there is no way to switch off 
a failing call to pkg-config. I don't think modifying third-party package files 
is good idea.

> I'm sorry you have trouble with the go tool.  But to me it sounds like
> you were using binary packages as a hack to get around that trouble,
> not as a clean solution.  There are good reasons why binary packages
> do not work in general, as I outlined earlier.

I don't want to use binary packages. But at the moment, it's the only working 
solution that doesn't require modifying third-party package files.

> It sounds like you should be using a more flexible tool, such as make,
> rather than trying to force-fit your complex and unusual scenario into
> the go tool.

I don't need make. A simple script will do. Or rather, it should. I can install 
the packages, but I can't import them because Go is too limited to remember the 
necessary environment settings. Starting from Go 1.14 I can only fix it by 
modifying files that should not be modified.
Y

-- 
Peter Kleiweg
http://pkleiweg.home.xs4all.nl

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to