New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #20855 (new defect)

Opened 3 years ago

Last modified 18 months ago

orpie: won't link on build - patch included

Reported by: jcdenton513@… Owned by: snb@…
Priority: Normal Milestone:
Component: ports Version: 1.8.0
Keywords: haspatch Cc: macsforever2000@…, christopher.andrey@…, brett@…
Port: orpie

Description

This isn't the most elegant fix I'm sure, but it works and I've successfully linked and ran the application.

As far as I can see, it's looking for libmlgsl.a which is provided by the package ocamlgsl. The orpie source file has that library but it doesn't seem to link correctly. My solution while creating more dependencies, works very well. It'd require ocamlgsl and because it modifies configure.in, it'll need autoconf to build a new configure file.

Once the patch is applied, the program will compile and link and will be ready to install.

Attachments

orpie.patch.gz Download (0.7 KB) - added by jcdenton513@… 3 years ago.
Makefile.in.diff Download (0.5 KB) - added by snb@… 3 years ago.
orpie.patch Download (0.7 KB) - added by jcdenton513@… 3 years ago.
doesn't require autoconf

Change History

Changed 3 years ago by jcdenton513@…

Changed 3 years ago by jcdenton513@…

  • cc jcdenton513@… added

Cc Me!

Changed 3 years ago by ryandesign@…

  • owner changed from macports-tickets@… to snb@…

Assigning to maintainer for comment.

Changed 3 years ago by brett@…

tested here too, looks good

Changed 3 years ago by snb@…

Changed 3 years ago by snb@…

The patch I just attached, Makefile.in.diff, will force use of ocamlc instead of ocamlc.opt. I'm not sure why, but this also seems to fix the problem for me and doesn't require adding more dependencies or autoconf. Less dependencies seems nice, but I think my fix also isn't necessarily the most elegant :) Either my patch or the reporter's is fine by me to commit.

I should mention that I haven't been using MacPorts lately, so if someone else wants to be maintainer of this port, be my guest.

Changed 3 years ago by jcdenton513@…

doesn't require autoconf

Changed 3 years ago by jcdenton513@…

You're solution worked for me.

Concerning my solution, you could drop the modifying the configure file and just insert the variables directly to Makefile.in. The main reason I went the route I did was so if you ran ./configure it'd notice if libmlgsl.a was or wasn't avaliable. Being managed by a MacPorts, it would already know if the dependency was avaliable so checking with configure would be redundant and that step can be left out.

I attached another patch that'll do just that, getting rid of the autoconf requirement.

Whether you use my patch or the other I guess depends on if you want it to use an external library or the static library in orpie's source. The only advantage I can see with my way is if ocamlgsl is updated, orpie will benifit. Unless that upgrade breaks orpie. Both look like they're not actively maintained so it probably wouldn't matter either way. Can't be positive about ocamlgsl though.

Changed 3 years ago by macsforever2000@…

  • cc macsforever2000@… added

Cc Me!

Changed 2 years ago by christopher.andrey@…

  • cc christopher.andrey@… added

Cc Me!

Changed 19 months ago by jmr@…

  • cc jcdenton513@… removed
  • keywords haspatch added; orpie, link, build removed

Changed 18 months ago by jmr@…

  • cc brett@… added

So which of these patches should be committed? And are there any portfile changes needed beyond adding patchfiles? Brett, you seem to have figured this out in comment:3.

Changed 18 months ago by snb@…

As far as I can tell, jcdenton513's patches would require adding a dependency on ocamlgsl to the Portfile. My patch should not necessitate that as it should make orpie use its own version of ocamlgsl. Otherwise just adding patchfiles should be sufficient. It does not matter to me what patch is used, though, and I don't know if any of them actually still work (I don't have a macports installation around to test at the moment).

Note: See TracTickets for help on using tickets.